lkml.org 
[lkml]   [2018]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] powerpc: Detect the presence of big-core with interleaved threads
Hello Michael,

On Fri, May 18, 2018 at 11:14:04PM +1000, Michael Ellerman wrote:
> Gautham R Shenoy <ego@linux.vnet.ibm.com> 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?

Sure Michael. I will explore this option.

If we add a file called l1cache_thread_group, then the siblings of the
big-core that share the L1-cache can be described as follows.

# cd /sys/devices/system/cpu
# grep . cpu[0-7]/l1cache_thread_group
cpu0/l1cache_thread_group:0,2,4,6
cpu1/l1cache_thread_group:1,3,5,7
cpu2/l1cache_thread_group:0,2,4,6
cpu3/l1cache_thread_group:1,3,5,7
cpu4/l1cache_thread_group:0,2,4,6
cpu5/l1cache_thread_group:1,3,5,7
cpu6/l1cache_thread_group:0,2,4,6
cpu7/l1cache_thread_group:1,3,5,7

>
> 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
>

\
 
 \ /
  Last update: 2018-05-22 06:31    [W:0.366 / U:1.740 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site