From: "Chen, Yu C" <yu.c.chen@intel•com>
To: Shrikanth Hegde <sshegde@linux•ibm.com>
Cc: <srikar@linux•ibm.com>, <venkat88@linux•ibm.com>,
<maddy@linux•ibm.com>, <riteshh@linux•ibm.com>,
<chleroy@kernel•org>, <tim.c.chen@linux•intel.com>,
<peterz@infradead•org>, <linux-kernel@vger•kernel.org>,
<linuxppc-dev@lists•ozlabs.org>, <linux-sched@vger•kernel.org>,
<kprateek.nayak@amd•com>
Subject: Re: [BUG] sched/cache: "Make LLC id continuous" causes NULL cpumask
Date: Thu, 28 May 2026 17:12:41 +0800 [thread overview]
Message-ID: <db443a1e-e6fc-491c-a38a-1cafc8e674cd@intel.com> (raw)
In-Reply-To: <508a604b-2d30-47f4-a63c-36778a1d47c7@linux.ibm.com>
On 5/28/2026 12:58 PM, Shrikanth Hegde wrote:
>
>
> On 5/27/26 11:37 PM, Shrikanth Hegde wrote:
[ ... ]
>> diff --git a/arch/powerpc/include/asm/topology.h b/arch/powerpc/
>> include/ asm/topology.h
>> index 66ed5fe1b718..bd1db3b1dbb0 100644
>> --- a/arch/powerpc/include/asm/topology.h
>> +++ b/arch/powerpc/include/asm/topology.h
>> @@ -131,6 +131,9 @@ static inline int cpu_to_coregroup_id(int cpu)
>> #ifdef CONFIG_SMP
>> #include <asm/cputable.h>
>>
>> +const struct cpumask *arch_llc_mask(int cpu);
>> +#define arch_llc_mask arch_llc_mask
>> +
>> struct cpumask *cpu_coregroup_mask(int cpu);
>> const struct cpumask *cpu_die_mask(int cpu);
>> int cpu_die_id(int cpu);
>> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
>> index 3467f86fd78f..26c15c786c55 100644
>> --- a/arch/powerpc/kernel/smp.c
>> +++ b/arch/powerpc/kernel/smp.c
>> @@ -1101,6 +1101,13 @@ const struct cpumask *cpu_die_mask(int cpu)
>> }
>> EXPORT_SYMBOL_GPL(cpu_die_mask);
>>
>> +const struct cpumask *arch_llc_mask(int cpu)
>> +{
>> + if (has_coregroup_support())
>> + return cpu_coregroup_mask(cpu);
>> + return cpu_smallcore_mask(cpu);
>
>
> This function body needs change, since LLC is not at MC.
> and I didn't account for power9.
>
> Rest of the structure is what i would prefer the direction to go.
> This will help future architectures too to account for their specific
> needs.
>
> What do you think?
>
Yes this direction look good to me. Regarding the arch_llc_mask(),
how about the following per Srikar's description
const struct cpumask *arch_llc_mask(int cpu)
{
/* Power9, CACHE domain is the LLC*/ if (shared_caches)
return cpu_l2_cache_mask(cpu);
/* P7, P8, P10, P11, SMT domain is the LLC*/ return cpu_smt_mask(cpu);
}
thanks,
Chenyu
next prev parent reply other threads:[~2026-05-28 9:13 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-25 14:07 [BUG] sched/cache: "Make LLC id continuous" causes NULL cpumask dereference in build_sched_domains on POWER9 Venkat Rao Bagalkote
2026-05-25 15:35 ` Chen, Yu C
2026-05-25 16:16 ` K Prateek Nayak
2026-05-26 3:14 ` Chen, Yu C
2026-05-26 3:14 ` Srikar Dronamraju
2026-05-26 4:08 ` Chen, Yu C
2026-05-26 4:58 ` Srikar Dronamraju
2026-05-26 5:53 ` K Prateek Nayak
2026-05-26 14:08 ` [BUG] sched/cache: "Make LLC id continuous" causes NULL cpumask Chen Yu
2026-05-27 7:01 ` Shrikanth Hegde
2026-05-27 16:05 ` Chen, Yu C
2026-05-27 18:07 ` Shrikanth Hegde
2026-05-28 4:58 ` Shrikanth Hegde
2026-05-28 9:12 ` Chen, Yu C [this message]
2026-05-28 10:26 ` Shrikanth Hegde
2026-05-28 15:54 ` Srikar Dronamraju
2026-05-28 15:58 ` Srikar Dronamraju
2026-05-27 16:30 ` K Prateek Nayak
2026-05-26 5:24 ` [BUG] sched/cache: "Make LLC id continuous" causes NULL cpumask dereference in build_sched_domains on POWER9 Venkat Rao Bagalkote
2026-05-27 7:05 ` Shrikanth Hegde
2026-05-28 16:01 ` Srikar Dronamraju
2026-05-28 6:54 ` Ritesh Harjani
2026-05-28 16:06 ` Srikar Dronamraju
2026-05-28 11:27 ` Shrikanth Hegde
2026-05-28 13:21 ` Chen, Yu C
2026-05-28 15:06 ` Ritesh Harjani
2026-05-28 15:56 ` Srikar Dronamraju
2026-05-28 16:31 ` Shrikanth Hegde
2026-05-28 16:44 ` Srikar Dronamraju
2026-05-29 3:58 ` Shrikanth Hegde
2026-05-29 6:59 ` Venkat Rao Bagalkote
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=db443a1e-e6fc-491c-a38a-1cafc8e674cd@intel.com \
--to=yu.c.chen@intel$(echo .)com \
--cc=chleroy@kernel$(echo .)org \
--cc=kprateek.nayak@amd$(echo .)com \
--cc=linux-kernel@vger$(echo .)kernel.org \
--cc=linux-sched@vger$(echo .)kernel.org \
--cc=linuxppc-dev@lists$(echo .)ozlabs.org \
--cc=maddy@linux$(echo .)ibm.com \
--cc=peterz@infradead$(echo .)org \
--cc=riteshh@linux$(echo .)ibm.com \
--cc=srikar@linux$(echo .)ibm.com \
--cc=sshegde@linux$(echo .)ibm.com \
--cc=tim.c.chen@linux$(echo .)intel.com \
--cc=venkat88@linux$(echo .)ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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