Re: [PATCH v2 0/4] powerpc/topology: Introduce llc_override kernel parameter
flat view
From: Tim Chen <hidden>
Date: 2026-10-23 17:58:43
Also in:
lkml
On Fri, 2026-10-23 at 18:46 +0530, Shrikanth Hegde wrote:
Provide an option for users to enable cache aware scheduling on powerpc via a command line parameter. More details of the problem and context is in cover-letter of v1. v1: https://lore.kernel.org/all/20261012102037.2477378-1-sshegde@linux.ibm.com/ (local) v1->v2: - Move to kernel parameters from debugfs. This helps to keep llc_id consistent which doesn't change across sched domain rebuilds. (Tim Chen) - Update arch_llc_mask to reflect the override (Tim Chen) - Limit only to mc, pkg (Srikar Dronamraju) Notes: - A selftest for the functional validation of cache aware scheduling is a good idea as we discussed in v1. It is a significant change on its own and likely takes time. I am thinking it might be good idea to revisit selftests for scheduler in general. (We have very few). Maybe worth a discussion in coming OSPM. - I am on parental leave. This version is pretty much what I had last week and I haven't gotten any chance to update since. just sending it out. Sorry if I have missed to address any comments. Please expect delays in my response.
Thanks for sending this while on leave, and congratulations!
The updated approach with boot parameters looks good to me.
Some minor points:
1. llc_bytes. As Chen Yu noted, get_effective_llc_bytes() returns 0
on powerpc because the generic cacheinfo is not populated. With
NUMA balancing on and the default llc_aggr_tolerance, any process
with a footprint then fails exceed_llc_capacity(), so cache aware
scheduling still does not engage.
2. Bisection. Patch 2 moves SD_SHARE_LLC to MC/PKG, but
arch_llc_mask() only follows in patch 3, so a kernel at patch 2
booted with llc_override=mc has sd_llc at MC with per-L2 llc ids,
causing mismatch. It may be better to squash 2 and 3.
3. llc_override is only written at boot. Making it
static int llc_override __ro_after_init;
and then you don't have to worry about READ_ONCE and WRITE_ONCE
to it as Chen Yu pointed out.
Tim
Shrikanth Hegde (4): powerpc/topology: Introduce llc_override kernel parameter powerpc/topology: Update mc/pkg flags based on llc_override powerpc/topology: update arch_llc_mask based llc_override Documentation/powerpc: Add details about llc_override .../admin-guide/kernel-parameters.txt | 15 ++++ arch/powerpc/include/asm/topology.h | 8 +-- arch/powerpc/kernel/smp.c | 69 +++++++++++++++++-- 3 files changed, 81 insertions(+), 11 deletions(-)