2020-03-06 11:44:27 +00:00
|
|
|
From 0b90609a04c39529c4ff712a4786aecde55a0733 Mon Sep 17 00:00:00 2001
|
2018-08-27 14:32:32 +00:00
|
|
|
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
|
|
Date: Sat, 27 May 2017 19:02:06 +0200
|
2020-03-28 12:59:50 +00:00
|
|
|
Subject: [PATCH 046/326] net/core: disable NET_RX_BUSY_POLL
|
2019-04-08 23:49:20 +00:00
|
|
|
MIME-Version: 1.0
|
|
|
|
Content-Type: text/plain; charset=UTF-8
|
|
|
|
Content-Transfer-Encoding: 8bit
|
2020-03-28 12:59:50 +00:00
|
|
|
Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/4.19/older/patches-4.19.106-rt45.tar.xz
|
2018-08-27 14:32:32 +00:00
|
|
|
|
|
|
|
sk_busy_loop() does preempt_disable() followed by a few operations which can
|
|
|
|
take sleeping locks and may get long.
|
|
|
|
I _think_ that we could use preempt_disable_nort() (in sk_busy_loop()) instead
|
|
|
|
but after a successfull cmpxchg(&napi->state, …) we would gain the ressource
|
|
|
|
and could be scheduled out. At this point nobody knows who (which context) owns
|
|
|
|
it and so it could take a while until the state is realeased and napi_poll()
|
|
|
|
could be invoked again.
|
|
|
|
|
|
|
|
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|
|
|
---
|
2019-04-08 23:49:20 +00:00
|
|
|
net/Kconfig | 2 +-
|
2018-08-27 14:32:32 +00:00
|
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
|
2019-04-08 23:49:20 +00:00
|
|
|
diff --git a/net/Kconfig b/net/Kconfig
|
|
|
|
index 228dfa382eec..bc8d01996f22 100644
|
2018-08-27 14:32:32 +00:00
|
|
|
--- a/net/Kconfig
|
|
|
|
+++ b/net/Kconfig
|
|
|
|
@@ -275,7 +275,7 @@ config CGROUP_NET_CLASSID
|
|
|
|
|
|
|
|
config NET_RX_BUSY_POLL
|
|
|
|
bool
|
|
|
|
- default y
|
|
|
|
+ default y if !PREEMPT_RT_FULL
|
|
|
|
|
|
|
|
config BQL
|
|
|
|
bool
|
2020-01-03 23:36:11 +00:00
|
|
|
--
|
2020-02-21 18:07:43 +00:00
|
|
|
2.25.0
|
2020-01-03 23:36:11 +00:00
|
|
|
|