Message ID | 20201014005320.2233162-6-kaleshsingh@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Speed up mremap on large regions | expand |
* Kalesh Singh <kaleshsingh@google.com> wrote: > HAVE_MOVE_PUD enables remapping pages at the PUD level if both the > source and destination addresses are PUD-aligned. > > With HAVE_MOVE_PUD enabled it can be inferred that there is approximately > a 13x improvement in performance on x86. (See data below). > > ------- Test Results --------- > > The following results were obtained using a 5.4 kernel, by remapping > a PUD-aligned, 1GB sized region to a PUD-aligned destination. > The results from 10 iterations of the test are given below: > > Total mremap times for 1GB data on x86. All times are in nanoseconds. > > Control HAVE_MOVE_PUD > > 180394 15089 > 235728 14056 > 238931 25741 > 187330 13838 > 241742 14187 > 177925 14778 > 182758 14728 > 160872 14418 > 205813 15107 > 245722 13998 > > 205721.5 15594 <-- Mean time in nanoseconds > > A 1GB mremap completion time drops from ~205 microseconds > to ~15 microseconds on x86. (~13x speed up). > > Signed-off-by: Kalesh Singh <kaleshsingh@google.com> > Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> > Cc: Andrew Morton <akpm@linux-foundation.org> > Cc: Thomas Gleixner <tglx@linutronix.de> > Cc: Ingo Molnar <mingo@redhat.com> > Cc: Borislav Petkov <bp@alien8.de> > Cc: H. Peter Anvin <hpa@zytor.com> Nice! Assuming it's all correct code: Acked-by: Ingo Molnar <mingo@kernel.org> Thanks, Ingo
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 835d93006bd6..e199760d54fc 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -198,6 +198,7 @@ config X86 select HAVE_MIXED_BREAKPOINTS_REGS select HAVE_MOD_ARCH_SPECIFIC select HAVE_MOVE_PMD + select HAVE_MOVE_PUD select HAVE_NMI select HAVE_OPROFILE select HAVE_OPTPROBES