linux_dsm_epyc7002/arch/sparc64/mm
David S. Miller 22adb358e8 [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>
2007-05-29 02:49:49 -07:00
..
fault.c [SPARC64]: Optimize fault kprobe handling just like powerpc. 2007-05-08 18:25:14 -07:00
generic.c [SPARC64]: Fix X server hangs due to large pages. 2006-08-29 21:23:31 -07:00
hugetlbpage.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
init.c [SPARC64]: Eliminate NR_CPUS limitations. 2007-05-29 02:49:49 -07:00
Makefile [SPARC64]: Move away from virtual page tables, part 1. 2006-03-20 01:11:13 -08:00
tlb.c [SPARC64]: Disable preemption during flush_tlb_pending(). 2006-04-30 22:54:27 -07:00
tsb.c slab allocators: remove multiple alignment specifications 2007-05-07 12:12:55 -07:00
ultra.S [SPARC64]: Add irqtrace/stacktrace/lockdep support. 2006-12-10 02:39:09 -08:00