1. 30 7月, 2018 1 次提交
    • A
      tools arch: Update arch/x86/lib/memcpy_64.S copy used in 'perf bench mem memcpy' · 1f27a050
      Arnaldo Carvalho de Melo 提交于
      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.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      1f27a050
  2. 20 10月, 2015 1 次提交
  3. 21 7月, 2015 1 次提交
  4. 09 5月, 2015 1 次提交
    • D
      perf bench futex: Support parallel waker threads · d65817b4
      Davidlohr Bueso 提交于
      The futex-wake benchmark only measures wakeups done within a single
      process. While this has value in its own, it does not really generate
      any hb->lock contention.
      
      A new benchmark 'wake-parallel' is added, by extending the futex-wake
      code such that we can measure parallel waker threads. The program output
      shows the avg per-thread latency in order to complete its share of
      wakeups:
      
      Run summary [PID 13474]: blocking on 512 threads (at [private] futex 0xa88668), 8 threads waking up 64 at a time.
      
      [Run 1]: Avg per-thread latency (waking 64/512 threads) in 0.6230 ms (+-15.31%)
      [Run 2]: Avg per-thread latency (waking 64/512 threads) in 0.5175 ms (+-29.95%)
      [Run 3]: Avg per-thread latency (waking 64/512 threads) in 0.7578 ms (+-18.03%)
      [Run 4]: Avg per-thread latency (waking 64/512 threads) in 0.8944 ms (+-12.54%)
      [Run 5]: Avg per-thread latency (waking 64/512 threads) in 1.1204 ms (+-23.85%)
      Avg per-thread latency (waking 64/512 threads) in 0.7826 ms (+-9.91%)
      
      Naturally, different combinations of numbers of blocking and waker
      threads will exhibit different information.
      Signed-off-by: NDavidlohr Bueso <dbueso@suse.de>
      Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Davidlohr Bueso <dbueso@suse.de>
      Link: http://lkml.kernel.org/r/1431110280-20231-1-git-send-email-dave@stgolabs.netSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      d65817b4
  5. 12 2月, 2015 1 次提交