]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commit - include/linux/sched.h
sched: add sched_class->needs_post_schedule() member
authorGregory Haskins <ghaskins@novell.com>
Mon, 29 Dec 2008 14:39:52 +0000 (09:39 -0500)
committerGregory Haskins <ghaskins@novell.com>
Mon, 29 Dec 2008 14:39:52 +0000 (09:39 -0500)
commit967fc04671feea4dbf780c9e55a0bc8fcf68a14e
tree223f2bb8c59138cc70fbb0e438ae27819ebe1a92
parent8f45e2b516201d1bf681e6026fa5276385def565
sched: add sched_class->needs_post_schedule() member

We currently run class->post_schedule() outside of the rq->lock, which
means that we need to test for the need to post_schedule outside of
the lock to avoid a forced reacquistion.  This is currently not a problem
as we only look at rq->rt.overloaded.  However, we want to enhance this
going forward to look at more state to reduce the need to post_schedule to
a bare minimum set.  Therefore, we introduce a new member-func called
needs_post_schedule() which tests for the post_schedule condtion without
actually performing the work.  Therefore it is safe to call this
function before the rq->lock is released, because we are guaranteed not
to drop the lock at an intermediate point (such as what post_schedule()
may do).

We will use this later in the series

[ rostedt: removed paranoid BUG_ON ]

Signed-off-by: Gregory Haskins <ghaskins@novell.com>
include/linux/sched.h
kernel/sched.c
kernel/sched_rt.c