diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-05-26 04:14:43 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-05-29 05:49:49 -0400 |
commit | 22adb358e816ce6aa0afb231ae9d826b0bddc8b0 (patch) | |
tree | 6f9886bf5b4e5c916c72d8d5733211813873c5fc /arch/sparc64/Kconfig | |
parent | 5cbc30737398b49f62ae8603129ce43ac7db1a41 (diff) |
[SPARC64]: Eliminate NR_CPUS limitations.
Cheetah systems can have cpuids as large as 1023, although physical
systems don't have that many cpus.
Only three limitations existed in the kernel preventing arbitrary
NR_CPUS values:
1) dcache dirty cpu state stored in page->flags on
D-cache aliasing platforms. With some build time
calculations and some build-time BUG checks on
page->flags layout, this one was easily solved.
2) The cheetah XCALL delivery code could only handle
a cpumask with up to 32 cpus set. Some simple looping
logic clears that up too.
3) thread_info->cpu was a u8, easily changed to a u16.
There are a few spots in the kernel that still put NR_CPUS
sized arrays on the kernel stack, but that's not a sparc64
specific problem.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'arch/sparc64/Kconfig')
-rw-r--r-- | arch/sparc64/Kconfig | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index 831781cab271..bd00f89eed1e 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -147,10 +147,10 @@ config SMP | |||
147 | If you don't know what to do here, say N. | 147 | If you don't know what to do here, say N. |
148 | 148 | ||
149 | config NR_CPUS | 149 | config NR_CPUS |
150 | int "Maximum number of CPUs (2-64)" | 150 | int "Maximum number of CPUs (2-1024)" |
151 | range 2 64 | 151 | range 2 1024 |
152 | depends on SMP | 152 | depends on SMP |
153 | default "32" | 153 | default "64" |
154 | 154 | ||
155 | source "drivers/cpufreq/Kconfig" | 155 | source "drivers/cpufreq/Kconfig" |
156 | 156 | ||