The patch titled xen/grant-table: use apply_to_page_range_batch() has been removed from the -mm tree. Its filename was xen-grant-table-use-apply_to_page_range_batch.patch This patch was dropped because an updated version will be merged The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: xen/grant-table: use apply_to_page_range_batch() From: Jeremy Fitzhardinge <jeremy.fitzhardinge@xxxxxxxxxx> No need to call the callback per-pte. 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> --- arch/x86/xen/grant-table.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff -puN arch/x86/xen/grant-table.c~xen-grant-table-use-apply_to_page_range_batch arch/x86/xen/grant-table.c --- a/arch/x86/xen/grant-table.c~xen-grant-table-use-apply_to_page_range_batch +++ a/arch/x86/xen/grant-table.c @@ -44,19 +44,27 @@ #include <asm/pgtable.h> -static int map_pte_fn(pte_t *pte, unsigned long addr, void *data) +static int map_pte_fn(pte_t *pte, unsigned count, unsigned long addr, void *data) { unsigned long **frames = (unsigned long **)data; - set_pte_at(&init_mm, addr, pte, mfn_pte((*frames)[0], PAGE_KERNEL)); - (*frames)++; + while (count--) { + set_pte_at(&init_mm, addr, pte, mfn_pte((*frames)[0], PAGE_KERNEL)); + (*frames)++; + pte++; + addr += PAGE_SIZE; + } return 0; } -static int unmap_pte_fn(pte_t *pte, unsigned long addr, void *data) +static int unmap_pte_fn(pte_t *pte, unsigned count, unsigned long addr, void *data) { + while (count--) { + pte_clear(&init_mm, addr, pte); + addr += PAGE_SIZE; + pte++; + } - set_pte_at(&init_mm, addr, pte, __pte(0)); return 0; } @@ -75,15 +83,15 @@ int arch_gnttab_map_shared(unsigned long *__shared = shared; } - rc = apply_to_page_range(&init_mm, (unsigned long)shared, - PAGE_SIZE * nr_gframes, - map_pte_fn, &frames); + rc = apply_to_page_range_batch(&init_mm, (unsigned long)shared, + PAGE_SIZE * nr_gframes, + map_pte_fn, &frames); return rc; } void arch_gnttab_unmap_shared(struct grant_entry *shared, unsigned long nr_gframes) { - apply_to_page_range(&init_mm, (unsigned long)shared, - PAGE_SIZE * nr_gframes, unmap_pte_fn, NULL); + apply_to_page_range_batch(&init_mm, (unsigned long)shared, + PAGE_SIZE * nr_gframes, unmap_pte_fn, NULL); } _ Patches currently in -mm which might be from jeremy.fitzhardinge@xxxxxxxxxx are linux-next.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