Re: [discuss] [patch 3/3] x86_64: Node local pda take 2 -- node local pda allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Dec 15, 2005 at 10:42:32AM +0100, Andi Kleen wrote:
> On Wed, Dec 14, 2005 at 06:37:48PM -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 since the cpu_pda is used even before pda_init for
> > that cpu is called.   
> > (pda_init is called when APs are brought on at rest_init().  But
> > setup_per_cpu_areas is called early in start_kernel and 
> > sched_init uses the per-cpu offset table early)
> > 
> 
> That is why I suggested to allocate it in smpboot.c in advance before
> starting the AP.  Can you please do that change? 

Maybe I am missing something, or not getting what you are suggesting;
As I see it,

asmlinkage void __init start_kernel(void)
{
	...
	...
	...
	setup_arch(&command_line);  --> (1)
	setup_per_cpu_areas();	    --> (2)
	...
	sched_init();		    --> (3)
	...
        vfs_caches_init_early();
        mem_init();
        kmem_cache_init();	    --> (4)
	...
	rest_init()		    --> (5)
}
	

I could allocate memory for pda somewhere in setup_arch after cpu_to_node is
initialized, but I would have to use alloc_bootmem_node and allocate for 
NR_CPUS, which could be wasteful.  I cannot use kmalloc_node until after (4) 
above, and sched_init refers to the per-cpu offset table before that.

So are you suggesting I use alloc_bootmem_node and allocate PDA for
NR_CPUS?

-
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]
  Powered by Linux