Slab defragmentation: Only perform slab defrag if __GFP_FS is clear Avoids slab defragmentation be triggered from filesystem operations. Signed-off-by: Christoph Lameter --- mm/vmscan.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) Index: linux-2.6.22-rc4-mm2/mm/vmscan.c =================================================================== --- linux-2.6.22-rc4-mm2.orig/mm/vmscan.c 2007-06-26 12:25:28.000000000 -0700 +++ linux-2.6.22-rc4-mm2/mm/vmscan.c 2007-06-26 12:40:44.000000000 -0700 @@ -233,8 +233,9 @@ unsigned long shrink_slab(unsigned long shrinker->nr += total_scan; } up_read(&shrinker_rwsem); - kmem_cache_defrag(sysctl_slab_defrag_ratio, - zone ? zone_to_nid(zone) : -1); + if (gfp_mask & __GFP_FS) + kmem_cache_defrag(sysctl_slab_defrag_ratio, + zone ? zone_to_nid(zone) : -1); return ret; }