x86: remove static boot_cpu_pda array v2
* Remove the boot_cpu_pda array and pointer table from the data section. Allocate the pointer table and array during init. do_boot_cpu() will reallocate the pda in node local memory and if the cpu is being brought up before the bootmem array is released (after_bootmem = 0), then it will free the initial pda. This will happen for all cpus present at system startup. This removes 512k + 32k bytes from the data section. For inclusion into sched-devel/latest tree. Based on: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git + sched-devel/latest .../mingo/linux-2.6-sched-devel.git Signed-off-by: Mike Travis <travis@sgi.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
@@ -22,7 +22,8 @@ struct x8664_pda {
|
||||
offset 40!!! */
|
||||
#endif
|
||||
char *irqstackptr;
|
||||
int nodenumber; /* number of current node */
|
||||
short nodenumber; /* number of current node (32k max) */
|
||||
short in_bootmem; /* pda lives in bootmem */
|
||||
unsigned int __softirq_pending;
|
||||
unsigned int __nmi_count; /* number of NMI on this CPUs */
|
||||
short mmu_state;
|
||||
@@ -38,8 +39,7 @@ struct x8664_pda {
|
||||
unsigned irq_spurious_count;
|
||||
} ____cacheline_aligned_in_smp;
|
||||
|
||||
extern struct x8664_pda *_cpu_pda[];
|
||||
extern struct x8664_pda boot_cpu_pda[];
|
||||
extern struct x8664_pda **_cpu_pda;
|
||||
extern void pda_init(int);
|
||||
|
||||
#define cpu_pda(i) (_cpu_pda[i])
|
||||
|
Reference in New Issue
Block a user