kernel_optimize_test/arch
Christoph Lameter 0aa817f078 Slab allocators: define common size limitations
Currently we have a maze of configuration variables that determine the
maximum slab size.  Worst of all it seems to vary between SLAB and SLUB.

So define a common maximum size for kmalloc.  For conveniences sake we use
the maximum size ever supported which is 32 MB.  We limit the maximum size
to a lower limit if MAX_ORDER does not allow such large allocations.

For many architectures this patch will have the effect of adding large
kmalloc sizes.  x86_64 adds 5 new kmalloc sizes.  So a small amount of
memory will be needed for these caches (contemporary SLAB has dynamically
sizeable node and cpu structure so the waste is less than in the past)

Most architectures will then be able to allocate object with sizes up to
MAX_ORDER.  We have had repeated breakage (in fact whenever we doubled the
number of supported processors) on IA64 because one or the other struct
grew beyond what the slab allocators supported.  This will avoid future
issues and f.e.  avoid fixes for 2k and 4k cpu support.

CONFIG_LARGE_ALLOCS is no longer necessary so drop it.

It fixes sparc64 with SLAB.

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-17 05:23:04 -07:00
..
alpha utimensat implementation 2007-05-08 11:15:18 -07:00
arm arm: walk_stacktrace() needs to be exported 2007-05-15 18:56:37 -07:00
arm26 header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
avr32 [AVR32] Implement platform hooks for atmel_lcdfb driver 2007-05-15 14:13:27 +02:00
blackfin Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
cris Fix trivial typos in Kconfig* files 2007-05-09 07:12:20 +02:00
frv Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
h8300 h8300 syscall update 2007-05-11 08:29:33 -07:00
i386 x86: Fix discontigmem + non-HIGHMEM compile 2007-05-15 18:45:49 -07:00
ia64 [IA64] optimize pagefaults a little 2007-05-16 09:00:51 -07:00
m32r m32r: fix tme_handler to check _PAGE_PRESENT bit 2007-05-11 08:29:33 -07:00
m68k m68k: implement __clear_user() 2007-05-15 08:54:00 -07:00
m68knommu Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
mips Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-ip22 2007-05-11 10:00:50 -07:00
parisc rename thread_info to stack 2007-05-09 12:30:56 -07:00
powerpc Remove SLAB_CTOR_CONSTRUCTOR 2007-05-17 05:23:04 -07:00
ppc [POWERPC] Spelling fixes: arch/ppc/ 2007-05-12 11:32:49 +10:00
s390 [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
sh Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6 2007-05-09 13:08:20 -07:00
sh64 sh64: Add .gitignore entry for syscalltab. 2007-05-14 10:15:18 +09:00
sparc [SPARC32]: Update defconfig. 2007-05-14 03:53:12 -07:00
sparc64 [SPARC64]: Add hypervisor API negotiation and fix console bugs. 2007-05-15 20:23:02 -07:00
um fix uml-x86_64 2007-05-15 18:56:37 -07:00
v850 Slab allocators: define common size limitations 2007-05-17 05:23:04 -07:00
x86_64 Revert "ipmi: add new IPMI nmi watchdog handling" 2007-05-14 15:24:24 -07:00
xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2007-05-09 12:54:17 -07:00