On 4/16/2019 9:44 AM, Herbert Xu wrote:
On Sun, Apr 14, 2019 at 11:44:17AM +0200, 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 */
The most obvious problem with LLTX is that it can cause AF_PACKET
to see packets twice. But the more subtle issue is that with a
proper design this lock should have no contention anyway.
So please explain why you want to use this in your driver and where
the contention is coming from?
Hi Herbert,
I was just writing up an email clarifying my question. But let me
summarize this email thread. The patch from Felix adds this flag in
mac80211 for drivers that indicate to support pulling packets from the
internal TXQ in mac80211. I found it is deprecated, but as Felix
mentioned it is used in various parts of the network subsystem, ie.
batman-adv, bridge, vlan, tunnel implementations. So its use seems to be
restricted rather than deprecated. Given your response above I guess my
question would be to get details about what you call "proper design" as
I think you are saying with that it is not needed, right?
Regards,
Arend