[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAMO+cuMFDHhZhD0Eo1iZzgov27EkXhpuh2H87ViFxntY9M_k4w@mail.gmail.com>
Date: Tue, 5 Aug 2025 15:56:46 +0530
From: Ayushi Kumar <ayushi.03march@...il.com>
To: netdev@...r.kernel.org
Subject: Soft lockup when posting skb to IP stack from multiple kernel
Hi all,
I’m working on a custom kernel module on Linux v6.6.54. Packets are
received from Broadcom KNET via a callback and passed into my kernel
module. From there, the packets are posted to a kernel queue, which is
consumed by a kernel thread. Based on the type of packet, the thread
either sends the skb to userspace or posts it to the IP stack.
Everything works fine when there’s only one thread handling this logic.
However, when I introduce multiple kernel threads (to handle different
categories of packets), I start seeing soft lockups — specifically
when the threads post packets to the IP stack.
Interestingly, when the packets are only sent to userspace (and not to
the IP stack), no issues are observed, even with multiple threads.
For posting to the IP stack, I’m currently using netif_rx().
I tried using netif_receive_skb() instead but still saw the same issue.
Any insights or suggestions on how to avoid the soft lockup in this
scenario would be appreciated.
Thanks,
Ayushi
Powered by blists - more mailing lists