Hello, On Thu, Sep 22, 2022 at 12:32:49AM +0200, Jason A. Donenfeld wrote: > What are our options? Investigate queue_work_on() bottlenecks? Move back > to the original pattern, but use raw spinlocks? Some thing else? I doubt it's queue_work_on() itself if it's called at very high frequency as the duplicate calls would just fail to claim the PENDING bit and return but if it's being called at a high frequency, it'd be waking up a kthread over and over again, which can get pretty expensive. Maybe that ends competing with softirqd which is handling net rx or sth? So, yeah, I'd try something which doesn't always involve scheduling and a context switch whether that's softirq, tasklet, or irq work. I probably am mistaken but I thought RT kernel pushes irq handling to threads so that these things can be handled sanely. Is this some special case? Thanks. -- tejun