sched: use highest_prio.next to optimize pull operations
authorGregory Haskins <ghaskins@novell.com>
Mon, 29 Dec 2008 14:39:50 +0000 (09:39 -0500)
committerGregory Haskins <ghaskins@novell.com>
Mon, 29 Dec 2008 14:39:50 +0000 (09:39 -0500)
commit74ab8e4f6412c0b2d730fe5de28dc21de8b92c01
treec1bce6a8e23fa58677de23989fa81bc1fcfc0118
parenta8728944efe23417e38bf22063f06d9d8ee21d59
sched: use highest_prio.next to optimize pull operations

We currently take the rq->lock for every cpu in an overload state during
pull_rt_tasks().  However, we now have enough information via the
highest_prio.[curr|next] fields to determine if there is any tasks of
interest to warrant the overhead of the rq->lock, before we actually take
it.  So we use this information to reduce lock contention during the
pull for the case where the source-rq doesnt have tasks that preempt
the current task.

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