Re: [PATCH 1/2] powerpc: Detect the presence of big-core with interleaved threads

From: Michael Ellerman
Date: Fri May 18 2018 - 08:17:56 EST


Gautham R Shenoy <ego@xxxxxxxxxxxxxxxxxx> writes:
...
>> > @@ -565,7 +615,16 @@ void __init smp_setup_cpu_maps(void)
>> > vdso_data->processorCount = num_present_cpus();
>> > #endif /* CONFIG_PPC64 */
>> >
>> > - /* Initialize CPU <=> thread mapping/
>> > + dn = of_find_node_by_type(NULL, "cpu");
>> > + if (dn) {
>> > + if (check_for_interleaved_big_core(dn)) {
>> > + has_interleaved_big_core = true;
>> > + pr_info("Detected interleaved big-cores\n");
>>
>> Is there a runtime way to check this also? If the dmesg buffer overflows, we
>> lose this.
>
> Where do you suggest we put this ? Should it be a part of
> /proc/cpuinfo ?

Hmm, it'd be nice not to pollute it with more junk.

Can you just look at the pir files in sysfs?

eg. on a normal system:

# cd /sys/devices/system/cpu
# grep . cpu[0-7]/pir
cpu0/pir:20
cpu1/pir:21
cpu2/pir:22
cpu3/pir:23
cpu4/pir:24
cpu5/pir:25
cpu6/pir:26
cpu7/pir:27


cheers