[Click] Multithreading bug.

Joonwoo Park joonwpark81 at gmail.com
Thu Sep 27 21:01:12 EDT 2007


Hi Beyers,

Absolutely, it's my mistake :-)

It should be
- netif_tx_lock_bh(_dev);
+ spin_lock_bh(&_dev->_xmit_lock);

Thanks.

2007/9/28, Beyers Cronje <bcronje at gmail.com>:
> Hi Joonwoo,
>
> Out of curiosity,
>
>
> > +inline void
> > +ToDevice::xmit_lock()
> > +{
> > +#if LINUX_VERSION_CODE >= 0x020400
> > +# if HAVE_NETIF_TX_LOCK
> > +    spin_lock_bh(&_dev->_xmit_lock);
> > +# else
> > +    local_bh_disable();
> > +    spin_lock(&_dev->xmit_lock);
> > +    _dev->xmit_lock_owner = smp_processor_id();
> > +# endif
> > +#endif
> > +}
>
> why aren't you using netif_tx_lock_bh in xmit_lock seeing that you use
> netif_tx_unlock_bh in xmit_unlock when HAVE_NETIF_TX_LOCK ?
>
>
> Beyers
>


More information about the click mailing list