Re: BUG or not? GFP_KERNEL with interrupts disabled.

From: Trond Myklebust (trond.myklebust@fys.uio.no)
Date: Thu Mar 27 2003 - 09:11:56 EST


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



This archive was generated by hypermail 2b29 : Mon Mar 31 2003 - 22:00:27 EST