Re: [PATCH] Replace timer_bh with tasklet

george anzinger
2002-06-18T18:20:23Z

kuznet@ms2.inr.ac.ru wrote:
>
> Hello!
>
> > This patch replaces the timer_bh with a tasklet.
>
> But this is impossible, timers must not race with another BHs,
> all the code using BHs depends on this. That's why they are BHs.

If indeed they do "race" the old code had the timer_bh being first.
So does this patch.
>
> Also, looping for timers seems to be pure pathalogy.
> It can be raised only if you looped in softirq for a jiffie,
> in this case waking ksoftirqd is not unusual.

This is one of the most hard to control paths in the system as ALL it
does is execute functions that are unknown as to size, duration, etc.
One would hope that they never run for long, but...

>
> I feel your goal is high res timers, right? You can do them separately
> to avoid conflicts with classic timers.

Not really. One REALLY expects timers to expire in timed order :) Using
a separate procedure to deliver a timer just because it is of a different
resolution opens one up to a world of pathology.
>
> Alexey

--
George Anzinger george@mvista.com
High-res-timers: http://sourceforge.net/projects/high-res-timers/
Real time sched: http://sourceforge.net/projects/rtsched/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml