Skip to content
  • Arnaldo Carvalho de Melo's avatar
    tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' · 1f27a050
    Arnaldo Carvalho de Melo authored
    To cope with the changes in:
    
      12c89130 ("x86/asm/memcpy_mcsafe: Add write-protection-fault handling")
      60622d68 ("x86/asm/memcpy_mcsafe: Return bytes remaining")
      bd131544 ("x86/asm/memcpy_mcsafe: Add labels for __memcpy_mcsafe() write fault handling")
      da7bc9c5 ("x86/asm/memcpy_mcsafe: Remove loop unrolling")
    
    This needed introducing a file with a copy of the mcsafe_handle_tail()
    function, that is used in the new memcpy_64.S file, as well as a dummy
    mcsafe_test.h header.
    
    Testing it:
    
      $ nm ~/bin/perf | grep mcsafe
      0000000000484130 T mcsafe_handle_tail
      0000000000484300 T __memcpy_mcsafe
      $
      $ perf bench mem memcpy
      # Running 'mem/memcpy' benchmark:
      # function 'default' (Default memcpy() provided by glibc)
      # Copying 1MB bytes ...
    
          44.389205 GB/sec
      # function 'x86-64-unrolled' (unrolled memcpy() in arch/x86/lib/memcpy_64.S)
      # Copying 1MB bytes ...
    
          22.710756 GB/sec
      # function 'x86-64-movsq' (movsq-based memcpy() in arch/x86/lib/memcpy_64.S)
      # Copying 1MB bytes ...
    
          42.459239 GB/sec
      # function 'x86-64-movsb' (movsb-based memcpy() in arch/x86/lib/memcpy_64.S)
      # Copying 1MB bytes ...
    
          42.459239 GB/sec
      $
    
    This silences this perf tools build warning:
    
      Warning: Kernel ABI header at 'tools/arch/x86/lib/memcpy_64.S' differs from latest version at 'arch/x86/lib/memcpy_64.S'
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Dan Williams <dan.j.williams@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mika Penttilä <mika.penttila@nextfour.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Tony Luck <tony.luck@intel.com>
    Cc: Wang Nan <wangnan0@huawei.com>
    Link: https://lkml.kernel.org/n/tip-igdpciheradk3gb3qqal52d0@git.kernel.org
    
    
    Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    1f27a050