From b15a952c52a6825376d3e7f6c1bf5c886c6d8b74 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 12:06:00 +0200 Subject: Adding debian version 5.10.209-2. Signed-off-by: Daniel Baumann --- ...1-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch (limited to 'debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch') diff --git a/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch b/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch new file mode 100644 index 000000000..aef82ca64 --- /dev/null +++ b/debian/patches-rt/0191-net-core-disable-NET_RX_BUSY_POLL-on-RT.patch @@ -0,0 +1,44 @@ +From 311a1cf04650b065502758f992df44702d23f6cd Mon Sep 17 00:00:00 2001 +From: Sebastian Andrzej Siewior +Date: Sat, 27 May 2017 19:02:06 +0200 +Subject: [PATCH 191/323] net/core: disable NET_RX_BUSY_POLL on RT +Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.10/older/patches-5.10.204-rt100.tar.xz + +napi_busy_loop() disables preemption and performs a NAPI poll. We can't acquire +sleeping locks with disabled preemption so we would have to work around this +and add explicit locking for synchronisation against ksoftirqd. +Without explicit synchronisation a low priority process would "own" the NAPI +state (by setting NAPIF_STATE_SCHED) and could be scheduled out (no +preempt_disable() and BH is preemptible on RT). +In case a network packages arrives then the interrupt handler would set +NAPIF_STATE_MISSED and the system would wait until the task owning the NAPI +would be scheduled in again. +Should a task with RT priority busy poll then it would consume the CPU instead +allowing tasks with lower priority to run. + +The NET_RX_BUSY_POLL is disabled by default (the system wide sysctls for +poll/read are set to zero) so disable NET_RX_BUSY_POLL on RT to avoid wrong +locking context on RT. Should this feature be considered useful on RT systems +then it could be enabled again with proper locking and synchronisation. + +Signed-off-by: Sebastian Andrzej Siewior +--- + net/Kconfig | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/net/Kconfig b/net/Kconfig +index a22c3fb88564..5a17bded7136 100644 +--- a/net/Kconfig ++++ b/net/Kconfig +@@ -280,7 +280,7 @@ config CGROUP_NET_CLASSID + + config NET_RX_BUSY_POLL + bool +- default y ++ default y if !PREEMPT_RT + + config BQL + bool +-- +2.43.0 + -- cgit v1.2.3