From: Shrikanth Hegde <sshegde@linux.ibm.com>
To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,
peterz@infradead.org, tim.c.chen@linux.intel.com
Cc: sshegde@linux.ibm.com, christophe.leroy@csgroup.eu,
linux-kernel@vger.kernel.org, ritesh.list@gmail.com,
kprateek.nayak@amd.com, yu.c.chen@intel.com,
vineethr@linux.ibm.com, vincent.guittot@linaro.org,
srikar@linux.ibm.com, npiggin@gmail.com, mpe@ellerman.id.au
Subject: [PATCH v2 1/4] powerpc/topology: Introduce llc_override kernel parameter
Date: Fri, 23 Oct 2026 18:46:43 +0530 [thread overview]
Message-ID: <20261023131646.2907938-2-sshegde@linux.ibm.com> (raw)
In-Reply-To: <20261023131646.2907938-1-sshegde@linux.ibm.com>
There is a new feature in scheduler called as Cache Aware Scheduling.
It tries to keep related tasks within the same LLC domain while
keeping the system reasonably balanced.
Cache Aware Scheduling assumes that the scheduler LLC domain is large
enough to be a useful placement target. This is true on many systems
where an LLC spans several cores, but not on PowerPC systems where the
scheduler-visible LLC is at the SMT level.
In that case, sd_llc_size is effectively the SMT width.
This becomes visible in the capacity check:
!fits_capacity((mm->sc_stat.nr_running_avg * cpu_smt_num_threads),
scale * per_cpu(sd_llc_size, cpu));
As a result, it may be enabled but has no room to operate.
Hence provide a kernel parameter so that one can try experiment
their workload with cache aware scheduling. This also provides ways to
explore it on system with SMT=4 to see if there are any opportunities
to improve or uncover bugs if there is any.
This does not change the hardware cache topology. It only changes the
sched-domain level at which SD_SHARE_LLC is set.
There is no point in setting NUMA as the LLC domain. So give option
until pkg to experiment with.
Actual flag manipulations for sched domain flags and llc mask is updated
in the subsequent patches.
Signed-off-by: Shrikanth Hegde <sshegde@linux.ibm.com>
---
arch/powerpc/kernel/smp.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 6a5a5469aaae..6b1201ea3572 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -1059,6 +1059,29 @@ static bool has_coregroup_support(void)
return coregroup_enabled;
}
+enum llc_override_values {
+ LLC_OVERRIDE_MC = 1,
+ LLC_OVERRIDE_PKG = 2,
+};
+
+static int llc_override;
+
+static int __init set_llc_override(char *str)
+{
+ if (!strcasecmp(str, "mc") && has_coregroup_support())
+ WRITE_ONCE(llc_override, LLC_OVERRIDE_MC);
+ else if (!strcasecmp(str, "pkg"))
+ WRITE_ONCE(llc_override, LLC_OVERRIDE_PKG);
+ else {
+ pr_warn("Unsupported llc_override=%s\n", str);
+ return 1;
+ }
+
+ pr_info("llc_override set at domain: %s\n", str);
+ return 1;
+}
+__setup("llc_override=", set_llc_override);
+
static int __init init_big_cores(void)
{
int cpu;
--
2.52.0
next prev parent reply other threads:[~2026-10-23 13:17 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-23 13:16 [PATCH v2 0/4] " Shrikanth Hegde
2026-10-23 13:16 ` Shrikanth Hegde [this message]
2026-10-23 15:42 ` [PATCH v2 1/4] " Chen Yu
2026-10-23 13:16 ` [PATCH v2 2/4] powerpc/topology: Update mc/pkg flags based on llc_override Shrikanth Hegde
2026-10-23 13:16 ` [PATCH v2 3/4] powerpc/topology: Update arch_llc_mask based llc_override Shrikanth Hegde
2026-10-23 13:16 ` [PATCH v2 4/4] Documentation/powerpc: Add details about llc_override Shrikanth Hegde
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=20261023131646.2907938-2-sshegde@linux.ibm.com \
--to=sshegde@linux.ibm.com \
--cc=christophe.leroy@csgroup.eu \
--cc=kprateek.nayak@amd.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=peterz@infradead.org \
--cc=ritesh.list@gmail.com \
--cc=srikar@linux.ibm.com \
--cc=tim.c.chen@linux.intel.com \
--cc=vincent.guittot@linaro.org \
--cc=vineethr@linux.ibm.com \
--cc=yu.c.chen@intel.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
all inboxes | Powered by JetHome®