All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tim Chen <tim.c.chen@linux.intel.com>
To: Jemmy Wong <jemmywong512@gmail.com>,
	Ingo Molnar <mingo@redhat.com>,
	 Peter Zijlstra <peterz@infradead.org>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot	 <vincent.guittot@linaro.org>
Cc: 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>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/3] sched/fair: Add smt_balance and llc_balance to the decision matrix
Date: Mon, 05 Oct 2026 14:56:19 -0700	[thread overview]
Message-ID: <ff375bd27d03f4e13552c39b212c839254409b70.camel@linux.intel.com> (raw)
In-Reply-To: <20261002154634.71878-2-jemmywong512@gmail.com>

On Fri, 2026-10-02 at 23:46 +0800, Jemmy Wong wrote:
> The group-type matrix was introduced in commit 0b0695f2b34a
> ("sched/fair: Rework load_balance()"). When commit fee1759e4f04
> ("sched/fair: Determine active load balance for SMT sched groups")
> added group_smt_balance and commit f38cc2f0d8a3 ("sched/cache:
> Prioritize tasks preferring destination LLC during balancing")
> added group_llc_balance, neither commit updated the matrix table.
> 
> Both types are only tagged on non-local groups in update_sg_lb_stats(),
> so their local columns are N/A.
> 
> As busiest, group_smt_balance is only set when dst_cpu is idle and the
> SMT group runs more than one task. Against a local has_spare or
> fully_busy group it goes through the nr_idle checks, where a non-SMT
> dst group may also force the pull via smt_vs_nonsmt_groups(). Against a
> local imbalanced or overloaded group the local group is busier and the
> pair is balanced.
> 
> As busiest, group_llc_balance is not an unconditional force. Against a
> local has_spare group it forces the pull when prefer_sibling is set,
> because the group_llc_balance test comes before sibling_imbalance() in
> sched_balance_find_src_group(). SD_PREFER_SIBLING is only cleared for
> NUMA domains. Against a local fully_busy or imbalanced group the nr_idle
> checks apply, and against a local overloaded group the local group is
> busier and the pair is balanced.
> 
> No functional change.
> 
> Signed-off-by: Jemmy Wong <jemmywong512@gmail.com>

Reviewed-by: Tim Chen <tim.c.chen@linux.intel.com>

Tim

> ---
>  kernel/sched/fair.c | 16 +++++++++-------
>  1 file changed, 9 insertions(+), 7 deletions(-)
> 
> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
> index 57360f5cdde4..bcb9987952b9 100644
> --- a/kernel/sched/fair.c
> +++ b/kernel/sched/fair.c
> @@ -13184,13 +13184,15 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s
>  /*
>   * Decision matrix according to the local and busiest group type:
>   *
> - * busiest \ local has_spare fully_busy misfit asym imbalanced overloaded
> - * has_spare        nr_idle   balanced   N/A    N/A  balanced   balanced
> - * fully_busy       nr_idle   nr_idle    N/A    N/A  balanced   balanced
> - * misfit_task      force     N/A        N/A    N/A  N/A        N/A
> - * asym_packing     force     force      N/A    N/A  force      force
> - * imbalanced       force     force      N/A    N/A  force      force
> - * overloaded       force     force      N/A    N/A  force      avg_load
> + * busiest \ local has_spare fully_busy misfit smt asym imbalanced llc overloaded
> + * has_spare        nr_idle   balanced   N/A   N/A  N/A  balanced  N/A  balanced
> + * fully_busy       nr_idle   nr_idle    N/A   N/A  N/A  balanced  N/A  balanced
> + * misfit_task      force     N/A        N/A   N/A  N/A  N/A       N/A  N/A
> + * smt_balance      nr_idle   nr_idle    N/A   N/A  N/A  balanced  N/A  balanced
> + * asym_packing     force     force      N/A   N/A  N/A  force     N/A  force
> + * imbalanced       force     force      N/A   N/A  N/A  force     N/A  force
> + * llc_balance      force     nr_idle    N/A   N/A  N/A  nr_idle   N/A  balanced
> + * overloaded       force     force      N/A   N/A  N/A  force     N/A  avg_load
>   *
>   * N/A :      Not Applicable because already filtered while updating
>   *            statistics.

  parent reply	other threads:[~2026-10-05 21:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-02 15:46 [PATCH v2 0/3] sched/fair: Update decision matrix and rename pinned-task group state Jemmy Wong
2026-10-02 15:46 ` [PATCH v2 1/3] sched/fair: Add smt_balance and llc_balance to the decision matrix Jemmy Wong
2026-10-02 21:36   ` Tim Chen
2026-10-05 21:56   ` Tim Chen [this message]
2026-10-02 15:46 ` [PATCH v2 2/3] sched/fair: Rename group_imbalanced to group_pinned_imb Jemmy Wong
2026-10-02 15:46 ` [PATCH v2 3/3] sched/fair: Rename sgc->imbalance to sgc->pinned_imb Jemmy Wong

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=ff375bd27d03f4e13552c39b212c839254409b70.camel@linux.intel.com \
    --to=tim.c.chen@linux.intel.com \
    --cc=bsegall@google.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=jemmywong512@gmail.com \
    --cc=juri.lelli@redhat.com \
    --cc=kprateek.nayak@amd.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.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.