On Fri, Feb 26, 2010 at 7:37 AM, Patrick Georgi patrick@georgi-clan.dewrote:
Am 26.02.2010 15:14, schrieb Myles Watson:
I would like to double check this before it gets committed. I only tried it once, and the difference was very large. 3M of stack doesn't seem right.
Those 3M are CONFIG_MAX_CPUS*CONFIG_STACK_SIZE, right?
Yep. I didn't realize that CONFIG_MAX_CPUS was 48.
I think there is some code that assigns a local stack area for each CPU, the 3M aren't meant for a single instance of code running (which would indeed be huge).
For me, the only change that needs to be made is:
- . = ((CONFIG_CONSOLE_VGA || CONFIG_PCI_ROM_RUN)&&(CONFIG_RAMBASE<0x100000)&&(CONFIG_RAMTOP>0x100000) ) ? CONFIG_STACK_SIZE : (CONFIG_MAX_CPUS*CONFIG_STACK_SIZE);
+ . += ((CONFIG_CONSOLE_VGA || CONFIG_PCI_ROM_RUN)&&(CONFIG_RAMBASE<0x100000)&&(CONFIG_RAMTOP>0x100000) ) ? CONFIG_STACK_SIZE : (CONFIG_MAX_CPUS*CONFIG_STACK_SIZE);
Removing the .stack construct makes no difference.
I like the idea of minimizing the change.
Thanks,
Myles