lkml.org 
[lkml]   [2015]   [Mar]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/3] [RFC] mm/vmalloc: fix possible exhaustion of vmalloc space


2015-03-13 오후 9:12에 Roman Pen 이(가) 쓴 글:
> 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.

I think the problem you comments is already known so that I wrote comments about it as
"it could consume lots of address space through fragmentation".

Could you tell me about your situation and reason why it should be avoided?


>
> 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@linux-foundation.org>
> Cc: Nick Piggin <npiggin@kernel.dk>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> Cc: David Rientjes <rientjes@google.com>
> Cc: WANG Chao <chaowang@redhat.com>
> Cc: Fabian Frederick <fabf@skynet.be>
> Cc: Christoph Lameter <cl@linux.com>
> Cc: Gioh Kim <gioh.kim@lge.com>
> Cc: Rob Jones <rob.jones@codethink.co.uk>
> Cc: linux-mm@kvack.org
> Cc: linux-kernel@vger.kernel.org
> Cc: stable@vger.kernel.org
>


\
 
 \ /
  Last update: 2015-03-16 11:41    [W:0.225 / U:7.908 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site