For DP Xeon MB, CONFIG_MAX_CPUS should be 4 or 2?
It is used only by you said stack....
config/linuxbios_ram.ld: . = (CONFIG_MAX_CPUS * STACK_SIZE) ; cpu/x86/pae/pgtbl.c: static struct pg_table pgtbl[CONFIG_MAX_CPUS] __attribute__ ((aligned(4096))); cpu/x86/pae/pgtbl.c: static unsigned long mapped_window[CONFIG_MAX_CPUS]; cpu/x86/pae/pgtbl.c: if ((index < 0) || (index >= CONFIG_MAX_CPUS)) {
YH
-----Original Message----- From: ebiederman@lnxi.com [mailto:ebiederman@lnxi.com] Sent: Tuesday, November 02, 2004 5:06 PM To: Li-Ta Lo Cc: LinuxBIOS Subject: Re: tagging freebios2 tree
Li-Ta Lo ollie@lanl.gov writes:
On Tue, 2004-08-24 at 19:07, Eric W. Biederman wrote:
No quite I put the cpu_info structure at the bottom of the stack, and this function looks it up.
The same idea has been used in the kernel for quite a while.
Basically this allows me to preallocate some per cpu information and to pass that into cpu_initialize from another cpu.
The linux kernel has been doing something similar for quite a while.
Does cpu_info() return different value depends on which CPU it is running ?
Yes. The stack is per cpu and it returns a fixed address from the stack structure.
Are the data structures per CPU or shared between CPUs ?
per-cpu. Which is the point.
Eric _______________________________________________ Linuxbios mailing list Linuxbios@clustermatic.org http://www.clustermatic.org/mailman/listinfo/linuxbios
YhLu YhLu@tyan.com writes:
For DP Xeon MB, CONFIG_MAX_CPUS should be 4 or 2?
It is used only by you said stack....
It should be 4. It is used to allocate per cpu sized arrays. The one per cpu data structure you have found are the page tables for accessing more than 4GiB of memory. They are actually quite small as I always use 2MiB pages.
config/linuxbios_ram.ld: . = (CONFIG_MAX_CPUS * STACK_SIZE) ; cpu/x86/pae/pgtbl.c: static struct pg_table pgtbl[CONFIG_MAX_CPUS] __attribute__ ((aligned(4096))); cpu/x86/pae/pgtbl.c: static unsigned long mapped_window[CONFIG_MAX_CPUS]; cpu/x86/pae/pgtbl.c: if ((index < 0) || (index >= CONFIG_MAX_CPUS)) {
Eric