Re: [patch] Re: setitimer lowlatency-2.2.13-A1 questions

Ingo Molnar (mingo@chiara.csoma.elte.hu)
Tue, 7 Dec 1999 00:20:54 +0100 (CET)


On Mon, 6 Dec 1999, Andrea Arcangeli wrote:

> >[..] we should do a BUG() if enable_bh() is called
> >with IRQs disabled - this will sort out the problems and solves the
> >latency issue as well.
>
> Only BUG() won't help the latency. And it seems not a problem.

sure the BUG() means the code has to be fixed to call enable_bh() without
IRQs held. This means we can unconditionally call run_bottom_halves() in
enable_bh().

> Why do you want to forbid people to enable_bh with irq disabled?
> there's nothing bad in doing so. You must _not_ run the bh handlers if
> you can't reenable irqs, but you _can_ reenable the bhs (for example
> for other cpus) even if you have irq disabled.

my idea was to change semantics. The issue is subtle: otherwise we'd have
to put a check into __sti() and __restore_flags() to run
run_bottom_halves() - which clearly is too much overhead. enable_bh()
is/should only be used by system call context anyway, so it should not be
a problem to call enable_bh() with irqs enabled. [maybe an additional
enable_bh_sti() call could be added, to 'merge' the two sti's]

-- mingo

-
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/