From: Daniel Dragomir <[email protected]>

Multiple alarming messages are shown on running tcp bandwidth test
from lmbench suite and the test fails with timeout:
Dead loop on virtual device lo, fix it urgently!

The cause for this failure is commit edbe65322391 ("net: place xmit
recursion in softnet data") which overwrites some preempt-rt specific
changes (PREEMPT_RT_FULL) from commit 7963359759cb ("net: move
xmit_recursion to per-task variable on -RT ").

The original version for commit edbe65322391 from kernel.org:
https://lkml.org/lkml/2020/6/29/1000

Signed-off-by: Daniel Dragomir <[email protected]>
---
 net/core/dev.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/core/dev.c b/net/core/dev.c
index 6f7e36e..1734396 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3834,7 +3834,11 @@ static int __dev_queue_xmit(struct sk_buff *skb, struct 
net_device *sb_dev)
        if (dev->flags & IFF_UP) {
                int cpu = smp_processor_id(); /* ok because BHs are off */
 
+#ifdef CONFIG_PREEMPT_RT_FULL
+               if (txq->xmit_lock_owner != current) {
+#else
                if (txq->xmit_lock_owner != cpu) {
+#endif
                        if (dev_xmit_recursion())
                                goto recursion_alert;
 
-- 
2.7.4

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#9161): 
https://lists.yoctoproject.org/g/linux-yocto/message/9161
Mute This Topic: https://lists.yoctoproject.org/mt/78299587/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to