[lkml]   [2015]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/3] [RFC] mm/vmalloc: fix possible exhaustion of vmalloc space
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.


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 <>
Cc: Nick Piggin <>
Cc: Eric Dumazet <>
Cc: Joonsoo Kim <>
Cc: David Rientjes <>
Cc: WANG Chao <>
Cc: Fabian Frederick <>
Cc: Christoph Lameter <>
Cc: Gioh Kim <>
Cc: Rob Jones <>

 \ /
  Last update: 2015-03-13 13:41    [W:0.058 / U:1.284 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site