From: Stanislav Fomichev <stfomichev@gmail.com>
To: "Loktionov, Aleksandr" <aleksandr.loktionov@intel.com>
Cc: Stanislav Fomichev <sdf@fomichev.me>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"horms@kernel.org" <horms@kernel.org>,
"corbet@lwn.net" <corbet@lwn.net>,
"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>,
"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
"michael.chan@broadcom.com" <michael.chan@broadcom.com>,
"pavan.chebbi@broadcom.com" <pavan.chebbi@broadcom.com>,
"Nguyen, Anthony L" <anthony.l.nguyen@intel.com>,
"Kitszel, Przemyslaw" <przemyslaw.kitszel@intel.com>,
"saeedm@nvidia.com" <saeedm@nvidia.com>,
"tariqt@nvidia.com" <tariqt@nvidia.com>,
"mbloch@nvidia.com" <mbloch@nvidia.com>,
"alexanderduyck@fb.com" <alexanderduyck@fb.com>,
"kernel-team@meta.com" <kernel-team@meta.com>,
"johannes@sipsolutions.net" <johannes@sipsolutions.net>,
"sd@queasysnail.net" <sd@queasysnail.net>,
"jianbol@nvidia.com" <jianbol@nvidia.com>,
"dtatulea@nvidia.com" <dtatulea@nvidia.com>,
"mohsin.bashr@gmail.com" <mohsin.bashr@gmail.com>,
"Keller, Jacob E" <jacob.e.keller@intel.com>,
"willemb@google.com" <willemb@google.com>,
"skhawaja@google.com" <skhawaja@google.com>,
"bestswngs@gmail.com" <bestswngs@gmail.com>,
"kees@kernel.org" <kees@kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"intel-wired-lan@lists.osuosl.org"
<intel-wired-lan@lists.osuosl.org>,
"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
"leon@kernel.org" <leon@kernel.org>
Subject: Re: [Intel-wired-lan] [PATCH net-next v3 04/13] net: move promiscuity handling into dev_rx_mode_work
Date: Fri, 20 Mar 2026 08:41:10 -0700 [thread overview]
Message-ID: <ab1qllbwt2zCnQhI@mini-arch> (raw)
In-Reply-To: <IA3PR11MB89866C27B28AE7D7D807F37EE54CA@IA3PR11MB8986.namprd11.prod.outlook.com>
On 03/20, Loktionov, Aleksandr wrote:
>
>
> > -----Original Message-----
> > From: Stanislav Fomichev <sdf@fomichev.me>
> > Sent: Friday, March 20, 2026 2:25 AM
> > To: netdev@vger.kernel.org
> > Cc: davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> > pabeni@redhat.com; horms@kernel.org; corbet@lwn.net;
> > skhan@linuxfoundation.org; andrew+netdev@lunn.ch;
> > michael.chan@broadcom.com; pavan.chebbi@broadcom.com; Nguyen, Anthony
> > L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> > <przemyslaw.kitszel@intel.com>; saeedm@nvidia.com; tariqt@nvidia.com;
> > mbloch@nvidia.com; alexanderduyck@fb.com; kernel-team@meta.com;
> > johannes@sipsolutions.net; sd@queasysnail.net; jianbol@nvidia.com;
> > dtatulea@nvidia.com; sdf@fomichev.me; mohsin.bashr@gmail.com; Keller,
> > Jacob E <jacob.e.keller@intel.com>; willemb@google.com;
> > skhawaja@google.com; bestswngs@gmail.com; Loktionov, Aleksandr
> > <aleksandr.loktionov@intel.com>; kees@kernel.org; linux-
> > doc@vger.kernel.org; linux-kernel@vger.kernel.org; intel-wired-
> > lan@lists.osuosl.org; linux-rdma@vger.kernel.org; linux-
> > wireless@vger.kernel.org; linux-kselftest@vger.kernel.org;
> > leon@kernel.org
> > Subject: [PATCH net-next v3 04/13] net: move promiscuity handling into
> > dev_rx_mode_work
> >
> > Move unicast promiscuity tracking into dev_rx_mode_work so it runs
> > under netdev_ops_lock instead of under the addr_lock spinlock. This is
> > required because __dev_set_promiscuity calls dev_change_rx_flags and
> > __dev_notify_flags, both of which may need to sleep.
> >
> > Change ASSERT_RTNL() to netdev_ops_assert_locked() in
> > __dev_set_promiscuity, netif_set_allmulti and __dev_change_flags since
> > these are now called from the work queue under the ops lock.
> >
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> > Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
> > ---
> > Documentation/networking/netdevices.rst | 4 ++
> > net/core/dev.c | 79 +++++++++++++++++-------
> > -
> > 2 files changed, 57 insertions(+), 26 deletions(-)
> >
> > diff --git a/Documentation/networking/netdevices.rst
> > b/Documentation/networking/netdevices.rst
> > index dc83d78d3b27..5cdaa1a3dcc8 100644
> > --- a/Documentation/networking/netdevices.rst
> > +++ b/Documentation/networking/netdevices.rst
> > @@ -298,6 +298,10 @@ struct net_device synchronization rules
> > Notes: Sleepable version of ndo_set_rx_mode. Receives snapshots
> > of the unicast and multicast address lists.
> >
> > +ndo_change_rx_flags:
> > + Synchronization: rtnl_lock() semaphore. In addition, netdev
> > instance
> > + lock if the driver implements queue management or shaper API.
> > +
> > ndo_setup_tc:
> > ``TC_SETUP_BLOCK`` and ``TC_SETUP_FT`` are running under NFT
> > locks
> > (i.e. no ``rtnl_lock`` and no device instance lock). The rest
> > of diff --git a/net/core/dev.c b/net/core/dev.c index
> > fedc423306fc..fc5c9b14faa0 100644
> > --- a/net/core/dev.c
> > +++ b/net/core/dev.c
> > @@ -9574,7 +9574,7 @@ static int __dev_set_promiscuity(struct
> > net_device *dev, int inc, bool notify)
> > kuid_t uid;
> > kgid_t gid;
> >
> > - ASSERT_RTNL();
> > + netdev_ops_assert_locked(dev);
> Can you explain why do you add new hard precondition of ops lock must be held?
The context is that in f792709e0baa ("selftests: net: validate team flags
propagation") I had to add locking around NETDEV_CHANGE notifiers and
add that ugly `if (notify) netdev_ops_assert_locked` check. After this
patch I believe we are consistently calling __dev_set_promiscuity
with the ops lock (for ops locked netdev), so we can cleanup this enforcement
part.
> > promiscuity = dev->promiscuity + inc;
> > if (promiscuity == 0) {
> > @@ -9610,16 +9610,8 @@ static int __dev_set_promiscuity(struct
> > net_device *dev, int inc, bool notify)
> >
> > dev_change_rx_flags(dev, IFF_PROMISC);
> > }
>
> ...
>
> > __hw_addr_init(&uc_snap);
> > @@ -9704,16 +9720,29 @@ static void dev_rx_mode_work(struct
> > work_struct *work)
> > if (!err)
> > err = __hw_addr_list_snapshot(&mc_ref, &dev->mc,
> > dev->addr_len);
> > - netif_addr_unlock_bh(dev);
> >
> > if (err) {
> > netdev_WARN(dev, "failed to sync uc/mc
> > addresses\n");
> > __hw_addr_flush(&uc_snap);
> > __hw_addr_flush(&uc_ref);
> > __hw_addr_flush(&mc_snap);
> > + netif_addr_unlock_bh(dev);
> > goto out;
> > }
> >
> > + promisc_inc = dev_uc_promisc_update(dev);
> > +
> > + netif_addr_unlock_bh(dev);
> > + } else {
> > + netif_addr_lock_bh(dev);
> > + promisc_inc = dev_uc_promisc_update(dev);
> > + netif_addr_unlock_bh(dev);
> > + }
> > +
> > + if (promisc_inc)
> > + __dev_set_promiscuity(dev, promisc_inc, false);
> But it's being called here without any netdev_lock_ops(dev) ?
We have the following at the start of dev_rx_mode_work:
rtnl_lock();
netdev_lock_ops(dev);
Or am I looking at something else?
WARNING: multiple messages have this Message-ID (diff)
From: Stanislav Fomichev <stfomichev@gmail.com>
To: "Loktionov, Aleksandr" <aleksandr.loktionov@intel.com>
Cc: Stanislav Fomichev <sdf@fomichev.me>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>,
"davem@davemloft.net" <davem@davemloft.net>,
"edumazet@google.com" <edumazet@google.com>,
"kuba@kernel.org" <kuba@kernel.org>,
"pabeni@redhat.com" <pabeni@redhat.com>,
"horms@kernel.org" <horms@kernel.org>,
"corbet@lwn.net" <corbet@lwn.net>,
"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>,
"andrew+netdev@lunn.ch" <andrew+netdev@lunn.ch>,
"michael.chan@broadcom.com" <michael.chan@broadcom.com>,
"pavan.chebbi@broadcom.com" <pavan.chebbi@broadcom.com>,
"Nguyen, Anthony L" <anthony.l.nguyen@intel.com>,
"Kitszel, Przemyslaw" <przemyslaw.kitszel@intel.com>,
"saeedm@nvidia.com" <saeedm@nvidia.com>,
"tariqt@nvidia.com" <tariqt@nvidia.com>,
"mbloch@nvidia.com" <mbloch@nvidia.com>,
"alexanderduyck@fb.com" <alexanderduyck@fb.com>,
"kernel-team@meta.com" <kernel-team@meta.com>,
"johannes@sipsolutions.net" <johannes@sipsolutions.net>,
"sd@queasysnail.net" <sd@queasysnail.net>,
"jianbol@nvidia.com" <jianbol@nvidia.com>,
"dtatulea@nvidia.com" <dtatulea@nvidia.com>,
"mohsin.bashr@gmail.com" <mohsin.bashr@gmail.com>,
"Keller, Jacob E" <jacob.e.keller@intel.com>,
"willemb@google.com" <willemb@google.com>,
"skhawaja@google.com" <skhawaja@google.com>,
"bestswngs@gmail.com" <bestswngs@gmail.com>,
"kees@kernel.org" <kees@kernel.org>,
"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"intel-wired-lan@lists.osuosl.org"
<intel-wired-lan@lists.osuosl.org>,
"linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
"leon@kernel.org" <leon@kernel.org>
Subject: Re: [PATCH net-next v3 04/13] net: move promiscuity handling into dev_rx_mode_work
Date: Fri, 20 Mar 2026 08:41:10 -0700 [thread overview]
Message-ID: <ab1qllbwt2zCnQhI@mini-arch> (raw)
In-Reply-To: <IA3PR11MB89866C27B28AE7D7D807F37EE54CA@IA3PR11MB8986.namprd11.prod.outlook.com>
On 03/20, Loktionov, Aleksandr wrote:
>
>
> > -----Original Message-----
> > From: Stanislav Fomichev <sdf@fomichev.me>
> > Sent: Friday, March 20, 2026 2:25 AM
> > To: netdev@vger.kernel.org
> > Cc: davem@davemloft.net; edumazet@google.com; kuba@kernel.org;
> > pabeni@redhat.com; horms@kernel.org; corbet@lwn.net;
> > skhan@linuxfoundation.org; andrew+netdev@lunn.ch;
> > michael.chan@broadcom.com; pavan.chebbi@broadcom.com; Nguyen, Anthony
> > L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw
> > <przemyslaw.kitszel@intel.com>; saeedm@nvidia.com; tariqt@nvidia.com;
> > mbloch@nvidia.com; alexanderduyck@fb.com; kernel-team@meta.com;
> > johannes@sipsolutions.net; sd@queasysnail.net; jianbol@nvidia.com;
> > dtatulea@nvidia.com; sdf@fomichev.me; mohsin.bashr@gmail.com; Keller,
> > Jacob E <jacob.e.keller@intel.com>; willemb@google.com;
> > skhawaja@google.com; bestswngs@gmail.com; Loktionov, Aleksandr
> > <aleksandr.loktionov@intel.com>; kees@kernel.org; linux-
> > doc@vger.kernel.org; linux-kernel@vger.kernel.org; intel-wired-
> > lan@lists.osuosl.org; linux-rdma@vger.kernel.org; linux-
> > wireless@vger.kernel.org; linux-kselftest@vger.kernel.org;
> > leon@kernel.org
> > Subject: [PATCH net-next v3 04/13] net: move promiscuity handling into
> > dev_rx_mode_work
> >
> > Move unicast promiscuity tracking into dev_rx_mode_work so it runs
> > under netdev_ops_lock instead of under the addr_lock spinlock. This is
> > required because __dev_set_promiscuity calls dev_change_rx_flags and
> > __dev_notify_flags, both of which may need to sleep.
> >
> > Change ASSERT_RTNL() to netdev_ops_assert_locked() in
> > __dev_set_promiscuity, netif_set_allmulti and __dev_change_flags since
> > these are now called from the work queue under the ops lock.
> >
> > Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> > Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
> > ---
> > Documentation/networking/netdevices.rst | 4 ++
> > net/core/dev.c | 79 +++++++++++++++++-------
> > -
> > 2 files changed, 57 insertions(+), 26 deletions(-)
> >
> > diff --git a/Documentation/networking/netdevices.rst
> > b/Documentation/networking/netdevices.rst
> > index dc83d78d3b27..5cdaa1a3dcc8 100644
> > --- a/Documentation/networking/netdevices.rst
> > +++ b/Documentation/networking/netdevices.rst
> > @@ -298,6 +298,10 @@ struct net_device synchronization rules
> > Notes: Sleepable version of ndo_set_rx_mode. Receives snapshots
> > of the unicast and multicast address lists.
> >
> > +ndo_change_rx_flags:
> > + Synchronization: rtnl_lock() semaphore. In addition, netdev
> > instance
> > + lock if the driver implements queue management or shaper API.
> > +
> > ndo_setup_tc:
> > ``TC_SETUP_BLOCK`` and ``TC_SETUP_FT`` are running under NFT
> > locks
> > (i.e. no ``rtnl_lock`` and no device instance lock). The rest
> > of diff --git a/net/core/dev.c b/net/core/dev.c index
> > fedc423306fc..fc5c9b14faa0 100644
> > --- a/net/core/dev.c
> > +++ b/net/core/dev.c
> > @@ -9574,7 +9574,7 @@ static int __dev_set_promiscuity(struct
> > net_device *dev, int inc, bool notify)
> > kuid_t uid;
> > kgid_t gid;
> >
> > - ASSERT_RTNL();
> > + netdev_ops_assert_locked(dev);
> Can you explain why do you add new hard precondition of ops lock must be held?
The context is that in f792709e0baa ("selftests: net: validate team flags
propagation") I had to add locking around NETDEV_CHANGE notifiers and
add that ugly `if (notify) netdev_ops_assert_locked` check. After this
patch I believe we are consistently calling __dev_set_promiscuity
with the ops lock (for ops locked netdev), so we can cleanup this enforcement
part.
> > promiscuity = dev->promiscuity + inc;
> > if (promiscuity == 0) {
> > @@ -9610,16 +9610,8 @@ static int __dev_set_promiscuity(struct
> > net_device *dev, int inc, bool notify)
> >
> > dev_change_rx_flags(dev, IFF_PROMISC);
> > }
>
> ...
>
> > __hw_addr_init(&uc_snap);
> > @@ -9704,16 +9720,29 @@ static void dev_rx_mode_work(struct
> > work_struct *work)
> > if (!err)
> > err = __hw_addr_list_snapshot(&mc_ref, &dev->mc,
> > dev->addr_len);
> > - netif_addr_unlock_bh(dev);
> >
> > if (err) {
> > netdev_WARN(dev, "failed to sync uc/mc
> > addresses\n");
> > __hw_addr_flush(&uc_snap);
> > __hw_addr_flush(&uc_ref);
> > __hw_addr_flush(&mc_snap);
> > + netif_addr_unlock_bh(dev);
> > goto out;
> > }
> >
> > + promisc_inc = dev_uc_promisc_update(dev);
> > +
> > + netif_addr_unlock_bh(dev);
> > + } else {
> > + netif_addr_lock_bh(dev);
> > + promisc_inc = dev_uc_promisc_update(dev);
> > + netif_addr_unlock_bh(dev);
> > + }
> > +
> > + if (promisc_inc)
> > + __dev_set_promiscuity(dev, promisc_inc, false);
> But it's being called here without any netdev_lock_ops(dev) ?
We have the following at the start of dev_rx_mode_work:
rtnl_lock();
netdev_lock_ops(dev);
Or am I looking at something else?
next prev parent reply other threads:[~2026-03-20 15:41 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-20 1:24 [Intel-wired-lan] [PATCH net-next v3 00/13] net: sleepable ndo_set_rx_mode Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 01/13] net: add address list snapshot and reconciliation infrastructure Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-23 23:20 ` [Intel-wired-lan] " Jakub Kicinski
2026-03-23 23:20 ` Jakub Kicinski
2026-03-24 18:13 ` [Intel-wired-lan] " Stanislav Fomichev
2026-03-24 18:13 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 02/13] wifi: cfg80211: use __rtnl_unlock in nl80211_pre_doit Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 03/13] net: introduce ndo_set_rx_mode_async and dev_rx_mode_work Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 7:13 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-20 7:13 ` Loktionov, Aleksandr
2026-03-20 15:49 ` Stanislav Fomichev
2026-03-23 23:20 ` Jakub Kicinski
2026-03-23 23:20 ` Jakub Kicinski
2026-03-24 18:13 ` [Intel-wired-lan] " Stanislav Fomichev
2026-03-24 18:13 ` Stanislav Fomichev
2026-03-24 21:21 ` [Intel-wired-lan] " Jakub Kicinski
2026-03-24 21:21 ` Jakub Kicinski
2026-03-24 22:49 ` Stanislav Fomichev
2026-03-25 3:44 ` [Intel-wired-lan] " Jakub Kicinski
2026-03-25 3:44 ` Jakub Kicinski
2026-03-25 15:06 ` [Intel-wired-lan] " Stanislav Fomichev
2026-03-25 15:06 ` Stanislav Fomichev
2026-03-25 17:34 ` [Intel-wired-lan] " Stanislav Fomichev
2026-03-25 17:34 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 04/13] net: move promiscuity handling into dev_rx_mode_work Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 8:01 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-20 8:01 ` Loktionov, Aleksandr
2026-03-20 15:41 ` Stanislav Fomichev [this message]
2026-03-20 15:41 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 05/13] fbnic: convert to ndo_set_rx_mode_async Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 06/13] mlx5: " Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 14:47 ` [Intel-wired-lan] " Cosmin Ratiu via Intel-wired-lan
2026-03-20 14:47 ` Cosmin Ratiu
2026-03-20 15:42 ` [Intel-wired-lan] " Stanislav Fomichev
2026-03-20 15:42 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 07/13] bnxt: " Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-24 0:47 ` [Intel-wired-lan] " Michael Chan via Intel-wired-lan
2026-03-24 0:47 ` Michael Chan
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 08/13] bnxt: use snapshot in bnxt_cfg_rx_mode Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 7:51 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-20 7:51 ` Loktionov, Aleksandr
2026-03-24 1:08 ` [Intel-wired-lan] " Michael Chan via Intel-wired-lan
2026-03-24 1:08 ` Michael Chan
2026-03-24 1:08 ` Michael Chan
2026-03-24 18:29 ` [Intel-wired-lan] " Stanislav Fomichev
2026-03-24 18:29 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 09/13] iavf: convert to ndo_set_rx_mode_async Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 7:53 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-20 7:53 ` Loktionov, Aleksandr
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 10/13] netdevsim: " Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 1:24 ` [Intel-wired-lan] [PATCH net-next v3 11/13] dummy: " Stanislav Fomichev
2026-03-20 1:24 ` Stanislav Fomichev
2026-03-20 7:54 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-20 7:54 ` Loktionov, Aleksandr
2026-03-20 1:25 ` [Intel-wired-lan] [PATCH net-next v3 12/13] net: warn ops-locked drivers still using ndo_set_rx_mode Stanislav Fomichev
2026-03-20 1:25 ` Stanislav Fomichev
2026-03-20 7:55 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-03-20 7:55 ` Loktionov, Aleksandr
2026-03-20 1:25 ` [Intel-wired-lan] [PATCH net-next v3 13/13] selftests: net: add team_bridge_macvlan rx_mode test Stanislav Fomichev
2026-03-20 1:25 ` Stanislav Fomichev
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=ab1qllbwt2zCnQhI@mini-arch \
--to=stfomichev@gmail.com \
--cc=aleksandr.loktionov@intel.com \
--cc=alexanderduyck@fb.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=bestswngs@gmail.com \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=dtatulea@nvidia.com \
--cc=edumazet@google.com \
--cc=horms@kernel.org \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=jacob.e.keller@intel.com \
--cc=jianbol@nvidia.com \
--cc=johannes@sipsolutions.net \
--cc=kees@kernel.org \
--cc=kernel-team@meta.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=mbloch@nvidia.com \
--cc=michael.chan@broadcom.com \
--cc=mohsin.bashr@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pavan.chebbi@broadcom.com \
--cc=przemyslaw.kitszel@intel.com \
--cc=saeedm@nvidia.com \
--cc=sd@queasysnail.net \
--cc=sdf@fomichev.me \
--cc=skhan@linuxfoundation.org \
--cc=skhawaja@google.com \
--cc=tariqt@nvidia.com \
--cc=willemb@google.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.