[TIP/SCHED/DEVEL PATCH v3 0/6] sched: misc rt fixes

From: Gregory Haskins
Date: Thu Sep 04 2008 - 08:58:03 EST


Hi Ingo,

The following repositories

git://git.kernel.org/pub/scm/linux/kernel/git/ghaskins/linux-2.6-hacks.git tip/sched/devel/rtbalance

ftp://ftp.novell.com/dev/ghaskins/tip-rt-fixes.tar.bz2

[
*- Steve: I have also backported this to 2.6.26.3-rt5: *-

ftp://ftp.novell.com/dev/ghaskins/PREEMPT_RT-rt-fixes.tar.bz2
]

apply to tip/sched/devel to pick up the following fixes for the RT
scheduler.

[
Changelog:

v3:
*) fixed a bug in patch 6/6 in enqueue_pushable_task
*) backported from tip to 26.3-rt5

v2:
*) predicated newidle and double_lock changes on
CONFIG_PREEMPT to address a concern by Nick Piggin

*) fixed a build issue when DEBUG_PI_LIST is defined

v1:
*) initial release
]


These patches were developed in the interest of shorting latencies in
PREEMPT_RT, but they apply to the mainline scheduler as well, so I am
offering them here as well.

This has been tested under both 26.3-rt5 and tip/sched/devel on x86_64 for
both CONFIG_SMP and !CONFIG_SMP.

Comments/bug-fixes welcome!

Regards,
-Greg


---

Gregory Haskins (6):
sched: create "pushable_tasks" list to limit pushing to one attempt
plist: fix PLIST_NODE_INIT to work with debug enabled
sched: add sched_class->needs_post_schedule() member
sched: make double-lock-balance fair
sched: pull only one task during NEWIDLE balancing to limit critical section
sched: only try to push a task on wakeup if it is migratable


include/linux/init_task.h | 1
include/linux/plist.h | 9 ++-
include/linux/sched.h | 2 +
kernel/sched.c | 84 ++++++++++++++++++++++++---
kernel/sched_rt.c | 138 ++++++++++++++++++++++++++++++++++++++-------
5 files changed, 201 insertions(+), 33 deletions(-)



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/