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:
parent
30a2f3c60a
commit
e2cb96b7ec
|
@ -2312,7 +2312,7 @@ static int kmem_cache_open(struct kmem_cache *s, gfp_t gfpflags,
|
||||||
|
|
||||||
s->refcount = 1;
|
s->refcount = 1;
|
||||||
#ifdef CONFIG_NUMA
|
#ifdef CONFIG_NUMA
|
||||||
s->remote_node_defrag_ratio = 100;
|
s->remote_node_defrag_ratio = 1000;
|
||||||
#endif
|
#endif
|
||||||
if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA))
|
if (!init_kmem_cache_nodes(s, gfpflags & ~SLUB_DMA))
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -4058,7 +4058,7 @@ static ssize_t remote_node_defrag_ratio_store(struct kmem_cache *s,
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
if (ratio < 100)
|
if (ratio <= 100)
|
||||||
s->remote_node_defrag_ratio = ratio * 10;
|
s->remote_node_defrag_ratio = ratio * 10;
|
||||||
|
|
||||||
return length;
|
return length;
|
||||||
|
|
Loading…
Reference in New Issue