On Mon, 2011-06-20 at 20:00 +0530, Yogesh Ashok Powar wrote: > On Fri, Jun 17, 2011 at 10:24:45AM -0700, Johannes Berg wrote: > > > Using spinlocks in TX/RX path is not allowed because spinlocks will make > > > TX/RX path to block and its illegal to block while in an RCU read-side > > > critical section. I think, I got the joke here :(. > > > > No, that'd be allowed, but you can't spinlock all the TX path because of performance. > > > > I think the way to solve it would be to use synchronize_net() somehow maybe; not really sure. > > Following patch avoids tailroom skip check for RCU readside > critical sections that begin inside the synchronize_rcu's grace > period, without grabbing any lock in the TX patch and there by avoiding > the race conditions. > > I will request Andreas to test this patch on his testbed if the changes > are fine with you. No, they're not, the mutex trickery seems completely pointless, and the conditional (on _is_locked no less) locking is horrible. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html