Commit 34ec35ad authored by Davidlohr Bueso's avatar Davidlohr Bueso Committed by Linus Torvalds

kernel/sched/: remove caller signal_pending branch predictions

This is already done for us internally by the signal machinery.

Link: http://lkml.kernel.org/r/20181116002713.8474-3-dave@stgolabs.netSigned-off-by: default avatarDavidlohr Bueso <dave@stgolabs.net>
Reviewed-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 3bb5f4ac
...@@ -3416,7 +3416,7 @@ static void __sched notrace __schedule(bool preempt) ...@@ -3416,7 +3416,7 @@ static void __sched notrace __schedule(bool preempt)
switch_count = &prev->nivcsw; switch_count = &prev->nivcsw;
if (!preempt && prev->state) { if (!preempt && prev->state) {
if (unlikely(signal_pending_state(prev->state, prev))) { if (signal_pending_state(prev->state, prev)) {
prev->state = TASK_RUNNING; prev->state = TASK_RUNNING;
} else { } else {
deactivate_task(rq, prev, DEQUEUE_SLEEP | DEQUEUE_NOCLOCK); deactivate_task(rq, prev, DEQUEUE_SLEEP | DEQUEUE_NOCLOCK);
......
...@@ -93,7 +93,7 @@ long prepare_to_swait_event(struct swait_queue_head *q, struct swait_queue *wait ...@@ -93,7 +93,7 @@ long prepare_to_swait_event(struct swait_queue_head *q, struct swait_queue *wait
long ret = 0; long ret = 0;
raw_spin_lock_irqsave(&q->lock, flags); raw_spin_lock_irqsave(&q->lock, flags);
if (unlikely(signal_pending_state(state, current))) { if (signal_pending_state(state, current)) {
/* /*
* See prepare_to_wait_event(). TL;DR, subsequent swake_up_one() * See prepare_to_wait_event(). TL;DR, subsequent swake_up_one()
* must not see us. * must not see us.
......
...@@ -264,7 +264,7 @@ long prepare_to_wait_event(struct wait_queue_head *wq_head, struct wait_queue_en ...@@ -264,7 +264,7 @@ long prepare_to_wait_event(struct wait_queue_head *wq_head, struct wait_queue_en
long ret = 0; long ret = 0;
spin_lock_irqsave(&wq_head->lock, flags); spin_lock_irqsave(&wq_head->lock, flags);
if (unlikely(signal_pending_state(state, current))) { if (signal_pending_state(state, current)) {
/* /*
* Exclusive waiter must not fail if it was selected by wakeup, * Exclusive waiter must not fail if it was selected by wakeup,
* it should "consume" the condition we were waiting for. * it should "consume" the condition we were waiting for.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment