[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