Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754132Ab0DNA0X (ORCPT ); Tue, 13 Apr 2010 20:26:23 -0400 Received: from fgwmail7.fujitsu.co.jp ([192.51.44.37]:52240 "EHLO fgwmail7.fujitsu.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751883Ab0DNA0W (ORCPT ); Tue, 13 Apr 2010 20:26:22 -0400 X-SecurityPolicyCheck-FJ: OK by FujitsuOutboundMailChecker v1.3.1 Date: Wed, 14 Apr 2010 09:22:09 +0900 From: KAMEZAWA Hiroyuki To: Minchan Kim Cc: Andrew Morton , Mel Gorman , Bob Liu , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Nick Piggin 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> Organization: FUJITSU Co. LTD. X-Mailer: Sylpheed 3.0.2 (GTK+ 2.10.14; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1427 Lines: 50 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/