From: Sebastian Andrzej Siewior Date: Sat, 27 May 2017 19:02:06 +0200 Subject: [PATCH 046/290] net/core: disable NET_RX_BUSY_POLL MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86b04e83f0deb1dce266ca11efb35281d2d76566 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 --- net/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/Kconfig b/net/Kconfig index 228dfa382eec..bc8d01996f22 100644 --- 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