From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joel Fernandes Subject: [PATCH -next 0/3] Add support for fast mremap Date: Fri, 2 Nov 2018 21:00:38 -0700 Message-ID: <20181103040041.7085-1-joelaf@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Cc: Joel Fernandes , linux-mips@linux-mips.org, Rich Felker , linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org, Peter Zijlstra , Catalin Marinas , Dave Hansen , Will Deacon , Michal Hocko , linux-mm@kvack.org, lokeshgidra@google.com, sparclinux@vger.kernel.org, linux-riscv@lists.infradead.org, elfring@users.sourceforge.net, Jonas Bonn , kvmarm@lists.cs.columbia.edu, dancol@google.com, Yoshinori Sato , linux-xtensa@linux-xtensa.org, linux-hexagon@vger.kernel.org, Helge Deller , "maintainer:X86 ARCHITECTURE 32-BIT AND 64-BIT" , hughd@google.com, "James E.J. Bottomley" , kasan-dev@googlegroups.com, anton.ivanov@kot-begemot.c To: linux-kernel@vger.kernel.org Return-path: List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-snps-arc-bounces+gla-linux-snps-arc=m.gmane.org@lists.infradead.org Hi, Here is the latest "fast mremap" series. This just a repost with Kirill's Acked-bys added. I would like this to be considered for linux -next. I also dropped the CONFIG enablement patch for arm64 since I am yet to test it with the new TLB flushing code that is in very recent kernel releases. (None of my arm64 devices run mainline right now.) so I will post the arm64 enablement once I get to that. The performance numbers in the series are for x86. List of patches in series: (1) mm: select HAVE_MOVE_PMD in x86 for faster mremap (2) mm: speed up mremap by 20x on large regions (v4) v1->v2: Added support for per-arch enablement (Kirill Shutemov) v2->v3: Updated commit message to state the optimization may also run for non-thp type of systems (Daniel Col). v3->v4: Remove useless pmd_lock check (Kirill Shutemov) Rebased ontop of Linus's master, updated perf results based on x86 testing. Added Kirill's Acks. (3) mm: treewide: remove unused address argument from pte_alloc functions (v2) v1->v2: fix arch/um/ prototype which was missed in v1 (Anton Ivanov) update changelog with manual fixups for m68k and microblaze. not included - (4) mm: select HAVE_MOVE_PMD in arm64 for faster mremap This patch is dropped since last posting pending further performance testing on arm64 with new TLB gather updates. See notes in patch titled "mm: speed up mremap by 500x on large regions" for more details. Joel Fernandes (Google) (3): mm: treewide: remove unused address argument from pte_alloc functions (v2) mm: speed up mremap by 20x on large regions (v4) mm: select HAVE_MOVE_PMD in x86 for faster mremap arch/Kconfig | 5 ++ arch/alpha/include/asm/pgalloc.h | 6 +- arch/arc/include/asm/pgalloc.h | 5 +- arch/arm/include/asm/pgalloc.h | 4 +- arch/arm64/include/asm/pgalloc.h | 4 +- arch/hexagon/include/asm/pgalloc.h | 6 +- arch/ia64/include/asm/pgalloc.h | 5 +- arch/m68k/include/asm/mcf_pgalloc.h | 8 +-- arch/m68k/include/asm/motorola_pgalloc.h | 4 +- arch/m68k/include/asm/sun3_pgalloc.h | 6 +- arch/microblaze/include/asm/pgalloc.h | 19 +----- arch/microblaze/mm/pgtable.c | 3 +- arch/mips/include/asm/pgalloc.h | 6 +- arch/nds32/include/asm/pgalloc.h | 5 +- arch/nios2/include/asm/pgalloc.h | 6 +- arch/openrisc/include/asm/pgalloc.h | 5 +- arch/openrisc/mm/ioremap.c | 3 +- arch/parisc/include/asm/pgalloc.h | 4 +- arch/powerpc/include/asm/book3s/32/pgalloc.h | 4 +- arch/powerpc/include/asm/book3s/64/pgalloc.h | 12 ++-- arch/powerpc/include/asm/nohash/32/pgalloc.h | 4 +- arch/powerpc/include/asm/nohash/64/pgalloc.h | 6 +- arch/powerpc/mm/pgtable-book3s64.c | 2 +- arch/powerpc/mm/pgtable_32.c | 4 +- arch/riscv/include/asm/pgalloc.h | 6 +- arch/s390/include/asm/pgalloc.h | 4 +- arch/sh/include/asm/pgalloc.h | 6 +- arch/sparc/include/asm/pgalloc_32.h | 5 +- arch/sparc/include/asm/pgalloc_64.h | 6 +- arch/sparc/mm/init_64.c | 6 +- arch/sparc/mm/srmmu.c | 4 +- arch/um/include/asm/pgalloc.h | 4 +- arch/um/kernel/mem.c | 4 +- arch/unicore32/include/asm/pgalloc.h | 4 +- arch/x86/Kconfig | 1 + arch/x86/include/asm/pgalloc.h | 4 +- arch/x86/mm/pgtable.c | 4 +- arch/xtensa/include/asm/pgalloc.h | 8 +-- include/linux/mm.h | 13 ++-- mm/huge_memory.c | 8 +-- mm/kasan/kasan_init.c | 2 +- mm/memory.c | 17 +++--- mm/migrate.c | 2 +- mm/mremap.c | 62 +++++++++++++++++++- mm/userfaultfd.c | 2 +- virt/kvm/arm/mmu.c | 2 +- 46 files changed, 163 insertions(+), 147 deletions(-) -- 2.19.1.930.g4563a0d9d0-goog