From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Anna-Maria Behnsen <anna-maria@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
Marcelo Tosatti <mtosatti@redhat.com>,
Frederic Weisbecker <frederic@kernel.org>,
Peter Xu <peterx@redhat.com>,
Nitesh Narayan Lal <nitesh@redhat.com>,
Alex Belits <abelits@marvell.com>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
John Stultz <john.stultz@linaro.org>
Subject: [patch 0/8] hrtimers: Overhaul the clock_was_set() logic
Date: Tue, 27 Apr 2021 10:25:37 +0200 [thread overview]
Message-ID: <20210427082537.611978720@linutronix.de> (raw)
A recent patch from Marcelo to avoid IPIs when the clock was set
https://lore.kernel.org/r/20210407135301.GA16985@fuller.cnet
made me look deeper into this.
That mechanism has caught some dust and bitrot over time and just making
clock_was_set() a little bit smarter does not make the code any better.
The following series addresses this by:
- Fixing the cases where the clock_was_set() handling is incorrect
depending on configuration or runtime conditions.
- Distangle the resume notification and the clock-was-set mechanism
to prepare for IPI avoidance
- Adopt Marcelo's patch to the modified code and add some more smarts on
top.
The series is also available from git:
git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git hrtimer
Thanks,
tglx
---
fs/timerfd.c | 16 +++
include/linux/hrtimer.h | 8 -
kernel/time/hrtimer.c | 217 ++++++++++++++++++++++++++++++++------------
kernel/time/tick-common.c | 7 +
kernel/time/tick-internal.h | 12 ++
kernel/time/timekeeping.c | 36 ++++---
6 files changed, 219 insertions(+), 77 deletions(-)
next reply other threads:[~2021-04-27 8:38 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-27 8:25 Thomas Gleixner [this message]
2021-04-27 8:25 ` [patch 1/8] hrtimer: Ensure timerfd notification for HIGHRES=n Thomas Gleixner
2021-04-27 8:25 ` [patch 2/8] hrtimer: Force clock_was_set() handling for the HIGHRES=n, NOHZ=y case Thomas Gleixner
2021-05-12 14:59 ` Peter Zijlstra
2021-05-12 16:40 ` Thomas Gleixner
2021-04-27 8:25 ` [patch 3/8] timerfd: Provide timerfd_resume() Thomas Gleixner
2021-04-27 8:25 ` [patch 4/8] timekeeping: Distangle resume and clock-was-set events Thomas Gleixner
2021-04-27 8:25 ` [patch 5/8] time/timekeeping: Avoid invoking clock_was_set() twice Thomas Gleixner
2021-04-27 8:25 ` [patch 6/8] hrtimer: Add bases argument to clock_was_set() Thomas Gleixner
2021-04-27 8:25 ` [patch 7/8] hrtimer: Avoid unnecessary SMP function calls in clock_was_set() Thomas Gleixner
2021-05-13 14:59 ` Peter Zijlstra
2021-05-14 18:52 ` Thomas Gleixner
2021-05-14 23:28 ` Peter Zijlstra
2021-05-15 0:24 ` Thomas Gleixner
2021-04-27 8:25 ` [patch 8/8] hrtimer: Avoid more " Thomas Gleixner
2021-04-27 15:11 ` Marcelo Tosatti
2021-04-27 19:59 ` Thomas Gleixner
2021-04-30 7:12 ` [patch V2 " Thomas Gleixner
2021-04-30 16:49 ` Marcelo Tosatti
2021-05-13 7:47 ` Peter Zijlstra
2021-05-14 19:08 ` Thomas Gleixner
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=20210427082537.611978720@linutronix.de \
--to=tglx@linutronix.de \
--cc=abelits@marvell.com \
--cc=anna-maria@linutronix.de \
--cc=frederic@kernel.org \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mtosatti@redhat.com \
--cc=nitesh@redhat.com \
--cc=peterx@redhat.com \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
/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.