diff options
author | Christoph Lameter <clameter@sgi.com> | 2007-05-16 22:11:01 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-17 05:23:04 -0700 |
commit | 0aa817f078b655d0ae36669169d73a5c8a388016 (patch) | |
tree | 140acc4d0dc992b4d20394f6a6412a7c1bb3a306 /arch | |
parent | 3ec0974210fe1b7c0618ad6e39a882a4237d7de2 (diff) | |
download | linux-3.10-0aa817f078b655d0ae36669169d73a5c8a388016.tar.gz linux-3.10-0aa817f078b655d0ae36669169d73a5c8a388016.tar.bz2 linux-3.10-0aa817f078b655d0ae36669169d73a5c8a388016.zip |
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/blackfin/Kconfig | 8 | ||||
-rw-r--r-- | arch/frv/Kconfig | 8 | ||||
-rw-r--r-- | arch/m68knommu/Kconfig | 8 | ||||
-rw-r--r-- | arch/v850/Kconfig | 8 |
4 files changed, 0 insertions, 32 deletions
diff --git a/arch/blackfin/Kconfig b/arch/blackfin/Kconfig index 1a493050932..d80e5b1d686 100644 --- a/arch/blackfin/Kconfig +++ b/arch/blackfin/Kconfig @@ -560,14 +560,6 @@ endchoice source "mm/Kconfig" -config LARGE_ALLOCS - bool "Allow allocating large blocks (> 1MB) of memory" - help - Allow the slab memory allocator to keep chains for very large - memory sizes - upto 32MB. You may need this if your system has - a lot of RAM, and you need to able to allocate very large - contiguous chunks. If unsure, say N. - config BFIN_DMA_5XX bool "Enable DMA Support" depends on (BF533 || BF532 || BF531 || BF537 || BF536 || BF534 || BF561) diff --git a/arch/frv/Kconfig b/arch/frv/Kconfig index 114738a4558..74eef7111f2 100644 --- a/arch/frv/Kconfig +++ b/arch/frv/Kconfig @@ -102,14 +102,6 @@ config HIGHPTE with a lot of RAM, this can be wasteful of precious low memory. Setting this option will put user-space page tables in high memory. -config LARGE_ALLOCS - bool "Allow allocating large blocks (> 1MB) of memory" - help - Allow the slab memory allocator to keep chains for very large memory - sizes - up to 32MB. You may need this if your system has a lot of - RAM, and you need to able to allocate very large contiguous chunks. - If unsure, say N. - source "mm/Kconfig" choice diff --git a/arch/m68knommu/Kconfig b/arch/m68knommu/Kconfig index 823f73736bb..adc64a2bafb 100644 --- a/arch/m68knommu/Kconfig +++ b/arch/m68knommu/Kconfig @@ -470,14 +470,6 @@ config AVNET default y depends on (AVNET5282) -config LARGE_ALLOCS - bool "Allow allocating large blocks (> 1MB) of memory" - help - Allow the slab memory allocator to keep chains for very large - memory sizes - upto 32MB. You may need this if your system has - a lot of RAM, and you need to able to allocate very large - contiguous chunks. If unsure, say N. - config 4KSTACKS bool "Use 4Kb for kernel stacks instead of 8Kb" default y diff --git a/arch/v850/Kconfig b/arch/v850/Kconfig index 5f54c1236c1..ace479ab273 100644 --- a/arch/v850/Kconfig +++ b/arch/v850/Kconfig @@ -240,14 +240,6 @@ menu "Processor type and features" config RESET_GUARD bool "Reset Guard" - config LARGE_ALLOCS - bool "Allow allocating large blocks (> 1MB) of memory" - help - Allow the slab memory allocator to keep chains for very large - memory sizes - upto 32MB. You may need this if your system has - a lot of RAM, and you need to able to allocate very large - contiguous chunks. If unsure, say N. - source "mm/Kconfig" endmenu |