All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederic Weisbecker <frederic@kernel.org>
To: Marco Crivellari <marco.crivellari@suse.com>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@kernel.org>,
	Michal Hocko <mhocko@suse.com>,
	Aaron Tomlin <atomlin@atomlin.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	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>,
	K Prateek Nayak <kprateek.nayak@amd.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Anna-Maria Behnsen <anna-maria@linutronix.de>,
	Thomas Gleixner <tglx@kernel.org>
Subject: Re: [PATCH v2 2/4] sched/idle: Don't handle polling idle as dynticks idle
Date: Wed, 11 Nov 2026 17:57:02 +0100	[thread overview]
Message-ID: <avSeXluNMl_XGPEw@localhost.localdomain> (raw)
In-Reply-To: <20261111114406.346953-3-marco.crivellari@suse.com>

Le Wed, Nov 11, 2026 at 12:43:48PM +0100, Marco Crivellari a écrit :
> TS_FLAG_INIDLE tells nohz whether the tick is managed by the idle loop or
> on IRQ exit. With idle=poll it is set while polling, but cpu_idle_poll()
> doesn't run the idle loop again on interrupts: a nohz_full kick or the
> expiry of a stopped tick isn't re-evaluated until something sets
> TIF_NEED_RESCHED. The tick is therefore restarted before polling, and on
> nohz_full CPUs it then keeps running after the wake-up and interrupts
> userspace.
> 
> Enter dynticks idle only on the cpuidle path, from cpuidle_idle_call(),
> and leave it before cpu_idle_poll(). While polling, the tick is then
> managed on IRQ exit as for a running task: on nohz_full CPUs it stays
> stopped if possible, and nothing is left to do on wake-up, so the task
> doesn't pay for a tick stop after waking up. On other CPUs, leaving
> dynticks idle restarts the tick as before.
> 
> tick_nohz_idle_enter() may now be called on each idle loop iteration and
> always runs with interrupts disabled; tick_nohz_idle_exit() may be called
> outside dynticks idle and with interrupts disabled.
> 
> Cc: Peter Zijlstra <peterz@infradead.org>
> Cc: Juri Lelli <juri.lelli@redhat.com>
> Cc: Vincent Guittot <vincent.guittot@linaro.org>
> Cc: Dietmar Eggemann <dietmar.eggemann@arm.com>
> Cc: Steven Rostedt <rostedt@goodmis.org>
> Cc: Ben Segall <bsegall@google.com>
> Cc: Mel Gorman <mgorman@suse.de>
> Cc: Valentin Schneider <vschneid@redhat.com>
> Cc: K Prateek Nayak <kprateek.nayak@amd.com>
> Cc: Paul E. McKenney <paulmck@kernel.org>
> Cc: Anna-Maria Behnsen <anna-maria@linutronix.de>
> Cc: Thomas Gleixner <tglx@kernel.org>
> Link: https://lore.kernel.org/all/aQiWfnnSzxsnwa2o@tpad/
> Suggested-by: Frederic Weisbecker <frederic@kernel.org>
> Signed-off-by: Marco Crivellari <marco.crivellari@suse.com>

Reviewed-by: Frederic Weisbecker <frederic@kernel.org>

-- 
Frederic Weisbecker
SUSE Labs

  reply	other threads:[~2026-11-11 16:57 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-11 11:43 [PATCH v2 0/4] Stop the idle tick on polling idle on nohz_full CPUs Marco Crivellari
2026-11-11 11:43 ` [PATCH v2 1/4] tick/nohz: Re-evaluate the tick on return to user space Marco Crivellari
2026-11-11 16:25   ` Frederic Weisbecker
2026-11-12 10:36     ` Marco Crivellari
2026-11-11 11:43 ` [PATCH v2 2/4] sched/idle: Don't handle polling idle as dynticks idle Marco Crivellari
2026-11-11 16:57   ` Frederic Weisbecker [this message]
2026-11-11 16:58     ` Peter Zijlstra
2026-11-12 10:00       ` Marco Crivellari
2026-11-12  3:27   ` K Prateek Nayak
2026-11-12 10:08     ` Marco Crivellari
2026-11-11 11:43 ` [PATCH v2 3/4] tick/nohz: Remove tick_nohz_idle_restart_tick() Marco Crivellari
2026-11-11 16:59   ` Frederic Weisbecker
2026-11-11 11:43 ` [PATCH v2 4/4] Documentation: no_hz: Add tick stop in polling idle Marco Crivellari
2026-11-11 17:00   ` 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=avSeXluNMl_XGPEw@localhost.localdomain \
    --to=frederic@kernel.org \
    --cc=anna-maria@linutronix.de \
    --cc=atomlin@atomlin.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=juri.lelli@redhat.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marco.crivellari@suse.com \
    --cc=mgorman@suse.de \
    --cc=mhocko@suse.com \
    --cc=mingo@kernel.org \
    --cc=mtosatti@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=tglx@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.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 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.