slub: Disable NUMA remote node defragmentation by default
Switch remote node defragmentation off by default. The current settings can
cause excessive node local allocations with hackbench:
SLAB:
% cat /proc/meminfo
MemTotal: 7701760 kB
MemFree: 5940096 kB
Slab: 123840 kB
SLUB:
% cat /proc/meminfo
MemTotal: 7701376 kB
MemFree: 4740928 kB
Slab: 1591680 kB
[Note: this feature is not related to slab defragmentation.]
You can find the original discussion here:
http://lkml.org/lkml/2008/8/4/308
Reported-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Tested-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
This commit is contained in:
committed by
Pekka Enberg
parent
30a2f3c60a
commit
e2cb96b7ec
@@ -2312,7 +2312,7 @@ static int kmem_cache_open(struct kmem_cache *s, gfp_t gfpflags,
|
||||
|
||||
s->refcount = 1;
|
||||
#ifdef CONFIG_NUMA
|
||||
s->remote_node_defrag_ratio = 100;
|
||||
s->remote_node_defrag_ratio = 1000;
|
||||
#endif
|
||||
if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA))
|
||||
goto error;
|
||||
@@ -4058,7 +4058,7 @@ static ssize_t remote_node_defrag_ratio_store(struct kmem_cache *s,
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
if (ratio < 100)
|
||||
if (ratio <= 100)
|
||||
s->remote_node_defrag_ratio = ratio * 10;
|
||||
|
||||
return length;
|
||||
|
||||
Reference in New Issue
Block a user