From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Anna-Maria Gleixner <anna-maria@linutronix.de>
Subject: Re: [GIT pull] Timer core updates for 4.16
Date: Tue, 30 Jan 2018 07:30:02 +0100 [thread overview]
Message-ID: <20180130063002.gxmruvxcqsfp5hv4@gmail.com> (raw)
In-Reply-To: <CA+55aFy6FX6Ewg9exGH12PWnzSNKBfmc--v6H6UYpcSAEWUR8A@mail.gmail.com>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Jan 29, 2018 at 12:48 AM, Thomas Gleixner <tglx@linutronix.de> wrote:
> >
> > - A rather large rework of the hrtimer infrastructure which introduces
> > softirq based hrtimers to replace the spread of hrtimer/tasklet combos
> > which force the actual callback execution into softirq context.
>
> I really would have liked to see more of the rationale for this - now
> I'm left with just two example drivers, and a "you'll see the cleanups
> this allows in future driver pulls".
>
> But pulled, since the code doesn't look disgusting.
Sorry, this is my fault: from Anna-Maria's original, full softirq-hrtimers series
I didn't apply many of the usecases, because we didn't get any review feedback
from the networking folks:
can/bcm: Replace hrtimer_tasklet with softirq based hrtimer
net/can/bcm.c | 156 ++++++++++++++++++++--------------------------------------
1 file changed, 52 insertions(+), 104 deletions(-)
mac80211_hwsim: Replace hrtimer tasklet with softirq hrtimer
drivers/net/wireless/mac80211_hwsim.c | 44 ++++++++++++++++-------------------
1 file changed, 20 insertions(+), 24 deletions(-)
xfrm: Replace hrtimer tasklet with softirq hrtimer
include/net/xfrm.h | 2 +-
net/xfrm/xfrm_state.c | 30 ++++++++++++++++++------------
2 files changed, 19 insertions(+), 13 deletions(-)
net/mvpp2: Replace tasklet with softirq hrtimer
drivers/net/ethernet/marvell/mvpp2.c | 62 +++++++++++++++---------------------
1 file changed, 25 insertions(+), 37 deletions(-)
And I felt uneasy about applying this in one go, so we decided to apply it in two
phases.
These are in cases significant driver simplifications, but they also enable the
real deal, the elimination of the hrtimer tasklet:
softirq: Remove tasklet_hrtimer
include/linux/interrupt.h | 25 -----------------------
kernel/softirq.c | 51 -----------------------------------------------
2 files changed, 76 deletions(-)
... which is a pretty nice thing in itself even without the driver
simplifications!
Plus the _real_ secret motivation behind it all is the -rt kernel and
CONFIG_PREEMPT_RT=y and the ability to push most of the hrtimer processing into
softirq context - while it still keeps the main hrtimer machinery capable to run
in hard-RT hardirq domain. Turns out it was possible to implement this duality via
the softirq-hrtimers, with a good chunk of benefits to non-rt upstream as well.
Thanks,
Ingo
next prev parent reply other threads:[~2018-01-30 6:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-29 8:48 Thomas Gleixner
2018-01-30 0:59 ` Linus Torvalds
2018-01-30 6:30 ` Ingo Molnar [this message]
2018-01-30 18:11 ` Linus Torvalds
2018-01-30 18:25 ` Thomas Gleixner
2018-01-31 6:27 ` Ingo Molnar
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=20180130063002.gxmruvxcqsfp5hv4@gmail.com \
--to=mingo@kernel.org \
--cc=a.p.zijlstra@chello.nl \
--cc=anna-maria@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®