public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [patch] O(1) scheduler, 2.4.17-A1, 2.5.2-pre7-A1.
@ 2002-01-04 17:05 Ingo Molnar
  2002-01-04 17:38 ` Andrey Nekrasov
  2002-01-05  3:41 ` Evgeniy Polyakov
  0 siblings, 2 replies; 9+ messages in thread
From: Ingo Molnar @ 2002-01-04 17:05 UTC (permalink / raw)
  To: linux-kernel; +Cc: Linus Torvalds, Alan Cox, Anton Blanchard


this is the next release of the O(1) scheduler:

	http://redhat.com/~mingo/O(1)-scheduler/sched-O1-2.5.2-A1.patch
	http://redhat.com/~mingo/O(1)-scheduler/sched-O1-2.4.17-A1.patch

this release includes fixes and small improvements. (The 2.5.2-A1 patch is
against the 2.5.2-pre7 kernel.) I cannot reproduce any more failures with
this patch, but i couldnt test the vfat lockup problem. The X lockup
problem never occured on any of my boxes, but it might be fixed by one of
the changes included in this patch nevertheless.

Changes:

 - idle process notification fixes. This fixes the idle=poll breakage
   reported by Anton Blanchard.

 - fix a bug in setscheduler() which crashed if a non-SCHED_OTHER task did
   a setscheduler() call. This fixes the crash reported by Randy Hron. The
   Linux Test Project's syscall tests do not cause a crash anymore.

 - do some more unlikely()/likely() tagging of branches along the hotpath,
   suggested by Jeff Garzik.

 - fix the compile failures in md.c and loop.c and other files, reported
   by many people.

 - fix the too-big-by-one error in the bitmat sizing define, noticed by
   Anton Blanchard.

 - fix a bug in rt_lock() + setscheduler() that had a potential for a
   spinlock lockup.

 - introduce the idle_tick() function, so that idle CPUs can do
   load-balancing as well.

 - do LINUX_VERSION_CODE checking in jffs2 (Jeff Garzik)

 - optimize the big-kernel-lock releasing/acquiring code some more. From
   now on it's absolutely illegal to schedule() from cli()-ed code. (not
   that it was legal.) This moves a few instructions off the scheduler
   hotpath.

 - move the ->need_resched setting into idle_init().

 - do not clear RT tasks in reparent_to_init(). There's nothing bad with
   running RT tasks in the background.

 - RT task's priority order was inverted, it should be 0-99, not 99-0.

 - make load-balancing a bit less eager when there are lots of processes
   running: it needs a ~10% imbalance in runqueue lengths to trigger a
   rebalance.

 - (there is a small hack in serial.c in the 2.5.2-pre7 patch, to make it
   compile.)

Comments, bug reports, suggestions are welcome,

	Ingo


^ permalink raw reply	[flat|nested] 9+ messages in thread
* Re: [announce] [patch] ultra-scalable O(1) SMP and UP scheduler
@ 2002-01-04 11:42 Ingo Molnar
  2002-01-04 22:44 ` [patch] O(1) scheduler, 2.4.17-A1, 2.5.2-pre7-A1 Dieter Nützel
  0 siblings, 1 reply; 9+ messages in thread
From: Ingo Molnar @ 2002-01-04 11:42 UTC (permalink / raw)
  To: Dieter Nützel; +Cc: Linux Kernel List


On Fri, 4 Jan 2002, Dieter [iso-8859-15] Nützel wrote:

> What next? Maybe a combination of O(1) and preempt?

yes, fast preemption of kernel-mode tasks and the scheduler code are
almost orthogonal. So i agree that to get the best interactive performance
we need both.

	Ingo

ps. i'm working on fixing the crashes you saw.


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2002-01-05 17:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-01-04 17:05 [patch] O(1) scheduler, 2.4.17-A1, 2.5.2-pre7-A1 Ingo Molnar
2002-01-04 17:38 ` Andrey Nekrasov
2002-01-04 19:56   ` Ingo Molnar
2002-01-04 20:19     ` Adrian Bunk
2002-01-04 22:28       ` Ingo Molnar
2002-01-04 21:45         ` Heinz Diehl
2002-01-05  3:41 ` Evgeniy Polyakov
  -- strict thread matches above, loose matches on Subject: below --
2002-01-04 11:42 [announce] [patch] ultra-scalable O(1) SMP and UP scheduler Ingo Molnar
2002-01-04 22:44 ` [patch] O(1) scheduler, 2.4.17-A1, 2.5.2-pre7-A1 Dieter Nützel
2002-01-05 17:12   ` Adrian Bunk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox