Re: [RFC PATCH v4 08/28] sched: Set up LLC indexing

From: Chen, Yu C

Date: Mon Sep 29 2025 - 22:54:27 EST


On 9/29/2025 6:43 PM, Adam Li wrote:
On 9/26/2025 9:51 PM, Chen, Yu C wrote:
Hi Adam,

On 9/26/2025 2:14 PM, Adam Li wrote:

[snip]
  #ifdef CONFIG_SCHED_CACHE
-       if (llc_has_parent_sd && multi_llcs_node && !sched_asym_cpucap_active())
+       if (has_llc && llc_has_parent_sd && multi_llcs_node &&

multi_llcs_node will be false if there is no SD_SHARE_LLC domain on the
platform, so I suppose we don’t have to introduce has_llc?
multi_llcs is set to true iff there are more than 1 SD_SHARE_LLC domains under its
SD_SHARE_LLC parent domain.


If there is *no* SD_SHARE_LLC domain, my test shows 'multi_llcs_node' is still 1 (true).

Looks it is because the default value of 'multi_llcs_node' is 1.

build_sched_domains():
unsigned int multi_llcs_node = 1;

And this condition is always false since we have no SD_SHARE_LLC domain,
therefore 'multi_llcs_node' will not be changed:

if (!(sd->flags & SD_SHARE_LLC) && child &&
(child->flags & SD_SHARE_LLC))


I see. I was looking at the v5 internal version where
multi_llcs was initialized to 0. Let me double check
and refine the logic. Thanks!

Chenyu


Thanks,
-adam