Messages in this thread | | | Date | Thu, 10 Jan 2002 12:11:33 -0800 | From | george anzinger <> | Subject | Re: [patch] O(1) scheduler, -G1, 2.5.2-pre10, 2.4.17 (fwd) |
| |
Linus Torvalds wrote: > > On Thu, 10 Jan 2002, Ingo Molnar wrote: > > > > First it cleans up the load balancer's interaction with the timer tick. > > There are now two functions called from the timer tick: busy_cpu_tick() > > and idle_cpu_tick(). It's completely up to the scheduler to use them > > appropriately. > > This is _wrong_. The timer doesn't even know whether something is an idle > task or not. > > Proof: kapmd (right now the scheduler doesn't know this either, but at > least we could teach it to know). > > Don't try to make the timer code know stuff that the timer code should not > and does not know about. Just call the scheduler on each tick, and let the > scheduler make its decision. > > Linus
Currently this code is called from the interrupt code in timer. At this time the xtime(write) lock is held and interrupts are off.
It could also be called from the "bh" section of timer.c at which time the interrupts are on and the xtime lock is not held.
In either case, the state of the interrupt system is known and the the irq_save version of the spin lock need not be used. (Hay a cycle is a cycle.)
But more to the point, could the call(s) be made from the "bh" section and thus inprove interrupt latency, not to mention xtime lock contention.
Also, if a 250ms tick is needed, you might consider a timer (which is also called from the "bh" code). -- George george@mvista.com High-res-timers: http://sourceforge.net/projects/high-res-timers/ Real time sched: http://sourceforge.net/projects/rtsched/ - 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/
| |