Re: timer_bh behaviour incorrect for 2.2.13?

Andrea Arcangeli (andrea@suse.de)
Thu, 9 Dec 1999 16:39:28 +0100 (CET)


On Thu, 9 Dec 1999, Ingo Molnar wrote:

>could you try making run_bottom_halves do something like this:
>
> while ((active = get_active_bhs()) {
> clear_active_bhs(active);
> ...
> }
>
>does this solve your problem?

That's the easy part and I just did it yesterday but I didn't posted it
because it's not enough. You have also to clear irqs while reading the
active_bhs and to take them cleared until you return from the irq (this in
UP and UP is the simple case).

In SMP you also need a spinlock in the middle of do_bottom_half().

I was doing the complete patch now.

Andrea

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