On 2019-04-14 11:44, Arend Van Spriel wrote: > + Herbert > > On 3/16/2019 7:14 PM, Toke Høiland-Jørgensen wrote: >> Felix Fietkau <nbd@xxxxxxxx> writes: >> >>> When using iTXQ, tx sequence number allocation and statistics are run at >>> dequeue time. Because of that, it is safe to enable NETIF_F_LLTX, which >>> allows tx handlers to run on multiple CPUs in parallel. >> >> Cool, didn't know about that flag. > > It is water under the bridge as this patch got applied already, but I > stumbled upon it just recently and didn't know about that flag either. > So I looked for more information about it and found the definition [1], > but the comment seemed important enough to send this reply. > > NETIF_F_LLTX_BIT, /* LockLess TX - deprecated. Please */ > /* do not use LLTX in new drivers */ > > Here is the commit that marked it deprecated: > > commit e24eb521fbf2a350ce879dfc1d8e56d4ffa2aa22 > Author: Christian Borntraeger <borntraeger@xxxxxxxxxx> > Date: Tue Sep 25 19:42:02 2007 -0700 > > [NET]: note that NETIF_F_LLTX is deprecated > > So I am not sure we should really do this in mac80211. Maybe Herbert can > comment although it has been over a decade ago. There is a lot of comparable code that also uses this flag, e.g. batman-adv, bridge, vlan, various tunnel implementations. I think mac80211 fits well with those kinds of use cases. If I remember correctly, the deprecation was added to avoid quirky custom locking schemes in ethernet drivers. - Felix