Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm/pgtable: drop pgtable_t variable from pte_fn_t functions

Drop the pgtable_t variable from all implementation for pte_fn_t as none
of them use it. apply_to_pte_range() should stop computing it as well.
Should help us save some cycles.

Link: http://lkml.kernel.org/r/1556803126-26596-1-git-send-email-anshuman.khandual@arm.com
Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
Acked-by: Matthew Wilcox <willy@infradead.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Russell King <linux@armlinux.org.uk>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Logan Gunthorpe <logang@deltatee.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: <jglisse@redhat.com>
Cc: Mike Rapoport <rppt@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Anshuman Khandual and committed by
Linus Torvalds
8b1e0f81 c2471e79

+15 -31
+1 -2
arch/arm/kernel/efi.c
··· 8 8 #include <asm/mach/map.h> 9 9 #include <asm/mmu_context.h> 10 10 11 - static int __init set_permissions(pte_t *ptep, pgtable_t token, 12 - unsigned long addr, void *data) 11 + static int __init set_permissions(pte_t *ptep, unsigned long addr, void *data) 13 12 { 14 13 efi_memory_desc_t *md = data; 15 14 pte_t pte = *ptep;
+1 -2
arch/arm/mm/dma-mapping.c
··· 493 493 } 494 494 } 495 495 496 - static int __dma_update_pte(pte_t *pte, pgtable_t token, unsigned long addr, 497 - void *data) 496 + static int __dma_update_pte(pte_t *pte, unsigned long addr, void *data) 498 497 { 499 498 struct page *page = virt_to_page(addr); 500 499 pgprot_t prot = *(pgprot_t *)data;
+1 -2
arch/arm/mm/pageattr.c
··· 14 14 pgprot_t clear_mask; 15 15 }; 16 16 17 - static int change_page_range(pte_t *ptep, pgtable_t token, unsigned long addr, 18 - void *data) 17 + static int change_page_range(pte_t *ptep, unsigned long addr, void *data) 19 18 { 20 19 struct page_change_data *cdata = data; 21 20 pte_t pte = *ptep;
+1 -2
arch/arm64/kernel/efi.c
··· 82 82 return 0; 83 83 } 84 84 85 - static int __init set_permissions(pte_t *ptep, pgtable_t token, 86 - unsigned long addr, void *data) 85 + static int __init set_permissions(pte_t *ptep, unsigned long addr, void *data) 87 86 { 88 87 efi_memory_desc_t *md = data; 89 88 pte_t pte = READ_ONCE(*ptep);
+1 -2
arch/arm64/mm/pageattr.c
··· 19 19 20 20 bool rodata_full __ro_after_init = IS_ENABLED(CONFIG_RODATA_FULL_DEFAULT_ENABLED); 21 21 22 - static int change_page_range(pte_t *ptep, pgtable_t token, unsigned long addr, 23 - void *data) 22 + static int change_page_range(pte_t *ptep, unsigned long addr, void *data) 24 23 { 25 24 struct page_change_data *cdata = data; 26 25 pte_t pte = READ_ONCE(*ptep);
+1 -2
arch/x86/xen/mmu_pv.c
··· 2700 2700 struct mmu_update *mmu_update; 2701 2701 }; 2702 2702 2703 - static int remap_area_pfn_pte_fn(pte_t *ptep, pgtable_t token, 2704 - unsigned long addr, void *data) 2703 + static int remap_area_pfn_pte_fn(pte_t *ptep, unsigned long addr, void *data) 2705 2704 { 2706 2705 struct remap_data *rmd = data; 2707 2706 pte_t pte = pte_mkspecial(mfn_pte(*rmd->pfn, rmd->prot));
+1 -2
drivers/gpu/drm/i915/i915_mm.c
··· 35 35 pgprot_t prot; 36 36 }; 37 37 38 - static int remap_pfn(pte_t *pte, pgtable_t token, 39 - unsigned long addr, void *data) 38 + static int remap_pfn(pte_t *pte, unsigned long addr, void *data) 40 39 { 41 40 struct remap_pfn *r = data; 42 41
+2 -4
drivers/xen/gntdev.c
··· 264 264 265 265 /* ------------------------------------------------------------------ */ 266 266 267 - static int find_grant_ptes(pte_t *pte, pgtable_t token, 268 - unsigned long addr, void *data) 267 + static int find_grant_ptes(pte_t *pte, unsigned long addr, void *data) 269 268 { 270 269 struct gntdev_grant_map *map = data; 271 270 unsigned int pgnr = (addr - map->vma->vm_start) >> PAGE_SHIFT; ··· 291 292 } 292 293 293 294 #ifdef CONFIG_X86 294 - static int set_grant_ptes_as_special(pte_t *pte, pgtable_t token, 295 - unsigned long addr, void *data) 295 + static int set_grant_ptes_as_special(pte_t *pte, unsigned long addr, void *data) 296 296 { 297 297 set_pte_at(current->mm, addr, pte, pte_mkspecial(*pte)); 298 298 return 0;
+2 -4
drivers/xen/privcmd.c
··· 731 731 unsigned long i; 732 732 }; 733 733 734 - static int remap_pfn_fn(pte_t *ptep, pgtable_t token, unsigned long addr, 735 - void *data) 734 + static int remap_pfn_fn(pte_t *ptep, unsigned long addr, void *data) 736 735 { 737 736 struct remap_pfn *r = data; 738 737 struct page *page = r->pages[r->i]; ··· 965 966 * on a per pfn/pte basis. Mapping calls that fail with ENOENT 966 967 * can be then retried until success. 967 968 */ 968 - static int is_mapped_fn(pte_t *pte, struct page *pmd_page, 969 - unsigned long addr, void *data) 969 + static int is_mapped_fn(pte_t *pte, unsigned long addr, void *data) 970 970 { 971 971 return pte_none(*pte) ? 0 : -EBUSY; 972 972 }
+1 -2
drivers/xen/xlate_mmu.c
··· 93 93 info->fgfn++; 94 94 } 95 95 96 - static int remap_pte_fn(pte_t *ptep, pgtable_t token, unsigned long addr, 97 - void *data) 96 + static int remap_pte_fn(pte_t *ptep, unsigned long addr, void *data) 98 97 { 99 98 struct remap_data *info = data; 100 99 struct page *page = info->pages[info->index++];
+1 -2
include/linux/mm.h
··· 2686 2686 return 0; 2687 2687 } 2688 2688 2689 - typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, 2690 - void *data); 2689 + typedef int (*pte_fn_t)(pte_t *pte, unsigned long addr, void *data); 2691 2690 extern int apply_to_page_range(struct mm_struct *mm, unsigned long address, 2692 2691 unsigned long size, pte_fn_t fn, void *data); 2693 2692
+1 -4
mm/memory.c
··· 2036 2036 { 2037 2037 pte_t *pte; 2038 2038 int err; 2039 - pgtable_t token; 2040 2039 spinlock_t *uninitialized_var(ptl); 2041 2040 2042 2041 pte = (mm == &init_mm) ? ··· 2048 2049 2049 2050 arch_enter_lazy_mmu_mode(); 2050 2051 2051 - token = pmd_pgtable(*pmd); 2052 - 2053 2052 do { 2054 - err = fn(pte++, token, addr, data); 2053 + err = fn(pte++, addr, data); 2055 2054 if (err) 2056 2055 break; 2057 2056 } while (addr += PAGE_SIZE, addr != end);
+1 -1
mm/vmalloc.c
··· 2996 2996 } 2997 2997 2998 2998 2999 - static int f(pte_t *pte, pgtable_t table, unsigned long addr, void *data) 2999 + static int f(pte_t *pte, unsigned long addr, void *data) 3000 3000 { 3001 3001 pte_t ***p = data; 3002 3002