lkml.org 
[lkml]   [2008]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 02/15] x86_64: Fold pda into per cpu area

* Eric W. Biederman <ebiederm@xmission.com> wrote:

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

agreed, a patch of this gravity and with a diffstat:

12 files changed, 112 insertions(+), 142 deletions(-)

is indeed too large. Test failures that get bisected to this patch will
still cause people to guess about which aspect of the large patch caused
the problem.

Ingo


\
 
 \ /
  Last update: 2008-07-13 19:57    [W:0.255 / U:6.064 seconds]
©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site