Re: softirqs are invoked while bottom halves are masked
From: Thomas De Schampheleire <hidden>
Date: 2011-07-13 07:20:51
Also in:
linuxppc-dev
On Tue, Jul 12, 2011 at 2:13 PM, David Miller [off-list ref] wrote:
From: David Miller <davem@davemloft.net> Date: Tue, 12 Jul 2011 05:08:17 -0700 (PDT)quoted
From: Ronny Meeus <redacted> Date: Tue, 12 Jul 2011 14:03:04 +0200quoted
but we still see the issue "BUG: sleeping function called from invalid context": [ 91.015989] BUG: sleeping function called from invalid context at include/linux/skbuff.h:786 [ 91.117096] in_atomic(): 1, irqs_disabled(): 0, pid: 1865, name: NMTX_T1842 [ 91.200461] Call Trace: [ 91.229672] [ec58bbd0] [c000789c] show_stack+0x78/0x18c (unreliable) [ 91.305791] [ec58bc10] [c0022900] __might_sleep+0x100/0x118 [ 91.372524] [ec58bc20] [c029f8d8] dpa_tx+0x128/0x758Because this dpa driver's transmit method is doing something else that is not allowed in software interrupt context. You must remove all things that might sleep in this driver's ->ndo_start_xmit method, and I do mean everything.Also this whole HW QOS feature bit facility is beyond bogus. What if the user enables a qdisc that the hardware can't handle, or a configuration of a hw supported qdisc that the hardware can't support? What if I have packet classification and packet actions enabled in the packet scheduler? These changes are terrible, and we really need you guys to sort out your problems with these changes yoursleves because your wounds are entirely self-inflicted and totally not our problem.
Of course, you make very valid points. I just want to mention that, although you seem to think that we shouldn't have created this thread in the first place, your and Eric's remarks have actually helped us in identifying the problem and increasing our understanding. So, thanks for that. Thomas