Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759302Ab3FCQNh (ORCPT ); Mon, 3 Jun 2013 12:13:37 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:46531 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752767Ab3FCQNg (ORCPT ); Mon, 3 Jun 2013 12:13:36 -0400 MIME-Version: 1.0 In-Reply-To: <51ACB6DB.6040809@gmail.com> References: <51ACB6DB.6040809@gmail.com> Date: Tue, 4 Jun 2013 01:13:34 +0900 Message-ID: Subject: Re: [PATCH 1/3] mm, vmalloc: Only call setup_vmalloc_vm only in __get_vm_area_node From: JoonSoo Kim To: Zhang Yanfei Cc: Andrew Morton , Joonsoo Kim , Linux MM , "linux-kernel@vger.kernel.org" Content-Type: text/plain; charset=ISO-8859-1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1899 Lines: 54 Hello, Zhang. 2013/6/4 Zhang Yanfei : > From: Zhang Yanfei > > Now for insert_vmalloc_vm, it only calls the two functions: > - setup_vmalloc_vm: fill vm_struct and vmap_area instances > - clear_vm_unlist: clear VM_UNLIST bit in vm_struct->flags > > So in function __get_vm_area_node, if VM_UNLIST bit unset > in flags, that is the else branch here, we don't need to > clear VM_UNLIST bit for vm->flags since this bit is obviously > not set. That is to say, we could only call setup_vmalloc_vm > instead of insert_vmalloc_vm here. And then we could even > remove the if test here. > > Signed-off-by: Zhang Yanfei For all three patches, Acked-by: Joonsoo Kim > --- > mm/vmalloc.c | 11 +---------- > 1 files changed, 1 insertions(+), 10 deletions(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index d365724..6580c76 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -1367,16 +1367,7 @@ static struct vm_struct *__get_vm_area_node(unsigned long size, > return NULL; > } > > - /* > - * When this function is called from __vmalloc_node_range, > - * we add VM_UNLIST flag to avoid accessing uninitialized > - * members of vm_struct such as pages and nr_pages fields. > - * They will be set later. > - */ > - if (flags & VM_UNLIST) > - setup_vmalloc_vm(area, va, flags, caller); > - else > - insert_vmalloc_vm(area, va, flags, caller); > + setup_vmalloc_vm(area, va, flags, caller); > > return area; > } > -- > 1.7.1 -- 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/