From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754373AbbIIQ2z (ORCPT ); Wed, 9 Sep 2015 12:28:55 -0400 Received: from mx1.redhat.com ([209.132.183.28]:39795 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752843AbbIIQ2x (ORCPT ); Wed, 9 Sep 2015 12:28:53 -0400 Date: Wed, 9 Sep 2015 18:26:05 +0200 From: Oleg Nesterov To: Chen Gang Cc: Andrew Morton , "kirill.shutemov@linux.intel.com" , "riel@redhat.com" , Michal Hocko , "sasha.levin@oracle.com" , "pfeiner@google.com" , "aarcange@redhat.com" , "vishnu.ps@samsung.com" , Linux Memory , kernel mailing list Subject: Re: [PATCH] mm/mmap.c: Remove useless statement "vma = NULL" in find_vma() Message-ID: <20150909162605.GA4373@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/08, Chen Gang wrote: > > I also want to consult: the comments of find_vma() says: Sorry, I don't understand the question ;) > "Look up the first VMA which satisfies addr < vm_end, ..." > > Is it OK? Why not? > (why not "vm_start <= addr < vm_end"), Because this some callers actually want to find the 1st vma which satisfies addr < vm_end? For example, shift_arg_pages(). OTOH, I think that another helper, find_vma_xxx(mm, addr) { vma = find_vma(...) if (vma && vma->vm_start > addr) vma = NULL; return vma; } makes sense. It can have a lot of users. > need we let "vma = tmp" > in "if (tmp->vm_start <= addr)"? -- it looks the comments is not match > the implementation, precisely (maybe not 1st VMA). This contradicts with above... I mean, it is not clear what exactly do you blame, semantics or implementation. The implementation looks correct. Why do you think it can be not 1st vma? Oleg.