On Fri, Dec 02, 2005 at 12:47:09PM +0100, Andi Kleen wrote:
> On Fri, Dec 02, 2005 at 12:23:09AM -0800, Ravikiran G Thirumalai wrote:
> > Patch uses a static PDA array early at boot and reallocates processor PDA
> > with node local memory when kmalloc is ready, just before pda_init.
> > The boot_cpu_pda is needed sice the cpu_pda is used even before pda_init for
> > that cpu is called (to set the static per-cpu areas offset table etc)
>
> Where is it needed? Perhaps it should be just allocated in the
> CPU triggering the other CPU start instead. Then you could avoid that
> or rather only define a __initdata boot_pda for the BP.
>
setup_per_cpu_areas() is invoked quite early in the boot process and it
writes into the cpu_pda.data_offset field for all the cpus. I'd even tried
storing the offset table for cpus in a temporary table (which can be marked
__initdata and discarded later), but there were references
to the static per cpu areas through per_cpu macros (which need to use the
cpu_pda) even before the BP boots up and starts the secondary cpus,
resulting in early exceptions.
> >
> > Index: linux-2.6.15-rc3/arch/x86_64/kernel/head64.c
> > ===================================================================
> > --- linux-2.6.15-rc3.orig/arch/x86_64/kernel/head64.c 2005-11-30 17:01:18.000000000 -0800
> > +++ linux-2.6.15-rc3/arch/x86_64/kernel/head64.c 2005-11-30 17:07:14.000000000 -0800
> > @@ -80,6 +80,7 @@
> > {
> > char *s;
> > int i;
> > + extern struct x8664_pda boot_cpu_pda[];
>
> externs only belong in include files.
Yes, I will change this and resubmit
Thanks,
Kiran
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]