From: Christoph Lameter Avoid taking the request queue lock in wake_priority_sleeper if there are no running processes. Signed-off-by: Christoph Lameter Cc: Peter Williams Cc: Nick Piggin Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: "Chen, Kenneth W" Cc: Ingo Molnar Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton --- kernel/sched.c | 3 +++ 1 files changed, 3 insertions(+) diff -puN kernel/sched.c~sched-avoid-taking-rq-lock-in-wake_priority_sleeper kernel/sched.c --- a/kernel/sched.c~sched-avoid-taking-rq-lock-in-wake_priority_sleeper +++ a/kernel/sched.c @@ -2915,6 +2915,9 @@ static inline int wake_priority_sleeper( int ret = 0; #ifdef CONFIG_SCHED_SMT + if (!rq->nr_running) + return 0; + spin_lock(&rq->lock); /* * If an SMT sibling task has been put to sleep for priority _