public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/2] softirq: Per vector threading
@ 2018-01-12  5:35 Frederic Weisbecker
  2018-01-12  5:35 ` [RFC PATCH 1/2] softirq: Account time and iteration stats per vector Frederic Weisbecker
  2018-01-12  5:35 ` [RFC PATCH 2/2] softirq: Per vector thread deferment Frederic Weisbecker
  0 siblings, 2 replies; 10+ messages in thread
From: Frederic Weisbecker @ 2018-01-12  5:35 UTC (permalink / raw)
  To: LKML
  Cc: Frederic Weisbecker, Levin Alexander, Peter Zijlstra,
	Linus Torvalds, Hannes Frederic Sowa, Paul E . McKenney,
	Wanpeng Li, Dmitry Safonov, Thomas Gleixner, Eric Dumazet,
	Radu Rendec, Ingo Molnar, Stanislaw Gruszka, Paolo Abeni,
	Rik van Riel, Andrew Morton, David Miller

So this is a first shot to implement what Linus suggested.
To summarize: when a softirq vector is stormed and needs more time than
what IRQ tail can offer, the whole softirq processing is offloaded to
ksoftirqd. But this has an impact on other softirq vectors that are
then subject to scheduler latencies.

So the softirqs time limits is now per vector and only the vectors that
get stormed are offloaded to a thread (workqueue).

This is in a very Proof of concept state. It doesn't even boot successfully
once in a while. So I'll do more debugging tomorrow (today in fact) but
you get the big picture.

It probably won't come free given the clock reads around softirq callbacks.

git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks.git
	softirq/poc

HEAD: 0e982634115283710d0801048e5a316def26f31d

Thanks,
	Frederic
---

Frederic Weisbecker (2):
      softirq: Account time and iteration stats per vector
      softirq: Per vector thread deferment


 kernel/softirq.c | 123 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 114 insertions(+), 9 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-01-12 18:54 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-12  5:35 [RFC PATCH 0/2] softirq: Per vector threading Frederic Weisbecker
2018-01-12  5:35 ` [RFC PATCH 1/2] softirq: Account time and iteration stats per vector Frederic Weisbecker
2018-01-12  6:22   ` Eric Dumazet
2018-01-12 14:34     ` Frederic Weisbecker
2018-01-12 18:12       ` Linus Torvalds
2018-01-12 18:54         ` Frederic Weisbecker
2018-01-12  5:35 ` [RFC PATCH 2/2] softirq: Per vector thread deferment Frederic Weisbecker
2018-01-12  6:27   ` Frederic Weisbecker
2018-01-12  9:07   ` Paolo Abeni
2018-01-12 14:56     ` Frederic Weisbecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox