Messages in this thread | | | From | Keith Owens <> | Subject | Re: Static/Global Arrays | Date | Sat, 15 Dec 2001 19:42:10 +1100 |
| |
On Fri, 14 Dec 2001 16:31:10 -0800, Russ Weight <rweight@us.ibm.com> wrote: > I have tabulated lists of static and global arrays in the >2.4.16 kernel. I am posting the information here in case it may be >of interest to some of you. I would recommend starting with the >linux/kernel and linux/fs tables, as these are the most complete. > > http://lse.sourceforge.net/resource/#staticarray
Stating the obvious: For any array with dimension [32] or [64], check if the source code uses [NR_CPUS]. IMHO there is no point in trying to make those arrays dynamic in size, you penalize the 99% of small machines on the off chance that somebody is going to run single system image Linux on a box with > 32/64 processors. People using such large machines can recompile the kernel with a new value of NR_CPUS.
As a separate problem, there are still places in the kernel which assume the number of cpus can be represented in a bitmap of type long. That code would be worth tracking down and changing to remove the assumption that NR_CPUS <= 8*sizeof(long). Until that is done, you cannot run SSI Linux on machines with > 32/64 processors.
Note to self: after the bitmap code limit has been removed, make NR_CPUS a config option to get ready for huge machines, make CONFIG_NR_CPUS a critical config option.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |