From: Vladimir Oltean <olteanv@gmail.com>
To: "David S . Miller" <davem@davemloft.net>,
Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, Andrew Lunn <andrew@lunn.ch>,
Florian Fainelli <f.fainelli@gmail.com>,
Cong Wang <xiyou.wangcong@gmail.com>,
Stephen Hemminger <stephen@networkplumber.org>,
Eric Dumazet <edumazet@google.com>,
George McCollister <george.mccollister@gmail.com>,
Oleksij Rempel <o.rempel@pengutronix.de>,
Jay Vosburgh <j.vosburgh@gmail.com>,
Veaceslav Falico <vfalico@gmail.com>,
Andy Gospodarek <andy@greyhouse.net>,
Arnd Bergmann <arnd@arndb.de>, Taehee Yoo <ap420073@gmail.com>,
Jiri Pirko <jiri@mellanox.com>, Florian Westphal <fw@strlen.de>
Subject: [PATCH v3 net-next 00/12] Make .ndo_get_stats64 sleepable
Date: Thu, 7 Jan 2021 11:49:39 +0200 [thread overview]
Message-ID: <20210107094951.1772183-1-olteanv@gmail.com> (raw)
From: Vladimir Oltean <vladimir.oltean@nxp.com>
Changes in v3:
- Resolved some memory leak issues in the bonding patch 10/12.
Changes in v2:
- Addressed the recursion issues in .ndo_get_stats64 from bonding and
net_failover.
- Renamed netdev_lists_lock to netif_lists_lock
- Stopped taking netif_lists_lock from drivers as much as possible.
This series converts all callers of dev_get_stats() to be in sleepable
context, so that we can do more work in the .ndo_get_stats64 method.
The situation today is that if we have hardware that needs to be
accessed through a slow bus like SPI, or through a firmware, we cannot
do that directly in .ndo_get_stats64, so we have to poll counters
periodically and return a cached (not up to date) copy in the atomic NDO
callback. This is undesirable on both ends: more work than strictly
needed is being done, and the end result is also worse (not guaranteed
to be up to date). So converting the code paths to be compatible with
sleeping seems to make more sense.
Vladimir Oltean (12):
net: mark dev_base_lock for deprecation
net: introduce a mutex for the netns interface lists
net: procfs: hold netif_lists_lock when retrieving device statistics
net: sysfs: don't hold dev_base_lock while retrieving device
statistics
s390/appldata_net_sum: hold the netdev lists lock when retrieving
device statistics
parisc/led: reindent the code that gathers device statistics
parisc/led: hold the netdev lists lock when retrieving device
statistics
net: make dev_get_stats return void
net: net_failover: ensure .ndo_get_stats64 can sleep
net: bonding: ensure .ndo_get_stats64 can sleep
net: mark ndo_get_stats64 as being able to sleep
net: remove obsolete comments about ndo_get_stats64 context from eth
drivers
Documentation/networking/netdevices.rst | 8 +-
Documentation/networking/statistics.rst | 9 +-
arch/s390/appldata/appldata_net_sum.c | 33 ++---
drivers/leds/trigger/ledtrig-netdev.c | 9 +-
drivers/net/bonding/bond_main.c | 119 +++++++++---------
drivers/net/ethernet/cisco/enic/enic_main.c | 1 -
.../net/ethernet/hisilicon/hns/hns_ethtool.c | 51 ++++----
.../net/ethernet/intel/ixgbe/ixgbe_ethtool.c | 7 +-
drivers/net/ethernet/intel/ixgbevf/ethtool.c | 7 +-
drivers/net/ethernet/nvidia/forcedeth.c | 2 -
drivers/net/ethernet/sfc/efx_common.c | 1 -
drivers/net/ethernet/sfc/falcon/efx.c | 1 -
drivers/net/net_failover.c | 63 +++++++---
drivers/parisc/led.c | 37 +++---
drivers/scsi/fcoe/fcoe_transport.c | 6 +-
drivers/usb/gadget/function/rndis.c | 45 +++----
include/linux/netdevice.h | 13 +-
include/net/bonding.h | 49 +++++++-
include/net/net_failover.h | 9 +-
include/net/net_namespace.h | 6 +
net/8021q/vlanproc.c | 15 ++-
net/core/dev.c | 69 ++++++----
net/core/net-procfs.c | 48 +++----
net/core/net-sysfs.c | 10 +-
net/openvswitch/vport.c | 25 ++--
25 files changed, 367 insertions(+), 276 deletions(-)
--
2.25.1
next reply other threads:[~2021-01-07 9:52 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-07 9:49 Vladimir Oltean [this message]
2021-01-07 9:49 ` [PATCH v3 net-next 01/12] net: mark dev_base_lock for deprecation Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 02/12] net: introduce a mutex for the netns interface lists Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 03/12] net: procfs: hold netif_lists_lock when retrieving device statistics Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 04/12] net: sysfs: don't hold dev_base_lock while " Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 05/12] s390/appldata_net_sum: hold the netdev lists lock when " Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 06/12] parisc/led: reindent the code that gathers " Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 07/12] parisc/led: hold the netdev lists lock when retrieving " Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 08/12] net: make dev_get_stats return void Vladimir Oltean
2021-01-07 13:01 ` kernel test robot
2021-01-07 13:15 ` Vladimir Oltean
2021-01-08 0:50 ` Rong Chen
2021-01-07 9:49 ` [PATCH v3 net-next 09/12] net: net_failover: ensure .ndo_get_stats64 can sleep Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 10/12] net: bonding: " Vladimir Oltean
2021-01-07 11:18 ` Eric Dumazet
2021-01-07 11:33 ` Vladimir Oltean
2021-01-07 12:58 ` Eric Dumazet
2021-01-08 3:59 ` Saeed Mahameed
2021-01-08 8:57 ` Vladimir Oltean
2021-01-08 19:25 ` Saeed Mahameed
2021-01-08 9:14 ` Eric Dumazet
2021-01-08 9:21 ` Vladimir Oltean
2021-01-08 9:27 ` Eric Dumazet
2021-01-08 19:38 ` Saeed Mahameed
2021-01-08 20:20 ` Vladimir Oltean
2021-01-08 19:33 ` Saeed Mahameed
2021-01-07 9:49 ` [PATCH v3 net-next 11/12] net: mark ndo_get_stats64 as being able to sleep Vladimir Oltean
2021-01-07 9:49 ` [PATCH v3 net-next 12/12] net: remove obsolete comments about ndo_get_stats64 context from eth drivers Vladimir Oltean
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=20210107094951.1772183-1-olteanv@gmail.com \
--to=olteanv@gmail.com \
--cc=andrew@lunn.ch \
--cc=andy@greyhouse.net \
--cc=ap420073@gmail.com \
--cc=arnd@arndb.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=fw@strlen.de \
--cc=george.mccollister@gmail.com \
--cc=j.vosburgh@gmail.com \
--cc=jiri@mellanox.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=o.rempel@pengutronix.de \
--cc=stephen@networkplumber.org \
--cc=vfalico@gmail.com \
--cc=xiyou.wangcong@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).