Re: Race condition in 2.4 tasklet handling (cli() broken?)

From: Stephan von Krawczynski
Date: Sat Aug 23 2003 - 06:01:26 EST


On Sat, 23 Aug 2003 14:26:34 +0900
TeJun Huh <tejun@xxxxxxxxxxxxx> wrote:

> Oops, Sorry. Only bh handling is relevant. Softirq and tasklet are
> not of concern to cli().
>
> On Sat, Aug 23, 2003 at 01:09:31PM +0900, TeJun Huh wrote:
> > Additional suspicious things.
> >
> > 1. tasklet_kill() has similar race condition. mb() required before
> > tasklet_unlock_wait().
>
> Corrected 2.
> [...]
> If bh hanlding is not guaranteed to be blocked during cli() - sti()
> critical section, global_bh_lock test inside wait_on_irq() is
> redundant and if it should be guaranteed, current implmentation seems
> broken.

If we follow your analysis and say it is broken, do you have a suggestion/patch
how to fix both? I am willing to try your proposals, as it seems I am one of
very few who really experience stability issues on SMP with the current
implementation.

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