From: Keith O. <ka...@oc...> - 2001-12-15 08:42:34
|
On Fri, 14 Dec 2001 16:31:10 -0800, Russ Weight <rw...@us...> 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. |