Messages in this thread | | | Subject | Re: [PATCH] mm: vmalloc: Remove double execution of vunmap_page_range | From | Chintan Pandya <> | Date | Fri, 13 Apr 2018 15:47:02 +0530 |
| |
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
| |