Re: [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data array (v3)

Mike Travis
2007-09-17T15:31:24Z

Stephen Rothwell wrote:
> On Tue, 11 Sep 2007 18:56:53 -0700 travis@sgi.com wrote:
>> Convert cpu_sibling_map to a per_cpu cpumask_t array for the ppc64
>> architecture. This fixes build errors in block/blktrace.c and
>> kernel/sched.c when CONFIG_SCHED_SMT is defined.
>>
>> Note: these changes have not been built nor tested.
>
> After applying all 10 patches, the ppc64_defconfig builds but:
>
> vmlinux is larger:
>
> text data bss dec hex filename
> 7705776 1756984 504624 9967384 981718 ppc64/vmlinux
> 7706228 1757120 504624 9967972 981964 trav.bld/vmlinux
>
> the topology (on my POWERPC5+ box) is not correct:
>
> cpu0/topology/thread_siblings:0000000f
> cpu1/topology/thread_siblings:0000000f
> cpu2/topology/thread_siblings:0000000f
> cpu3/topology/thread_siblings:0000000f
>
> it used to be:
>
> cpu0/topology/thread_siblings:00000003
> cpu1/topology/thread_siblings:00000003
> cpu2/topology/thread_siblings:0000000c
> cpu3/topology/thread_siblings:0000000c
>
> Similarly on my iSeries box, the topology is displayed as above
> while it used to be:
>
> cpu0/topology/thread_siblings:00000001
> cpu1/topology/thread_siblings:00000002
> cpu2/topology/thread_siblings:00000004
> cpu3/topology/thread_siblings:00000008
>

Thanks Stephen for the feedback. It may be the same situation
that some of the other arch's encounter in that the per_cpu
area is being accessed before it's setup. I'll investigate
that a bit more.

Mike