Messages in this thread | | | Subject | Re: BUG or not? GFP_KERNEL with interrupts disabled. | From | Trond Myklebust <> | Date | 27 Mar 2003 15:11:56 +0100 |
| |
>>>>> " " == David S Miller <davem@redhat.com> writes:
> From: shmulik.hen@intel.com Date: Thu, 27 Mar 2003 15:32:02 > +0200 (IST)
> Further more, holding a lock_irq doesn't mean bottom halves > are disabled too, it just means interrupts are disabled and > no *new* softirq can be queued. Consider the following > situation: > I think local_bh_enable() should check irqs_disabled() and > honour that. What you are showing here, that BH's can run via > local_bh_enable() even when IRQs are disabled, is a BUG().
> IRQ disabling is meant to be stronger than softint disabling.
In that case, you'll need to have things like spin_lock_irqrestore() call local_bh_enable() in order to run the pending softirqs. Is that worth the trouble?
Cheers, Trond - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |