From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752904AbbCYBBw (ORCPT ); Tue, 24 Mar 2015 21:01:52 -0400 Received: from LGEMRELSE6Q.lge.com ([156.147.1.121]:43393 "EHLO lgemrelse6q.lge.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752285AbbCYBBs (ORCPT ); Tue, 24 Mar 2015 21:01:48 -0400 X-Original-SENDERIP: 10.178.37.108 X-Original-MAILFROM: gioh.kim@lge.com Message-ID: <551208F8.4020706@lge.com> Date: Wed, 25 Mar 2015 10:01:44 +0900 From: Gioh Kim User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Roman Pen CC: Andrew Morton , Eric Dumazet , David Rientjes , WANG Chao , Fabian Frederick , Christoph Lameter , Rob Jones , linux-mm@kvack.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org Subject: Re: [RFC v2 1/3] mm/vmalloc: fix possible exhaustion of vmalloc space caused by vm_map_ram allocator References: <1426773881-5757-1-git-send-email-r.peniaev@gmail.com> <1426773881-5757-2-git-send-email-r.peniaev@gmail.com> In-Reply-To: <1426773881-5757-2-git-send-email-r.peniaev@gmail.com> Content-Type: text/plain; charset=euc-kr Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > In current patch I simply put newly allocated block to the tail of a free list, > thus reduce fragmentation, giving a chance to resolve allocation request using > older blocks with possible holes left. It's great. I think this might be helpful for fragmentation by mix of long-time, short-time mappings. I do thank you for your work. > > Signed-off-by: Roman Pen > Cc: Andrew Morton > Cc: Eric Dumazet > Acked-by: Joonsoo Kim > Cc: David Rientjes > Cc: WANG Chao > Cc: Fabian Frederick > Cc: Christoph Lameter > Cc: Gioh Kim > Cc: Rob Jones > Cc: linux-mm@kvack.org > Cc: linux-kernel@vger.kernel.org > Cc: stable@vger.kernel.org > --- > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index 39c3388..db6bffb 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -837,7 +837,7 @@ static struct vmap_block *new_vmap_block(gfp_t gfp_mask) > > vbq = &get_cpu_var(vmap_block_queue); > spin_lock(&vbq->lock); > - list_add_rcu(&vb->free_list, &vbq->free); > + list_add_tail_rcu(&vb->free_list, &vbq->free); > spin_unlock(&vbq->lock); > put_cpu_var(vmap_block_queue); > >