Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-11-01 Thread David Miller
From: Ben Hutchings Date: Fri, 1 Nov 2013 23:34:50 + > As you've said, the ndo_start_xmit and NAPI poll operations are intended > to be called in softirq context, so everything that interlocks with them > will use spin_lock_bh(). Calling them from hardirq context obviously > opens the possib

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-11-01 Thread Ben Hutchings
On Fri, 2013-11-01 at 18:01 -0400, David Miller wrote: > From: Cong Wang > Date: Thu, 31 Oct 2013 21:19:16 -0700 > > > 2013年10月30日 下午9:26于 "David Miller" 写道: > >> > >> We have to provide a softint compatible environment for this callback > >> to run in else everything is completely broken. > >> >

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-11-01 Thread David Miller
From: Cong Wang Date: Thu, 31 Oct 2013 21:19:16 -0700 > 2013年10月30日 下午9:26于 "David Miller" 写道: >> >> We have to provide a softint compatible environment for this callback >> to run in else everything is completely broken. >> >> All these drivers can safely assume softirq safe locking is >> suffic

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-30 Thread David Miller
From: Cong Wang Date: Wed, 30 Oct 2013 15:01:12 -0700 > On Wed, Oct 30, 2013 at 2:32 PM, David Miller wrote: >> >> Explain to me then why other ethernet drivers implemented identically, >> such as tg3, can use plain dev_kfree_skb() just fine? > > I don't think they are fine, I just don't see bu

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-30 Thread Cong Wang
On Wed, Oct 30, 2013 at 2:32 PM, David Miller wrote: > > Explain to me then why other ethernet drivers implemented identically, > such as tg3, can use plain dev_kfree_skb() just fine? I don't think they are fine, I just don't see bug reports for them. At very least, I saw a same bug report for be

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-30 Thread David Miller
From: Cong Wang Date: Wed, 30 Oct 2013 12:23:52 -0700 > On Tue, Oct 29, 2013 at 11:40 PM, David Miller wrote: >> From: Cong Wang >> Date: Tue, 29 Oct 2013 20:50:08 -0700 >> >>> Normally ->poll() is called in softirq context, while netpoll could >>> be called in any context depending on its call

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-30 Thread Cong Wang
On Tue, Oct 29, 2013 at 11:40 PM, David Miller wrote: > From: Cong Wang > Date: Tue, 29 Oct 2013 20:50:08 -0700 > >> Normally ->poll() is called in softirq context, while netpoll could >> be called in any context depending on its caller. > > It still makes amends to make the execution context sti

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-29 Thread David Miller
From: Cong Wang Date: Tue, 29 Oct 2013 20:50:08 -0700 > Normally ->poll() is called in softirq context, while netpoll could > be called in any context depending on its caller. It still makes amends to make the execution context still looks "compatible" as far as locking et al. is concerned. -- T

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-29 Thread Cong Wang
On Tue, Oct 29, 2013 at 7:42 PM, David Miller wrote: > From: David Mackey > Date: Tue, 29 Oct 2013 15:16:38 -0700 > >> Using dev_kfree_skb_any() will resolve the below issue when a >> netconsole message is transmitted in an irq. > ... >> Signed-off-by: David Mackey > > This is absolutely not th

Re: [PATCH] bnx2: Use dev_kfree_skb_any() in bnx2_tx_int()

2013-10-29 Thread David Miller
From: David Mackey Date: Tue, 29 Oct 2013 15:16:38 -0700 > Using dev_kfree_skb_any() will resolve the below issue when a > netconsole message is transmitted in an irq. ... > Signed-off-by: David Mackey This is absolutely not the correct fix. The netpoll facility must invoke ->poll() in an env