Search Linux Wireless

Re: [PATCH 5/5] mac80211: set NETIF_F_LLTX when using intermediate tx queues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux