Remove the nr_exclusive argument from __wake_up_sync_key()
Remove the nr_exclusive argument from __wake_up_sync_key() and derived functions as everything seems to set it to 1. Note also that if it wasn't set to 1, it would clear WF_SYNC anyway. Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
This commit is contained in:
+1
-1
@@ -1435,7 +1435,7 @@ static int child_wait_callback(wait_queue_entry_t *wait, unsigned mode,
|
||||
void __wake_up_parent(struct task_struct *p, struct task_struct *parent)
|
||||
{
|
||||
__wake_up_sync_key(&parent->signal->wait_chldexit,
|
||||
TASK_INTERRUPTIBLE, 1, p);
|
||||
TASK_INTERRUPTIBLE, p);
|
||||
}
|
||||
|
||||
static long do_wait(struct wait_opts *wo)
|
||||
|
||||
+4
-10
@@ -169,7 +169,6 @@ EXPORT_SYMBOL_GPL(__wake_up_locked_key_bookmark);
|
||||
* __wake_up_sync_key - wake up threads blocked on a waitqueue.
|
||||
* @wq_head: the waitqueue
|
||||
* @mode: which threads
|
||||
* @nr_exclusive: how many wake-one or wake-many threads to wake up
|
||||
* @key: opaque value to be passed to wakeup targets
|
||||
*
|
||||
* The sync wakeup differs that the waker knows that it will schedule
|
||||
@@ -183,26 +182,21 @@ EXPORT_SYMBOL_GPL(__wake_up_locked_key_bookmark);
|
||||
* accessing the task state.
|
||||
*/
|
||||
void __wake_up_sync_key(struct wait_queue_head *wq_head, unsigned int mode,
|
||||
int nr_exclusive, void *key)
|
||||
void *key)
|
||||
{
|
||||
int wake_flags = 1; /* XXX WF_SYNC */
|
||||
|
||||
if (unlikely(!wq_head))
|
||||
return;
|
||||
|
||||
if (unlikely(nr_exclusive != 1))
|
||||
wake_flags = 0;
|
||||
|
||||
__wake_up_common_lock(wq_head, mode, nr_exclusive, wake_flags, key);
|
||||
__wake_up_common_lock(wq_head, mode, 1, WF_SYNC, key);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__wake_up_sync_key);
|
||||
|
||||
/*
|
||||
* __wake_up_sync - see __wake_up_sync_key()
|
||||
*/
|
||||
void __wake_up_sync(struct wait_queue_head *wq_head, unsigned int mode, int nr_exclusive)
|
||||
void __wake_up_sync(struct wait_queue_head *wq_head, unsigned int mode)
|
||||
{
|
||||
__wake_up_sync_key(wq_head, mode, nr_exclusive, NULL);
|
||||
__wake_up_sync_key(wq_head, mode, NULL);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__wake_up_sync); /* For internal use only */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user