Re: BUG: scheduling while atomic: ifconfig/0x00000002/4170

From: Johannes Berg
Date: Thu Sep 06 2007 - 08:45:31 EST


On Thu, 2007-09-06 at 18:22 +0530, Satyam Sharma wrote:

> Unless I missed something obvious (let me know if that's the case! :-)
> an RCU-protected list would suffer the same fate. list_for_each_xxx_rcu()
> must be under rcu_read_lock() which == preempt_disable() ...

Right. But I'm thinking that since all list manipulations are done under
RTNL we only need to protect against removing things from the list while
the RX or TX path is using it, so only it would have to use it under
rcu_read_lock() [which it already takes due to key management] so we
could get rid of that sub_if_lock completely. There is one issue with
this I know about and that is the management skb queue but I'll have to
take a closer look.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part