| To: | "David S. Miller" <davem@xxxxxxxxxx> |
|---|---|
| Subject: | Re: BUG or not? GFP_KERNEL with interrupts disabled. |
| From: | Trond Myklebust <trond.myklebust@xxxxxxxxxx> |
| Date: | 27 Mar 2003 15:11:56 +0100 |
| Cc: | shmulik.hen@xxxxxxxxx, 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: | <20030327.054357.17283294.davem@redhat.com> |
| References: | <E791C176A6139242A988ABA8B3D9B38A01085638@hasmsx403.iil.intel.com> <Pine.LNX.4.44.0303271406230.7106-100000@jrslxjul4.npdj.intel.com> <20030327.054357.17283294.davem@redhat.com> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Honest Recruiter) |
>>>>> " " == David S Miller <davem@xxxxxxxxxx> writes:
> 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.
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
|
| Previous by Date: | Re: BUG or not? GFP_KERNEL with interrupts disabled., David S. Miller |
|---|---|
| Next by Date: | Re: [Fwd: [E1000] NAPI re-insertion w/ changes], Jason Lunz |
| Previous by Thread: | Re: BUG or not? GFP_KERNEL with interrupts disabled., David S. Miller |
| Next by Thread: | Re: BUG or not? GFP_KERNEL with interrupts disabled., David S. Miller |
| Indexes: | [Date] [Thread] [Top] [All Lists] |