Thread (4 messages) 4 messages, 3 authors, 2013-09-27

Re: fyi: scheduling while atomic dmesg output 3.12-rc1

From: Rafał Miłecki <zajec5@gmail.com>
Date: 2013-09-27 06:25:43

2013/9/18 Arend van Spriel [off-list ref]:
On 09/18/2013 03:57 PM, Hauke Mehrtens wrote:
quoted
On 09/18/2013 11:19 AM, Arend van Spriel wrote:
quoted
On 09/17/2013 07:45 PM, Joe Perches wrote:
quoted
<3>[   11.206312] BUG: scheduling while atomic:
NetworkManager/866/0x00000200

Thanks, Joe

I got a report on this few days ago. It was introduced by bcma API
change and I already sent email to the committer of that change, ie.
Hauke Mehrtens. Hope it will be settled soon how to fix this.

Gr. AvS

Hi,

I see four solutions for the problem:

1. convert the usleep_range(1000, 2000) into udelay(1000) in
drivers/bcma/driver_pci.c

2. remove the call of bcma_core_pci_power_save() from bcma_core_pci_up()
so that it does not get called by brcmsmac.

3. remove the call of bcma_core_pci_power_save() from bcma_core_pci_up()
and move the call to somewhere out of the big spin lock.

4. convert the big brmcsmac spin lock into a mutex lock and use an
additional spin lock for the parts where it is actually needed.

For 3.12 I am for solution 1 or 2 and for the long term 3.13? I am for
solution 4, but that needs bigger changes.

Agree. When looking into this I considered option 4 would be a bigger work,
but I agree we should aim for that in the long term. For the short term I
would say option 2 makes sense although I guess the power_save call is there
for a reason. So I will also look if option 3 is doable.
I'm OK with that (sorry, was on holidays for the last week).

-- 
Rafał
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help