From: Frederic Weisbecker <frederic@kernel.org>
To: Mike Galbraith <efault@gmx.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Eric Dumazet <edumazet@google.com>,
Peter Zijlstra <peterz@infradead.org>,
Dmitry Safonov <dima@arista.com>,
LKML <linux-kernel@vger.kernel.org>,
Dmitry Safonov <0x7f454c46@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
David Miller <davem@davemloft.net>,
Frederic Weisbecker <fweisbec@gmail.com>,
Hannes Frederic Sowa <hannes@stressinduktion.org>,
Ingo Molnar <mingo@kernel.org>,
"Levin, Alexander (Sasha Levin)" <alexander.levin@verizon.com>,
Paolo Abeni <pabeni@redhat.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Radu Rendec <rrendec@arista.com>, Rik van Riel <riel@redhat.com>,
Stanislaw Gruszka <sgruszka@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
Wanpeng Li <wanpeng.li@hotmail.com>
Subject: Re: [RFC 1/2] softirq: Defer net rx/tx processing to ksoftirqd context
Date: Fri, 12 Jan 2018 18:00:36 +0100 [thread overview]
Message-ID: <20180112170033.GD1950@lerouge> (raw)
In-Reply-To: <1515770104.21898.13.camel@gmx.de>
On Fri, Jan 12, 2018 at 04:15:04PM +0100, Mike Galbraith wrote:
> On Fri, 2018-01-12 at 15:58 +0100, Frederic Weisbecker wrote:
> > On Fri, Jan 12, 2018 at 06:23:08AM +0100, Mike Galbraith wrote:
> > > On Thu, 2018-01-11 at 12:22 -0800, Linus Torvalds wrote:
> > > > On Thu, Jan 11, 2018 at 12:16 PM, Eric Dumazet <edumazet@google.com> wrote:
> > > > >
> > > > > Note that when I implemented TCP Small queues, I did experiments between
> > > > > using a work queue or a tasklet, and workqueues added unacceptable P99
> > > > > latencies, when many user threads are competing with kernel threads.
> > > >
> > > > Yes.
> > > >
> > > > So I think one solution might be to have a hybrid system, where we do
> > > > the softirq's synchronously normally (which is what you really want
> > > > for good latency).
> > > >
> > > > But then fall down on a threaded model - but that fallback case should
> > > > be per-softirq, not global. So if one softirq uses a lot of CPU time,
> > > > that shouldn't affect the latency of other softirqs.
> > > >
> > > > So maybe we could get rid of the per-cpu ksoftirqd entirely, and
> > > > replace it with with per-cpu and per-softirq workqueues?
> > >
> > > How would that be better than what RT used to do, and I still do for my
> > > RT kernels via boot option, namely split ksoftirqd into per-softirq
> > > threads.
> >
> > Workqueue are probably more simple. Unless you need to set specific prios
> > to your ksoftirqds? Not sure if that's tunable on workqueues.
>
> No, you can't prioritize workqueues, and they spawn threads whenever
> they bloody well feel like.
>
> I carry a hack to give users minimal control over kthread/workqueue
> priority. Very handy thing to have, especially if you're doing high
> utilization stuff, and would prefer your box actually survive it.
How useful system_highpri_wq can be in this regard?
next prev parent reply other threads:[~2018-01-12 17:00 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-09 13:36 [RFC 0/2] Net softirq deferring to ksoftirqd Dmitry Safonov
2018-01-09 13:36 ` [RFC 1/2] softirq: Defer net rx/tx processing to ksoftirqd context Dmitry Safonov
2018-01-09 16:03 ` Frederic Weisbecker
2018-01-10 21:20 ` Dmitry Safonov
2018-01-09 18:02 ` Eric Dumazet
2018-01-10 21:48 ` Dmitry Safonov
2018-01-11 2:13 ` Linus Torvalds
2018-01-11 3:22 ` Frederic Weisbecker
2018-01-11 4:19 ` Linus Torvalds
2018-01-11 4:44 ` Frederic Weisbecker
2018-01-11 14:31 ` Dmitry Safonov
2018-01-11 16:20 ` Eric Dumazet
2018-01-11 16:32 ` Peter Zijlstra
2018-01-11 16:38 ` David Miller
2018-01-11 16:43 ` Peter Zijlstra
2018-01-11 18:48 ` Linus Torvalds
2018-01-11 19:15 ` Eric Dumazet
2018-01-11 19:43 ` Linus Torvalds
2018-01-11 19:48 ` Eric Dumazet
2018-01-11 20:03 ` Linus Torvalds
2018-01-11 20:16 ` Eric Dumazet
2018-01-11 20:22 ` Linus Torvalds
2018-01-11 20:34 ` Dmitry Safonov
2018-01-11 20:37 ` Eric Dumazet
2018-01-11 20:40 ` Linus Torvalds
2018-01-11 20:46 ` Dmitry Safonov
2018-01-11 20:53 ` Eric Dumazet
2018-01-11 21:13 ` Dmitry Safonov
2018-01-12 5:41 ` Frederic Weisbecker
2018-01-12 5:23 ` Mike Galbraith
2018-01-12 10:13 ` Peter Zijlstra
2018-01-12 17:26 ` Linus Torvalds
2018-01-12 17:44 ` Mike Galbraith
2018-01-12 17:51 ` Linus Torvalds
2018-01-12 18:15 ` Mike Galbraith
2018-01-12 18:44 ` Mike Galbraith
2018-01-17 20:30 ` David Miller
2018-01-17 21:06 ` Linus Torvalds
2018-01-17 21:49 ` David Miller
2018-01-17 21:54 ` Thomas Gleixner
2018-01-17 21:58 ` Linus Torvalds
2018-01-17 22:00 ` Thomas Gleixner
2018-01-17 22:02 ` Eric Dumazet
2018-01-17 22:24 ` David Miller
2018-01-17 22:54 ` Thomas Gleixner
2018-02-06 16:56 ` Sebastian Andrzej Siewior
2018-02-13 16:36 ` Thomas Gleixner
2018-01-17 21:54 ` Linus Torvalds
2018-01-17 21:58 ` Thomas Gleixner
2018-01-12 19:28 ` Thomas Gleixner
2018-01-12 19:53 ` Frederic Weisbecker
2018-01-12 14:58 ` Frederic Weisbecker
2018-01-12 15:15 ` Mike Galbraith
2018-01-12 17:00 ` Frederic Weisbecker [this message]
2018-01-12 18:08 ` Mike Galbraith
2018-01-12 17:24 ` Linus Torvalds
2018-01-09 13:36 ` [RFC 2/2] softirq: Introduce mask for __do_softirq() Dmitry Safonov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180112170033.GD1950@lerouge \
--to=frederic@kernel.org \
--cc=0x7f454c46@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=alexander.levin@verizon.com \
--cc=davem@davemloft.net \
--cc=dima@arista.com \
--cc=edumazet@google.com \
--cc=efault@gmx.de \
--cc=fweisbec@gmail.com \
--cc=hannes@stressinduktion.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=pabeni@redhat.com \
--cc=paulmck@linux.vnet.ibm.com \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=rrendec@arista.com \
--cc=sgruszka@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=wanpeng.li@hotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.