[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8da9f826-2a3d-e618-e512-4fc8d45c16f2@codeaurora.org>
Date: Fri, 13 Apr 2018 15:47:02 +0530
From: Chintan Pandya <cpandya@...eaurora.org>
To: Anshuman Khandual <khandual@...ux.vnet.ibm.com>, vbabka@...e.cz,
labbott@...hat.com, catalin.marinas@....com, hannes@...xchg.org,
f.fainelli@...il.com, xieyisheng1@...wei.com,
ard.biesheuvel@...aro.org, richard.weiyang@...il.com,
byungchul.park@....com
Cc: linux-mm@...ck.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] mm: vmalloc: Remove double execution of vunmap_page_range
On 4/13/2018 3:29 PM, Anshuman Khandual wrote:
> On 04/13/2018 02:46 PM, Chintan Pandya wrote:
>> Unmap legs do call vunmap_page_range() irrespective of
>> debug_pagealloc_enabled() is enabled or not. So, remove
>> redundant check and optional vunmap_page_range() routines.
>
> vunmap_page_range() tears down the page table entries and does
> not really flush related TLB entries normally unless page alloc
> debug is enabled where it wants to make sure no stale mapping is
> still around for debug purpose. Deferring TLB flush improves
> performance. This patch will force TLB flush during each page
> table tear down and hence not desirable.
>
Deferred TLB invalidation will surely improve performance. But force
flush can help in detecting invalid access right then and there. I
chose later. May be I should have clean up the vmap tear down code
as well where it actually does the TLB invalidation.
Or make TLB invalidation in free_unmap_vmap_area() be dependent upon
debug_pagealloc_enabled().
Chintan
--
Qualcomm India Private Limited, on behalf of Qualcomm Innovation Center,
Inc. is a member of the Code Aurora Forum, a Linux Foundation
Collaborative Project
Powered by blists - more mailing lists