Messages in this thread | | | Date | Tue, 7 Dec 1999 00:20:54 +0100 (CET) | From | Ingo Molnar <> | Subject | Re: [patch] Re: setitimer lowlatency-2.2.13-A1 questions |
| |
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/
| |