netdev
[Top] [All Lists]

Re: BUG or not? GFP_KERNEL with interrupts disabled.

To: shmulik.hen@xxxxxxxxx
Subject: Re: BUG or not? GFP_KERNEL with interrupts disabled.
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Thu, 27 Mar 2003 05:43:57 -0800 (PST)
Cc: dane@xxxxxxxxxx, bonding-devel@xxxxxxxxxxxxxxxxxxxxx, bonding-announce@xxxxxxxxxxxxxxxxxxxxx, netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-net@xxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, kuznet@xxxxxxxxxxxxx
In-reply-to: <Pine.LNX.4.44.0303271406230.7106-100000@jrslxjul4.npdj.intel.com>
References: <E791C176A6139242A988ABA8B3D9B38A01085638@hasmsx403.iil.intel.com> <Pine.LNX.4.44.0303271406230.7106-100000@jrslxjul4.npdj.intel.com>
Sender: netdev-bounce@xxxxxxxxxxx
   From: shmulik.hen@xxxxxxxxx
   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.

Ingo/Linus?

<Prev in Thread] Current Thread [Next in Thread>