From: Peter Zijlstra <peterz@infradead.org>
To: Vincent Guittot <vincent.guittot@linaro.org>
Cc: mingo@redhat.com, juri.lelli@redhat.com,
dietmar.eggemann@arm.com, rostedt@goodmis.org,
bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
linux-kernel@vger.kernel.org, joel@joelfernandes.org,
valentin.schneider@arm.com, fweisbec@gmail.com,
tglx@linutronix.de, qais.yousef@arm.com
Subject: Re: [PATCH 0/7 v4] move update blocked load outside newidle_balance
Date: Wed, 24 Feb 2021 16:53:54 +0100 [thread overview]
Message-ID: <YDZ2kl2dpHUgmjTS@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20210224133007.28644-1-vincent.guittot@linaro.org>
On Wed, Feb 24, 2021 at 02:30:00PM +0100, Vincent Guittot wrote:
> Joel reported long preempt and irq off sequence in newidle_balance because
> of a large number of CPU cgroups in use and having to be updated. This
> patchset moves the update outside newidle_imblance. This enables to early
> abort during the updates in case of pending irq as an example.
>
> Instead of kicking a normal ILB that will wakes up CPU which is already
> idle, patch 6 triggers the update of statistics in the idle thread of
> the CPU before selecting and entering an idle state.
I'm confused... update_blocked_averages(), which calls
__update_blocked_fair(), which is the one doing the cgroup iteration
thing, runs with rq->lock held, and thus will have IRQs disabled any
which way around we turn this thing.
Or is the problem that we called nohz_idle_balance(), which does
update_nohz_stats() -> update_blocked_averages() for evey NOHZ cpu from
newidle balance, such that we get NR_NOHZ_CPUS * NR_CGROUPS IRQ latency?
Which is now reduced to just NR_CGROUPS ?
next prev parent reply other threads:[~2021-02-24 16:07 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-24 13:30 [PATCH 0/7 v4] move update blocked load outside newidle_balance Vincent Guittot
2021-02-24 13:30 ` [PATCH 1/7 v4] sched/fair: remove update of blocked load from newidle_balance Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Remove " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-06 11:42 ` tip-bot2 for Vincent Guittot
2021-02-24 13:30 ` [PATCH 2/7 v4] sched/fair: remove unused return of _nohz_idle_balance Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Remove " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-06 11:42 ` tip-bot2 for Vincent Guittot
2021-02-24 13:30 ` [PATCH 3/7 v4] sched/fair: remove unused parameter of update_nohz_stats Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Remove " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-05 13:55 ` [PATCH 3/7 v4] sched/fair: remove " Qais Yousef
2021-03-06 11:42 ` [tip: sched/core] sched/fair: Remove " tip-bot2 for Vincent Guittot
2021-02-24 13:30 ` [PATCH 4/7 v4] sched/fair: merge for each idle cpu loop of ILB Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Merge " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-06 11:42 ` tip-bot2 for Vincent Guittot
2021-02-24 13:30 ` [PATCH 5/7 v4] sched/fair: reorder newidle_balance pulled_task tests Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Reorder " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-06 11:42 ` tip-bot2 for Vincent Guittot
2021-02-24 13:30 ` [PATCH 6/7 v4] sched/fair: trigger the update of blocked load on newly idle cpu Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Trigger " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-05 13:52 ` [PATCH 6/7 v4] sched/fair: trigger " Qais Yousef
2021-03-06 11:42 ` [tip: sched/core] sched/fair: Trigger " tip-bot2 for Vincent Guittot
2021-02-24 13:30 ` [PATCH 7/7 v4] sched/fair: reduce the window for duplicated update Vincent Guittot
2021-03-02 9:01 ` [tip: sched/core] sched/fair: Reduce " tip-bot2 for Vincent Guittot
2021-03-03 9:49 ` tip-bot2 for Vincent Guittot
2021-03-06 11:42 ` tip-bot2 for Vincent Guittot
2021-02-24 15:53 ` Peter Zijlstra [this message]
2021-02-24 15:57 ` [PATCH 0/7 v4] move update blocked load outside newidle_balance Vincent Guittot
2021-02-24 17:41 ` Peter Zijlstra
2021-02-24 17:51 ` Vincent Guittot
2021-02-24 18:17 ` Peter Zijlstra
2021-02-24 18:46 ` Valentin Schneider
2021-02-25 8:05 ` Vincent Guittot
2021-02-25 12:14 ` Valentin Schneider
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=YDZ2kl2dpHUgmjTS@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=bristot@redhat.com \
--cc=bsegall@google.com \
--cc=dietmar.eggemann@arm.com \
--cc=fweisbec@gmail.com \
--cc=joel@joelfernandes.org \
--cc=juri.lelli@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mgorman@suse.de \
--cc=mingo@redhat.com \
--cc=qais.yousef@arm.com \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=valentin.schneider@arm.com \
--cc=vincent.guittot@linaro.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 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.