lkml.org 
[lkml]   [2008]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [RFC 02/15] x86_64: Fold pda into per cpu area
Mike Travis <travis@sgi.com> writes:

> WARNING: there is still a FIXME in this patch (see arch/x86/kernel/acpi/sleep.c)
>
> * Declare the pda as a per cpu variable.
>
> * Make the x86_64 per cpu area start at zero.
>
> * Relocate the initial pda and per_cpu(gdt_page) in head_64.S for the
> boot cpu (0). For secondary cpus, do_boot_cpu() sets up the correct
> initial pda and gdt_page pointer.
>
> * Initialize per_cpu_offset to point to static pda in the per_cpu area
> (@ __per_cpu_load).
>
> * After allocation of the per cpu area for the boot cpu (0), reload the
> gdt page pointer.
>
> Based on linux-2.6.tip/master

Given that we have not yet understood the weird failure case. This patch needs
to be split in two.
- make the current per cpu variable section zero based.
- Move the pda into the per cpu variable section.

There are too many variables at present the reported failure cases to
guess what is really going on.

We can not optimize the per cpu variable accesses until the pda moves
but we can easily test for linker and tool chain bugs with zero
based pda segment itself.

Eric


\
 
 \ /
  Last update: 2008-07-10 00:15    [from the cache]
©2003-2011 Jasper Spaans