[LWN Logo]
[LWN.net]
From:	 Robert Love <rml@tech9.net>
To:	 linux-kernel@vger.kernel.org
Subject: [PATCH] updated 2.4 O(1) scheduler patches
Date:	 22 Apr 2002 14:48:02 -0400

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

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