Messages in this thread | | | Date | Thu, 9 Dec 2010 22:43:10 +0100 (CET) | From | Thomas Gleixner <> | Subject | Re: [PATCH 13/16] x86: Unify cpu/apicid <-> NUMA node mapping between 32 and 64bit |
| |
On Sat, 27 Nov 2010, Tejun Heo wrote:
> The mapping between cpu/apicid and node is done via apicid_to_node[] > on 64bit and apicid_2_node[] + apic->numa_cpu_node() on 32bit. This > difference makes it difficult to further unify 32 and 64bit NUMA > hanlding. > > This patch unifies it by replacing both apicid_to_node[] and > apicid_2_node[] with __apicid_to_node[] array, which is accessed by > two accessors - set_apicid_to_node() and numa_cpu_node(). On 64bit, > numa_cpu_node() always consults __apicid_to_node[] directly while > 32bit goes through apic->numa_cpu_node() method to allow apic > implementation to override it. > > There are several places where using numa_cpu_node() is awkward and > the override doesn't matter. In those places, __apicid_to_node[] are > used directly.
Why is it awkward? Anything outside the accessor functions or specialized setup code using it is awkward, inconsistent and sloppy.
Thanks,
tglx
| |