lkml.org 
[lkml]   [2010]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH 4/9] x86: Initialize 32bit logical apicid mapping early during boot
From
On Thu, Nov 11, 2010 at 6:02 AM, Tejun Heo <tj@kernel.org> wrote:
> On x86_32, non-standard logical apicid mapping can be used by
> different NUMA setups and the mapping is queried while bringing up
> each CPU using apic->cpu_to_logical_apicid() to build
> cpu_2_logical_apicid[] array.  The logical apicid is then used to
> deliver IPIs and determine NUMA configuration.
>
> Unfortunately, initializing at SMP bring up is too late for percpu
> setup making static percpu variables setup w/o considering NUMA.  This
> also is different from how x86_64 is configured making the code
> difficult to follow and maintain.
>
> This patch updates logical apicid mapping handling such that,
>
> * early_percpu variable x86_cpu_to_logical_apicid replaces
>  cpu_2_logical_apicid[].

You are missing code in setup_percpu.c to copy the values from the
early array to the percpu variable. This isn't handled automatically.

Also make sure that any direct use of the percpu variable (ie. not via
early_per_cpu()) can happen only after percpu setup.

--
Brian Gerst
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2010-11-12 02:57    [W:0.128 / U:0.556 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site