lkml.org 
[lkml]   [2020]   [Oct]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    Subject[PATCH v4 5/5] x86: mremap speedup - Enable HAVE_MOVE_PUD
    From
    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>
    ---
    Changes in v4:
    - Add Kirill's Acked-by.

    arch/x86/Kconfig | 1 +
    1 file changed, 1 insertion(+)

    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
    --
    2.28.0.1011.ga647a8990f-goog
    \
     
     \ /
      Last update: 2020-10-14 11:21    [W:2.847 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site