aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/pda.h
diff options
context:
space:
mode:
authorMike Travis <travis@sgi.com>2008-05-12 15:21:13 -0400
committerIngo Molnar <mingo@elte.hu>2008-07-08 05:31:25 -0400
commit3461b0af025251bbc6b3d56c821c6ac2de6f7209 (patch)
tree5350ad712311a69b4b59deec1ec60d8573db8817 /include/asm-x86/pda.h
parent9f248bde9d47cc177011198c9a15fb339b9f3215 (diff)
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>
Diffstat (limited to 'include/asm-x86/pda.h')
-rw-r--r--include/asm-x86/pda.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/asm-x86/pda.h b/include/asm-x86/pda.h
index de2ad9ac35a9..b34e9a7cc80b 100644
--- a/include/asm-x86/pda.h
+++ b/include/asm-x86/pda.h
@@ -22,7 +22,8 @@ struct x8664_pda {
22 offset 40!!! */ 22 offset 40!!! */
23#endif 23#endif
24 char *irqstackptr; 24 char *irqstackptr;
25 int nodenumber; /* number of current node */ 25 short nodenumber; /* number of current node (32k max) */
26 short in_bootmem; /* pda lives in bootmem */
26 unsigned int __softirq_pending; 27 unsigned int __softirq_pending;
27 unsigned int __nmi_count; /* number of NMI on this CPUs */ 28 unsigned int __nmi_count; /* number of NMI on this CPUs */
28 short mmu_state; 29 short mmu_state;
@@ -38,8 +39,7 @@ struct x8664_pda {
38 unsigned irq_spurious_count; 39 unsigned irq_spurious_count;
39} ____cacheline_aligned_in_smp; 40} ____cacheline_aligned_in_smp;
40 41
41extern struct x8664_pda *_cpu_pda[]; 42extern struct x8664_pda **_cpu_pda;
42extern struct x8664_pda boot_cpu_pda[];
43extern void pda_init(int); 43extern void pda_init(int);
44 44
45#define cpu_pda(i) (_cpu_pda[i]) 45#define cpu_pda(i) (_cpu_pda[i])