The patch titled vmalloc: use plain pte_clear() for unmaps has been added to the -mm tree. Its filename is vmalloc-use-plain-pte_clear-for-unmaps.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://userweb.kernel.org/~akpm/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: vmalloc: use plain pte_clear() for unmaps From: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> ptep_get_and_clear() is potentially moderately expensive (at least an atomic operation, or potentially a trap-and-fault when virtualized) so use a plain pte_clear(). Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> Cc: Nick Piggin <npiggin@xxxxxxxxx> Cc: Hugh Dickins <hugh.dickins@xxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/vmalloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff -puN mm/vmalloc.c~vmalloc-use-plain-pte_clear-for-unmaps mm/vmalloc.c --- a/mm/vmalloc.c~vmalloc-use-plain-pte_clear-for-unmaps +++ a/mm/vmalloc.c @@ -39,8 +39,9 @@ static void vunmap_pte_range(pmd_t *pmd, pte = pte_offset_kernel(pmd, addr); do { - pte_t ptent = ptep_get_and_clear(&init_mm, addr, pte); + pte_t ptent = *pte; WARN_ON(!pte_none(ptent) && !pte_present(ptent)); + pte_clear(&init_mm, addr, pte); } while (pte++, addr += PAGE_SIZE, addr != end); } _ Patches currently in -mm which might be from jeremy.fitzhardinge@xxxxxxxxxx are linux-next.patch mm-remove-unused-token-argument-from-apply_to_page_range-callback.patch mm-add-apply_to_page_range_batch.patch ioremap-use-apply_to_page_range_batch-for-ioremap_page_range.patch vmalloc-use-plain-pte_clear-for-unmaps.patch vmalloc-use-apply_to_page_range_batch-for-vunmap_page_range.patch vmalloc-use-apply_to_page_range_batch-for-vmap_page_range_noflush.patch vmalloc-use-apply_to_page_range_batch-in-alloc_vm_area.patch xen-mmu-use-apply_to_page_range_batch-in-xen_remap_domain_mfn_range.patch xen-grant-table-use-apply_to_page_range_batch.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html