updated 2.4 O(1) scheduler patches
PATCH 1/1 updated 2.4 O(1) scheduler patches
An updated version of Ingo Molnar's multiqueue O(1) scheduler is available at:
http://www.kernel.org/pub/linux/kernel/people/rml/sched
for kernels 2.4.18 and 2.4.19-pre7.
This patch has the following changes over Ingo's -K3 release and what is in Alan's -ac tree:
- remove wake_up_sync and friends, we don't need them now
- abstract away access to need_resched
- load_balance optimizations and cleanup
- fix scheduler deadlock on some platforms
- sched_yield optimizations and cleanup
- better use of MAX_RT_PRIO define instead of magic numbers
- misc. code cleanups
- misc. fixes and optimizations
and most importantly:
- backport the migration_thread and associated code to 2.4
and also the following changes since my initial patch:
- include linux/interrupt.h in sched.c
- use yield() where needed
The migration_thread code allows arch-independent `pushing' of tasks from one CPU to another. This allows the implementation of a reliable set_cpus_allowed method for use in the kernel as well as things like task cpu affinity interfaces.
The migration_thread code used in this patch is actually newer than what is in 2.5.8 - it contains the interrupt-off fix pointed out by Erich Focht and William Lee Irwin's new migration_init code.
This is not suggested for inclusion in mainline 2.4. 2.4 != 2.5.
Enjoy,
Robert Love