From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail138.messagelabs.com (mail138.messagelabs.com [216.82.249.35]) by kanga.kvack.org (Postfix) with SMTP id 620D76B0202 for ; Tue, 13 Apr 2010 20:26:23 -0400 (EDT) Received: from m2.gw.fujitsu.co.jp ([10.0.50.72]) by fgwmail5.fujitsu.co.jp (Fujitsu Gateway) with ESMTP id o3E0QLGI008145 for (envelope-from kamezawa.hiroyu@jp.fujitsu.com); Wed, 14 Apr 2010 09:26:21 +0900 Received: from smail (m2 [127.0.0.1]) by outgoing.m2.gw.fujitsu.co.jp (Postfix) with ESMTP id F00EF45DE55 for ; Wed, 14 Apr 2010 09:26:20 +0900 (JST) Received: from s2.gw.fujitsu.co.jp (s2.gw.fujitsu.co.jp [10.0.50.92]) by m2.gw.fujitsu.co.jp (Postfix) with ESMTP id CBC5F45DE4E for ; Wed, 14 Apr 2010 09:26:20 +0900 (JST) Received: from s2.gw.fujitsu.co.jp (localhost.localdomain [127.0.0.1]) by s2.gw.fujitsu.co.jp (Postfix) with ESMTP id B5DEF1DB803B for ; Wed, 14 Apr 2010 09:26:20 +0900 (JST) Received: from m105.s.css.fujitsu.com (m105.s.css.fujitsu.com [10.249.87.105]) by s2.gw.fujitsu.co.jp (Postfix) with ESMTP id 6CBDE1DB8038 for ; Wed, 14 Apr 2010 09:26:20 +0900 (JST) Date: Wed, 14 Apr 2010 09:22:09 +0900 From: KAMEZAWA Hiroyuki Subject: Re: [PATCH 5/6] change alloc function in __vmalloc_area_node Message-Id: <20100414092209.4327e545.kamezawa.hiroyu@jp.fujitsu.com> In-Reply-To: <2cb77846a9523201588c5dbf94b23d6ea737ce65.1271171877.git.minchan.kim@gmail.com> References: <9918f566ab0259356cded31fd1dd80da6cae0c2b.1271171877.git.minchan.kim@gmail.com> <2cb77846a9523201588c5dbf94b23d6ea737ce65.1271171877.git.minchan.kim@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org To: Minchan Kim Cc: Andrew Morton , Mel Gorman , Bob Liu , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Nick Piggin List-ID: On Wed, 14 Apr 2010 00:25:02 +0900 Minchan Kim wrote: > __vmalloc_area_node never pass -1 to alloc_pages_node. > It means node's validity check is unnecessary. > So we can use alloc_pages_exact_node instead of alloc_pages_node. > It could avoid comparison and branch as 6484eb3e2a81807722 tried. > > Cc: Nick Piggin > Signed-off-by: Minchan Kim Reviewed-by: KAMEZAWA Hiroyuki But, in another thinking, - if (node < 0) - page = alloc_page(gfp_mask); may be better ;) Thanks, -Kame > --- > mm/vmalloc.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index ae00746..7abf423 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -1499,7 +1499,7 @@ static void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, > if (node < 0) > page = alloc_page(gfp_mask); > else > - page = alloc_pages_node(node, gfp_mask, 0); > + page = alloc_pages_exact_node(node, gfp_mask, 0); > > if (unlikely(!page)) { > /* Successfully allocated i pages, free them in __vunmap() */ > -- > 1.7.0.5 > > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org