Messages in this thread | | | Subject | Re: [RFC PATCH 2/4] softirq: Per vector deferment to workqueue | From | Mike Galbraith <> | Date | Fri, 09 Feb 2018 05:11:08 +0100 |
| |
On Thu, 2018-02-08 at 20:30 +0000, Dmitry Safonov wrote: > On Thu, 2018-02-08 at 15:22 -0500, David Miller wrote: > > From: Dmitry Safonov <dima@arista.com> > > Date: Thu, 08 Feb 2018 20:14:55 +0000 > > > > > On Thu, 2018-02-08 at 13:45 -0500, David Miller wrote: > > >> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > > >> Date: Thu, 8 Feb 2018 18:44:52 +0100 > > >> > > >> > May I instead suggest to stick to ksoftirqd? So you run in > > softirq > > >> > context (after return from IRQ) and if takes too long, you > > offload > > >> the > > >> > vector to ksoftirqd instead. You may want to play with the > > metric > > >> on > > >> > which you decide when you want switch to ksoftirqd / account how > > >> long a > > >> > vector runs. > > >> > > >> Having read over this stuff for the past few weeks this is how I > > feel > > >> as well. Just make ksofbitrq do what we want (only execute the > > >> overloaded softirq vectors). > > >> > > >> The more I look at the workqueue stuff, the more complications and > > >> weird behavioral artifacts we are getting for questionable gain. > > > > > > What about creating several ksoftirqd threads per-cpu? > > > Like I did with boot parameter to specify how many threads and > > which > > > softirqs to serve. > > > > Why do we need more than one per cpu? > > Ugh, yeah, I remember why I did it - I tried to reuse scheduler for > each ksoftirqd thread to decide if it need to run now or later. > That would give an admin a way to prioritise softirqs with nice. > Not sure if it's a nice idea at all..
For RT that can be handy, but for the general case it's a waste of cycles, so would want to be opt-in.
-Mike
| |