Hello all. Recently I came across high fragmentation of vm_map_ram allocator: vmap_block has free space, but still new blocks continue to appear. Further investigation showed that certain mapping/unmapping sequence can exhaust vmalloc space. On small 32bit systems that's not a big problem, cause purging will be called soon on a first allocation failure (alloc_vmap_area), but on 64bit machines, e.g. x86_64 has 45 bits of vmalloc space, that can be a disaster. Fixing this I also did some tweaks in allocation logic of a new vmap block and replaced dirty bitmap with min/max dirty range values to make the logic simpler. I would like to receive comments on the following three patches. Thanks. Roman Pen (3): mm/vmalloc: fix possible exhaustion of vmalloc space caused by vm_map_ram allocator mm/vmalloc: occupy newly allocated vmap block just after allocation mm/vmalloc: get rid of dirty bitmap inside vmap_block structure mm/vmalloc.c | 94 ++++++++++++++++++++++++++++++++++-------------------------- 1 file changed, 54 insertions(+), 40 deletions(-) Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Cc: Nick Piggin <npiggin@xxxxxxxxx> Cc: Eric Dumazet <edumazet@xxxxxxxxxx> Cc: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Cc: David Rientjes <rientjes@xxxxxxxxxx> Cc: WANG Chao <chaowang@xxxxxxxxxx> Cc: Fabian Frederick <fabf@xxxxxxxxx> Cc: Christoph Lameter <cl@xxxxxxxxx> Cc: Gioh Kim <gioh.kim@xxxxxxx> Cc: Rob Jones <rob.jones@xxxxxxxxxxxxxxx> Cc: linux-mm@xxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: stable@xxxxxxxxxxxxxxx -- 1.9.3 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>