All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arend Van Spriel <arend.vanspriel@broadcom.com>
To: linux-wireless@vger.kernel.org, johannes@sipsolutions.net,
	Herbert Xu <herbert@gondor.apana.org.au>
Cc: "Felix Fietkau" <nbd@nbd.name>,
	"Toke Høiland-Jørgensen" <toke@redhat.com>
Subject: Re: [PATCH 5/5] mac80211: set NETIF_F_LLTX when using intermediate tx queues
Date: Tue, 16 Apr 2019 09:34:01 +0200	[thread overview]
Message-ID: <2e440cc1-d085-ff35-819c-d639cda3d894@broadcom.com> (raw)
In-Reply-To: <16a1bd77c20.2764.9b12b7fc0a3841636cfb5e919b41b954@broadcom.com>

On 4/14/2019 2:34 PM, Arend Van Spriel wrote:
> On April 14, 2019 1:19:49 PM Felix Fietkau <nbd@nbd.name> wrote:
> 
>> 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@nbd.name> 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@de.ibm.com>
>>> 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.
> 
> Ok. As said I was not sure so I can/will not argue.
> 
>> If I remember correctly, the deprecation was added to avoid quirky
>> custom locking schemes in ethernet drivers.
> 
> What do you mean by "quirky custom locking schemes"? You mean that TX 
> path would use driver data that should actually be accessed under some 
> lock?
> 
> When seeing the deprecated comment I wanted to know the why and was 
> hoping the commit message would divulge. It just mentions it is not 
> needed. So now I am curious as to why it wouldn't be needed especially 
> as you say there are (valid) use-cases in the kernel today.

Getting back to this in an attempt to clarify my question. So from what 
Felix is saying the NETIF_F_LLTX flag is not deprecated, but restricted. 
What I would like to know is what exactly is required from a driver to 
allow the use of this flag.

Regards,
Arend

  reply	other threads:[~2019-04-16  7:34 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-16 17:06 [PATCH 1/5] mac80211: mesh: drop redundant rcu_read_lock/unlock calls Felix Fietkau
2019-03-16 17:06 ` [PATCH 2/5] mac80211: fix memory accounting with A-MSDU aggregation Felix Fietkau
2019-03-16 18:12   ` Toke Høiland-Jørgensen
2019-03-16 17:06 ` [PATCH 3/5] mac80211: calculate hash for fq without holding fq->lock in itxq enqueue Felix Fietkau
2019-03-16 18:13   ` Toke Høiland-Jørgensen
2019-03-16 17:06 ` [PATCH 4/5] mac80211: run late dequeue late tx handlers without holding fq->lock Felix Fietkau
2019-03-16 18:13   ` Toke Høiland-Jørgensen
2022-12-05  9:46   ` Wen Gong
2022-12-05  9:46     ` Wen Gong
2022-12-07  6:30     ` Wen Gong
2022-12-07  6:30       ` Wen Gong
2022-12-12  8:31       ` Wen Gong
2022-12-12  8:31         ` Wen Gong
2019-03-16 17:06 ` [PATCH 5/5] mac80211: set NETIF_F_LLTX when using intermediate tx queues Felix Fietkau
2019-03-16 18:14   ` Toke Høiland-Jørgensen
2019-04-14  9:44     ` Arend Van Spriel
2019-04-14 11:19       ` Felix Fietkau
2019-04-14 12:34         ` Arend Van Spriel
2019-04-16  7:34           ` Arend Van Spriel [this message]
2019-04-16  7:44       ` Herbert Xu
2019-04-16  8:04         ` Arend Van Spriel
2019-04-16  8:36           ` Herbert Xu
2019-04-16  8:37             ` Johannes Berg
2019-04-16  9:17               ` Arend Van Spriel
2019-04-16  9:29                 ` Herbert Xu
2019-04-16  9:33               ` Toke Høiland-Jørgensen
2019-04-16  9:33                 ` Johannes Berg
2019-04-16  9:37                   ` Herbert Xu
2019-04-16  9:39                     ` Johannes Berg
2019-04-16 10:02                       ` Toke Høiland-Jørgensen
2019-04-17  2:11                         ` Herbert Xu
2019-04-17  8:28                           ` Toke Høiland-Jørgensen
2019-04-16 13:13                       ` Herbert Xu
2019-04-16 13:18                         ` Toke Høiland-Jørgensen
2019-04-17  3:38                           ` Herbert Xu
2019-04-17  9:09                             ` Toke Høiland-Jørgensen
2019-04-17  9:16                               ` Arend Van Spriel
2019-04-17  9:17                             ` Toke Høiland-Jørgensen
2019-04-23 12:41                               ` Johannes Berg
2019-04-25  8:35                                 ` Herbert Xu
2019-04-25  8:39                                   ` Johannes Berg
2019-04-25  8:44                                     ` Herbert Xu
2019-04-25  8:49                                       ` Johannes Berg
2019-04-16 19:13                         ` Johannes Berg
2019-04-17  2:13                           ` Herbert Xu
2019-04-16  9:38                   ` Toke Høiland-Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2e440cc1-d085-ff35-819c-d639cda3d894@broadcom.com \
    --to=arend.vanspriel@broadcom.com \
    --cc=herbert@gondor.apana.org.au \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=nbd@nbd.name \
    --cc=toke@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.