Re: Kernel WARNING: at net/core/dev.c:1330 __netif_schedule+0x2c/0x98()

Jarek Poplawski
2008-07-27T20:38:20Z

On Sat, Jul 26, 2008 at 05:34:34PM -0700, David Miller wrote:
> From: Jarek Poplawski <jarkao2@gmail.com>
> Date: Sat, 26 Jul 2008 15:18:38 +0200
>
> > I guess some additional synchronization will be added yet to prevent
> > parallel freeze and especially unfreeze.
>
> Yes, that could be a problem. Using test_and_set_bit() can
> guard the freezing sequence itself, but it won't handle
> letting two threads of control freeze and unfreeze safely
> without a reference count.
>
> We want this thing to be able to be used flexbly, which means
> we can't just assume that this is a short code sequence and
> the unfreeze will come quickly. That pretty much rules
> out using a new lock around the operation or anything
> like that.
>
> So I guess we could replace the state bit with a reference
> count. It doesn't even need to be atomic since it is set
> and tested under dev_queue->_xmit_lock

Looks like enough to me. (Probably it could even share space with
the state.)

Jarek P.