Re: [RFC PATCH 0/4] softirq: Per vector threading v3
From: David Miller
Date: Tue Jan 23 2018 - 13:24:33 EST
From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 23 Jan 2018 09:42:32 -0800
> But I wonder if the test triggers the "lets run lots of workqueue
> threads", and then the single-threaded user space just gets blown out
> of the water by many kernel threads. Each thread gets its own "fair"
> amount of CPU, but..
If a single cpu's softirq deferral can end up running on multiple
workqueue threads, indeed that's a serious problem.
So if we're in a workqueue and it does a:
schedule_work_on(this_cpu, currently_executing_work);
it'll potentially make a new thread?
That's exactly the code path that will get exercised during a UDP
flood the way that vector_work_func() is implemented.