summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2025-05-15 16:23:42 +0300
committerPaolo Abeni <pabeni@redhat.com>2025-05-15 16:23:42 +0300
commit4c0327250aaf53a665b9331eb5ae91ee647a1f7e (patch)
treef005631be8e0e712a6b81180ad9b35b02f4f7896 /include/linux
parent67fa756408a5359941bea2c021740da5e9ed490d (diff)
parentc50d295c37f2648a8d9e8a572fedaad027d134bb (diff)
downloadlinux-4c0327250aaf53a665b9331eb5ae91ee647a1f7e.tar.xz
Merge branch 'net-cover-more-per-cpu-storage-with-local-nested-bh-locking'
Sebastian Andrzej Siewior says: ==================== net: Cover more per-CPU storage with local nested BH locking 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. v3: https://lore.kernel.org/all/20250430124758.1159480-1-bigeasy@linutronix.de/ v2: https://lore.kernel.org/all/20250414160754.503321-1-bigeasy@linutronix.de v1: https://lore.kernel.org/all/20250309144653.825351-1-bigeasy@linutronix.de ==================== Link: https://patch.msgid.link/20250512092736.229935-1-bigeasy@linutronix.de Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/netdevice.h7
-rw-r--r--include/linux/netdevice_xmit.h3
2 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
index 9e3a2d8452d6..73a97cf1bbce 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
@@ -3503,7 +3503,12 @@ struct softnet_data {
};
DECLARE_PER_CPU_ALIGNED(struct softnet_data, softnet_data);
-DECLARE_PER_CPU(struct page_pool *, system_page_pool);
+
+struct page_pool_bh {
+ struct page_pool *pool;
+ local_lock_t bh_lock;
+};
+DECLARE_PER_CPU(struct page_pool_bh, system_page_pool);
#ifndef CONFIG_PREEMPT_RT
static inline int dev_recursion_level(void)
diff --git a/include/linux/netdevice_xmit.h b/include/linux/netdevice_xmit.h
index 38325e070296..848735b3a7c0 100644
--- a/include/linux/netdevice_xmit.h
+++ b/include/linux/netdevice_xmit.h
@@ -8,6 +8,9 @@ struct netdev_xmit {
#ifdef CONFIG_NET_EGRESS
u8 skip_txqueue;
#endif
+#if IS_ENABLED(CONFIG_NET_ACT_MIRRED)
+ u8 sched_mirred_nest;
+#endif
};
#endif