sched: Make set_*_buddy() work on non-task entities
authorVenkatesh Pallipadi <venki@google.com>
Thu, 14 Apr 2011 01:21:09 +0000 (18:21 -0700)
committerIngo Molnar <mingo@elte.hu>
Tue, 19 Apr 2011 08:08:37 +0000 (10:08 +0200)
commit69c80f3e9d3c569f8a3cee94ba1a324b5a7fa6b9
treed802b0ade642dcad187384da9b5312d90e47ea45
parent6ddafdaab3f809b110ada253d2f2d4910ebd3ac5
sched: Make set_*_buddy() work on non-task entities

Make set_*_buddy() work on non-task sched_entity, to facilitate the
use of next_buddy to cache a group entity in cases where one of the
tasks within that entity sleeps or gets preempted.

set_skip_buddy() was incorrectly comparing the policy of task that is
yielding to be not equal to SCHED_IDLE. Yielding should happen even
when task yielding is SCHED_IDLE. This change removes the policy check
on the yielding task.

Signed-off-by: Venkatesh Pallipadi <venki@google.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1302744070-30079-2-git-send-email-venki@google.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_fair.c