All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next v2 00/18] net: Cover more per-CPU storage with local nested BH locking.
@ 2025-04-14 16:07 Sebastian Andrzej Siewior
  2025-04-14 16:07 ` [PATCH net-next v2 01/18] net: page_pool: Don't recycle into cache on PREEMPT_RT Sebastian Andrzej Siewior
                   ` (17 more replies)
  0 siblings, 18 replies; 30+ messages in thread
From: Sebastian Andrzej Siewior @ 2025-04-14 16:07 UTC (permalink / raw)
  To: netdev, linux-rt-devel
  Cc: David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Simon Horman, Thomas Gleixner, Sebastian Andrzej Siewior

I was looking at the build-time defined per-CPU variables in net/ and
added the needed local-BH-locks in order to be able to remove the
current per-CPU lock in local_bh_disable() on PREMPT_RT.

The work is not yet complete, I just wanted to post what I have so far
instead of sitting on it.

v1…v2: https://lore.kernel.org/all/20250309144653.825351-1-bigeasy@linutronix.de
    - act_mirred: Using proper variable on PREEMPT_RT, noticed by Davide
      Caratti.
    - openvswitch:
      - Renamed the per-CPU variable to ovs_pcpu_storage.
      - Moved some data structures from action.c to datapath.h in order
        to implement the locking within datapath.c.

Sebastian Andrzej Siewior (18):
  net: page_pool: Don't recycle into cache on PREEMPT_RT
  net: dst_cache: Use nested-BH locking for dst_cache::cache
  ipv4/route: Use this_cpu_inc() for stats on PREEMPT_RT
  ipv6: sr: Use nested-BH locking for hmac_storage
  xdp: Use nested-BH locking for system_page_pool
  netfilter: nf_dup{4, 6}: Move duplication check to task_struct
  netfilter: nft_inner: Use nested-BH locking for nft_pcpu_tun_ctx
  netfilter: nf_dup_netdev: Move the recursion counter struct
    netdev_xmit
  xfrm: Use nested-BH locking for nat_keepalive_sk_ipv[46]
  openvswitch: Merge three per-CPU structures into one
  openvswitch: Use nested-BH locking for ovs_pcpu_storage
  openvswitch: Move ovs_frag_data_storage into the struct
    ovs_pcpu_storage
  net/sched: act_mirred: Move the recursion counter struct netdev_xmit
  net/sched: Use nested-BH locking for sch_frag_data_storage
  mptcp: Use nested-BH locking for hmac_storage
  rds: Disable only bottom halves in rds_page_remainder_alloc()
  rds: Acquire per-CPU pointer within BH disabled section
  rds: Use nested-BH locking for rds_page_remainder

 include/linux/netdevice.h        |  7 ++-
 include/linux/netdevice_xmit.h   |  6 +++
 include/linux/netfilter.h        | 11 ----
 include/linux/sched.h            |  1 +
 net/core/dev.c                   | 15 ++++--
 net/core/dst_cache.c             | 30 +++++++++--
 net/core/page_pool.c             |  4 ++
 net/core/xdp.c                   | 11 +++-
 net/ipv4/netfilter/ip_tables.c   |  2 +-
 net/ipv4/netfilter/nf_dup_ipv4.c |  6 +--
 net/ipv4/route.c                 |  4 ++
 net/ipv6/netfilter/ip6_tables.c  |  2 +-
 net/ipv6/netfilter/nf_dup_ipv6.c |  6 +--
 net/ipv6/seg6_hmac.c             | 13 ++++-
 net/mptcp/protocol.c             |  4 +-
 net/mptcp/protocol.h             |  9 +++-
 net/netfilter/core.c             |  3 --
 net/netfilter/nf_dup_netdev.c    | 22 ++++++--
 net/netfilter/nft_inner.c        | 18 +++++--
 net/openvswitch/actions.c        | 86 +++++---------------------------
 net/openvswitch/datapath.c       | 28 ++++++++---
 net/openvswitch/datapath.h       | 52 +++++++++++++++++--
 net/rds/page.c                   | 25 ++++++----
 net/sched/act_mirred.c           | 28 +++++++++--
 net/sched/sch_frag.c             | 10 +++-
 net/xfrm/xfrm_nat_keepalive.c    | 30 +++++++----
 26 files changed, 280 insertions(+), 153 deletions(-)

-- 
2.49.0


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2025-04-29  9:23 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-14 16:07 [PATCH net-next v2 00/18] net: Cover more per-CPU storage with local nested BH locking Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 01/18] net: page_pool: Don't recycle into cache on PREEMPT_RT Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 02/18] net: dst_cache: Use nested-BH locking for dst_cache::cache Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 03/18] ipv4/route: Use this_cpu_inc() for stats on PREEMPT_RT Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 04/18] ipv6: sr: Use nested-BH locking for hmac_storage Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 05/18] xdp: Use nested-BH locking for system_page_pool Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 06/18] netfilter: nf_dup{4, 6}: Move duplication check to task_struct Sebastian Andrzej Siewior
2025-04-29  9:23   ` Peter Zijlstra
2025-04-14 16:07 ` [PATCH net-next v2 07/18] netfilter: nft_inner: Use nested-BH locking for nft_pcpu_tun_ctx Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 08/18] netfilter: nf_dup_netdev: Move the recursion counter struct netdev_xmit Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 09/18] xfrm: Use nested-BH locking for nat_keepalive_sk_ipv[46] Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 10/18] openvswitch: Merge three per-CPU structures into one Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 11/18] openvswitch: Use nested-BH locking for ovs_pcpu_storage Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 12/18] openvswitch: Move ovs_frag_data_storage into the struct ovs_pcpu_storage Sebastian Andrzej Siewior
2025-04-15 16:26   ` Aaron Conole
2025-04-16 16:45     ` Sebastian Andrzej Siewior
2025-04-17  8:01       ` Paolo Abeni
2025-04-17  9:08         ` Sebastian Andrzej Siewior
2025-04-17  9:48           ` Paolo Abeni
2025-04-17 10:18             ` Sebastian Andrzej Siewior
2025-04-17 15:07         ` Aaron Conole
2025-04-14 16:07 ` [PATCH net-next v2 13/18] net/sched: act_mirred: Move the recursion counter struct netdev_xmit Sebastian Andrzej Siewior
2025-04-17  8:29   ` Paolo Abeni
2025-04-17 10:47     ` Sebastian Andrzej Siewior
2025-04-17 11:31       ` Paolo Abeni
2025-04-14 16:07 ` [PATCH net-next v2 14/18] net/sched: Use nested-BH locking for sch_frag_data_storage Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 15/18] mptcp: Use nested-BH locking for hmac_storage Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 16/18] rds: Disable only bottom halves in rds_page_remainder_alloc() Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 17/18] rds: Acquire per-CPU pointer within BH disabled section Sebastian Andrzej Siewior
2025-04-14 16:07 ` [PATCH net-next v2 18/18] rds: Use nested-BH locking for rds_page_remainder Sebastian Andrzej Siewior

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.