From: Frederic Weisbecker <frederic@kernel.org>
To: Joel Fernandes <joel@joelfernandes.org>
Cc: Thomas Gleixner <tglx@linutronix.de>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/3] tick/nohz: Don't shutdown the lowres tick from itself
Date: Sat, 15 Jul 2023 20:18:57 +0200 [thread overview]
Message-ID: <ZLLjEVxM+kf84vgI@lothringen> (raw)
In-Reply-To: <CAEXW_YRTtvq0_YZiN=V9DZi2QxrC4hQFeUC9=JrgAKkg8KAnmw@mail.gmail.com>
On Fri, Jul 14, 2023 at 09:02:43PM -0400, Joel Fernandes wrote:
> On Fri, Jul 14, 2023 at 8:01 PM Frederic Weisbecker <frederic@kernel.org> wrote:
> >
> > On Fri, Jul 14, 2023 at 02:44:49PM -0400, Joel Fernandes wrote:
> > > On 7/14/23 08:08, Frederic Weisbecker wrote:
> > > One slight concern here though, where in the idle loop is the removed
> > > statement "tick_program_event(KTIME_MAX, 1);" happening if the tick was
> > > already stopped before? If it is happening in tick_nohz_stop_tick(), don't
> > > we early return from there and avoid doing that
> > > "tick_program_event(KTIME_MAX, 1);" altogether, if the tick was already
> > > stopped and the next event has not changed?
> > >
> > > /* Skip reprogram of event if its not changed */
> > > if (ts->tick_stopped && (expires == ts->next_tick)) {
> > > /* Sanity check: make sure clockevent is actually programmed */
> > > if (tick == KTIME_MAX || ts->next_tick == [...]
> > > return;
> > > [...]
> > > }
> >
> > Sure, if tick_program_event(KTIME_MAX, 1) was already called in the
> > previous idle loop iteration, then there is no need to call that again.
> >
> > Or am I missing something else?
>
> Just take it with a grain of salt but I think you need to still call
> tick_program_event(KTIME_MAX, 1) here for the case where the tick was
> previously stopped, and then when the next tick fires (say after a
> long time T), but that tick is a one-off and does not result in
> restarting the tick -- then there is no one to call
> "tick_program_event(KTIME_MAX, 1)".
I'm a bit confused about that one-off thing. What can trigger that timer
interrupt if it has been stopped?
One thing can happen though: a pending timer IRQ while we are stopping the
tick (IRQs are disabled in that idle loop portion). But then that pending timer
interrupt is not going to reprogram another one. So it remains stopped.
Thanks.
next prev parent reply other threads:[~2023-07-15 18:19 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-14 12:08 [PATCH 0/3] tick/nohz cleanups Frederic Weisbecker
2023-07-14 12:08 ` [PATCH 1/3] tick/nohz: Rename the tick handlers to more self-explanatory names Frederic Weisbecker
2023-07-14 18:28 ` Joel Fernandes
2023-07-14 12:08 ` [PATCH 2/3] tick/nohz: Update obsolete comments Frederic Weisbecker
2023-07-14 12:08 ` [PATCH 3/3] tick/nohz: Don't shutdown the lowres tick from itself Frederic Weisbecker
2023-07-14 18:44 ` Joel Fernandes
2023-07-15 0:01 ` Frederic Weisbecker
2023-07-15 1:02 ` Joel Fernandes
2023-07-15 18:18 ` Frederic Weisbecker [this message]
2023-07-15 22:31 ` Joel Fernandes
2023-07-17 17:30 ` Joel Fernandes
2023-07-25 10:01 ` Frederic Weisbecker
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=ZLLjEVxM+kf84vgI@lothringen \
--to=frederic@kernel.org \
--cc=joel@joelfernandes.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/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