[lkml]   [2012]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 3/9] perf bench: Make "default" memcpy() selection actually use glibc's implementation
    From: Jan Beulich <>

    Since arch/x86/lib/memcpy_64.S implements not only __memcpy, but also
    memcpy, without further precautions this function will get chose by the
    static linker for resolving all references, and hence the "default"
    measurement didn't really measure anything else than the
    "x86-64-unrolled" one.

    Fix this by renaming (through the pre-processor) the conflicting symbol.

    On my Westmere system, the glibc variant turns out to require about 4%
    less instructions, but 15% more cycles for the default 1Mb block size

    Cc: Ingo Molnar <>
    Cc: Paul Mackerras <>
    Cc: Peter Zijlstra <>
    Signed-off-by: Jan Beulich <>
    Signed-off-by: Arnaldo Carvalho de Melo <>
    tools/perf/bench/mem-memcpy-x86-64-asm.S | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/tools/perf/bench/mem-memcpy-x86-64-asm.S b/tools/perf/bench/mem-memcpy-x86-64-asm.S
    index a57b66e..384b607 100644
    --- a/tools/perf/bench/mem-memcpy-x86-64-asm.S
    +++ b/tools/perf/bench/mem-memcpy-x86-64-asm.S
    @@ -1,2 +1,2 @@
    +#define memcpy MEMCPY /* don't hide glibc's memcpy() */
    #include "../../../arch/x86/lib/memcpy_64.S"

     \ /
      Last update: 2012-01-25 00:11    [W:0.019 / U:5.084 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site