mbox series

[v3,net-next,00/15] ipv6: lockless accesses to devconf

Message ID 20240228135439.863861-1-edumazet@google.com (mailing list archive)
Headers show
Series ipv6: lockless accesses to devconf | expand

Message

Eric Dumazet Feb. 28, 2024, 1:54 p.m. UTC
- First patch puts in a cacheline_group the fields used in fast paths.

- Annotate all data races around idev->cnf fields.

- Last patch in this series removes RTNL use for RTM_GETNETCONF dumps.

v3: addressed Jakub Kicinski feedback in addrconf_disable_ipv6()
    Added tags from Jiri and Florian.

v2: addressed Jiri Pirko feedback
 - Added "ipv6: addrconf_disable_ipv6() optimizations"
   and "ipv6: addrconf_disable_policy() optimization"


Eric Dumazet (15):
  ipv6: add ipv6_devconf_read_txrx cacheline_group
  ipv6: annotate data-races around cnf.disable_ipv6
  ipv6: addrconf_disable_ipv6() optimization
  ipv6: annotate data-races around cnf.mtu6
  ipv6: annotate data-races around cnf.hop_limit
  ipv6: annotate data-races around cnf.forwarding
  ipv6: annotate data-races in ndisc_router_discovery()
  ipv6: annotate data-races around idev->cnf.ignore_routes_with_linkdown
  ipv6: annotate data-races in rt6_probe()
  ipv6: annotate data-races around devconf->proxy_ndp
  ipv6: annotate data-races around devconf->disable_policy
  ipv6: addrconf_disable_policy() optimization
  ipv6/addrconf: annotate data-races around devconf fields (I)
  ipv6/addrconf: annotate data-races around devconf fields (II)
  ipv6: use xa_array iterator to implement inet6_netconf_dump_devconf()

 .../ethernet/netronome/nfp/flower/action.c    |   2 +-
 drivers/net/usb/cdc_mbim.c                    |   2 +-
 include/linux/ipv6.h                          |  13 +-
 include/net/addrconf.h                        |   2 +-
 include/net/ip6_route.h                       |   2 +-
 include/net/ipv6.h                            |   8 +-
 net/core/filter.c                             |   2 +-
 net/ipv6/addrconf.c                           | 280 +++++++++---------
 net/ipv6/exthdrs.c                            |  16 +-
 net/ipv6/ioam6.c                              |   8 +-
 net/ipv6/ip6_input.c                          |   6 +-
 net/ipv6/ip6_output.c                         |  10 +-
 net/ipv6/ipv6_sockglue.c                      |   2 +-
 net/ipv6/mcast.c                              |  14 +-
 net/ipv6/ndisc.c                              |  69 +++--
 net/ipv6/netfilter/nf_reject_ipv6.c           |   4 +-
 net/ipv6/output_core.c                        |   4 +-
 net/ipv6/route.c                              |  20 +-
 net/ipv6/seg6_hmac.c                          |   8 +-
 net/netfilter/nf_synproxy_core.c              |   2 +-
 20 files changed, 245 insertions(+), 229 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org March 1, 2024, 8:50 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by David S. Miller <davem@davemloft.net>:

On Wed, 28 Feb 2024 13:54:24 +0000 you wrote:
> - First patch puts in a cacheline_group the fields used in fast paths.
> 
> - Annotate all data races around idev->cnf fields.
> 
> - Last patch in this series removes RTNL use for RTM_GETNETCONF dumps.
> 
> v3: addressed Jakub Kicinski feedback in addrconf_disable_ipv6()
>     Added tags from Jiri and Florian.
> 
> [...]

Here is the summary with links:
  - [v3,net-next,01/15] ipv6: add ipv6_devconf_read_txrx cacheline_group
    https://git.kernel.org/netdev/net-next/c/096361b15577
  - [v3,net-next,02/15] ipv6: annotate data-races around cnf.disable_ipv6
    https://git.kernel.org/netdev/net-next/c/d289ab65b89c
  - [v3,net-next,03/15] ipv6: addrconf_disable_ipv6() optimization
    https://git.kernel.org/netdev/net-next/c/553ced03b227
  - [v3,net-next,04/15] ipv6: annotate data-races around cnf.mtu6
    https://git.kernel.org/netdev/net-next/c/e7135f484994
  - [v3,net-next,05/15] ipv6: annotate data-races around cnf.hop_limit
    https://git.kernel.org/netdev/net-next/c/e0bb2675fea2
  - [v3,net-next,06/15] ipv6: annotate data-races around cnf.forwarding
    https://git.kernel.org/netdev/net-next/c/32f754176e88
  - [v3,net-next,07/15] ipv6: annotate data-races in ndisc_router_discovery()
    https://git.kernel.org/netdev/net-next/c/ddea75d344dd
  - [v3,net-next,08/15] ipv6: annotate data-races around idev->cnf.ignore_routes_with_linkdown
    https://git.kernel.org/netdev/net-next/c/fca34cc07599
  - [v3,net-next,09/15] ipv6: annotate data-races in rt6_probe()
    https://git.kernel.org/netdev/net-next/c/e248948a4471
  - [v3,net-next,10/15] ipv6: annotate data-races around devconf->proxy_ndp
    https://git.kernel.org/netdev/net-next/c/a8fbd4d90720
  - [v3,net-next,11/15] ipv6: annotate data-races around devconf->disable_policy
    https://git.kernel.org/netdev/net-next/c/624d5aec487c
  - [v3,net-next,12/15] ipv6: addrconf_disable_policy() optimization
    https://git.kernel.org/netdev/net-next/c/45b90ec9a214
  - [v3,net-next,13/15] ipv6/addrconf: annotate data-races around devconf fields (I)
    https://git.kernel.org/netdev/net-next/c/2aba913f99de
  - [v3,net-next,14/15] ipv6/addrconf: annotate data-races around devconf fields (II)
    https://git.kernel.org/netdev/net-next/c/2f0ff05a4430
  - [v3,net-next,15/15] ipv6: use xa_array iterator to implement inet6_netconf_dump_devconf()
    https://git.kernel.org/netdev/net-next/c/2a02f8379bde

You are awesome, thank you!