From: Peter Zijlstra <peterz@infradead.org>
To: John Stultz <jstultz@google.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Anna-Maria Behnsen <anna-maria@linutronix.de>,
Frederic Weisbecker <frederic@kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Juri Lelli <juri.lelli@redhat.com>,
Vincent Guittot <vincent.guittot@linaro.org>,
Dietmar Eggemann <dietmar.eggemann@arm.com>,
Steven Rostedt <rostedt@goodmis.org>,
Ben Segall <bsegall@google.com>, Mel Gorman <mgorman@suse.de>,
Valentin Schneider <vschneid@redhat.com>,
Stephen Boyd <sboyd@kernel.org>,
Yury Norov <yury.norov@gmail.com>,
Bitao Hu <yaoma@linux.alibaba.com>,
Andrew Morton <akpm@linux-foundation.org>,
kernel-team@android.com
Subject: Re: [RFC][PATCH 2/3] time/tick: Introduce a dyn_hz boot option
Date: Tue, 28 Jan 2025 20:30:17 +0100 [thread overview]
Message-ID: <20250128193017.GE7145@noisy.programming.kicks-ass.net> (raw)
In-Reply-To: <CANDhNCpf9ZXDF8LmXrUgCHqcC+8e-F8_56uEjmaELvOTQb_r7Q@mail.gmail.com>
On Tue, Jan 28, 2025 at 09:29:30AM -0800, John Stultz wrote:
> On Tue, Jan 28, 2025 at 1:07 AM Peter Zijlstra <peterz@infradead.org> wrote:
> > On Mon, Jan 27, 2025 at 10:32:54PM -0800, John Stultz wrote:
> > > +#ifdef CONFIG_DYN_HZ
> > > +extern long long dyn_tick_nsec;
> > > +#define DYN_TICK_NSEC (dyn_tick_nsec)
> > > +#else
> > > +#define DYN_TICK_NSEC TICK_NSEC
> > > +#endif
> >
> > My git-grep TICK_NSEC spies a whole bunch of TICK_NSEC users that seem
> > sad now.
> >
> > That is, why don't they all need updating?
>
> Thanks for taking a look, Peter!
>
> So TICK_NSEC is still the length of the HZ tick. The idea with this
> series is we're leaving HZ as a high frequency, but then just
> programming the interrupt to come in at a lower frequency.
That's word salad. Either the timer is slower, as alluded to below, or
it is not. It can't be both.
> So it's only the logic involved in setting the next interrupt, where
> we need to use DYN_TICK_NSEC.
In other words, the actual interrupts will happen dyn_tick_nsec apart,
not TICK_NSEC.
This means that pretty much every TICK_NSEC user in kernel/events/ is
now wrong. They're assuming the time between interrupts is TICK_NSEC --
we even inhibit NOHZ for perf to ensure this.
Really, you need to audit each and every TICK_NSEC users at the very
least.
next prev parent reply other threads:[~2025-01-28 19:30 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-28 6:32 [RFC][PATCH 0/3] DynamicHZ: Configuring the timer tick rate at boot time John Stultz
2025-01-28 6:32 ` [RFC][PATCH 1/3] time/tick: Pipe tick count down through cputime accounting John Stultz
2025-01-28 14:44 ` Thomas Gleixner
2025-01-29 4:10 ` John Stultz
2025-01-28 6:32 ` [RFC][PATCH 2/3] time/tick: Introduce a dyn_hz boot option John Stultz
2025-01-28 9:07 ` Peter Zijlstra
2025-01-28 17:29 ` John Stultz
2025-01-28 19:30 ` Peter Zijlstra [this message]
2025-01-28 6:32 ` [RFC][PATCH 3/3] Kconfig: Add CONFIG_DYN_HZ_DEFAULT to specify the default dynhz= boot option value John Stultz
2025-01-28 16:46 ` [RFC][PATCH 0/3] DynamicHZ: Configuring the timer tick rate at boot time Thomas Gleixner
2025-01-29 6:10 ` John Stultz
2025-01-29 8:09 ` Thomas Gleixner
2025-02-10 16:54 ` David Laight
2025-02-03 11:14 ` Peter Zijlstra
2025-02-10 1:14 ` Qais Yousef
2025-02-10 1:09 ` Qais Yousef
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=20250128193017.GE7145@noisy.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=akpm@linux-foundation.org \
--cc=anna-maria@linutronix.de \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=frederic@kernel.org \
--cc=jstultz@google.com \
--cc=juri.lelli@redhat.com \
--cc=kernel-team@android.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=rostedt@goodmis.org \
--cc=sboyd@kernel.org \
--cc=tglx@linutronix.de \
--cc=vincent.guittot@linaro.org \
--cc=vschneid@redhat.com \
--cc=yaoma@linux.alibaba.com \
--cc=yury.norov@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox