Add down_timeout and change ACPI to use it
ACPI currently emulates a timeout for semaphores with calls to down_trylock and sleep. This produces horrible behaviour in terms of fairness and excessive wakeups. Now that we have a unified semaphore implementation, adding a real down_trylock is almost trivial. Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
This commit is contained in:

committed by
Matthew Wilcox

parent
f06d968658
commit
f1241c87a1
@@ -74,6 +74,12 @@ extern int __must_check down_killable(struct semaphore *sem);
|
||||
*/
|
||||
extern int __must_check down_trylock(struct semaphore *sem);
|
||||
|
||||
/*
|
||||
* As down(), except this function will return -ETIME if it fails to
|
||||
* acquire the semaphore within the specified number of jiffies.
|
||||
*/
|
||||
extern int __must_check down_timeout(struct semaphore *sem, long jiffies);
|
||||
|
||||
/*
|
||||
* Release the semaphore. Unlike mutexes, up() may be called from any
|
||||
* context and even by tasks which have never called down().
|
||||
|
Reference in New Issue
Block a user