• Leo Yan's avatar
    perf tsc: Calculate timestamp with cap_user_time_short · 78a93d4c
    Leo Yan authored
    The perf mmap'ed buffer contains the flag 'cap_user_time_short' and two
    extra fields 'time_cycles' and 'time_mask', perf tool needs to know them
    for handling the counter wrapping case.
    
    This patch is to reads out the relevant parameters from the head of the
    first mmap'ed page and stores into the structure 'perf_tsc_conversion',
    if the flag 'cap_user_time_short' has been set, it will firstly
    calibrate cycle value for timestamp calculation.
    
    Committer testing:
    
    Before/after:
    
      # perf test tsc
      70: Convert perf time to TSC                                        : Ok
      #
      # perf test -v tsc
      70: Convert perf time to TSC                                        :
      --- start ---
      test child forked, pid 11059
      mmap size 528384B
      1st event perf time 996384576521 tsc 3850532906613
      rdtsc          time 996384578455 tsc 3850532913950
      2nd event perf time 996384578845 tsc 3850532915428
      test child finished with 0
      ---- end ----
      Convert perf time to TSC: Ok
      #
    Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Andi Kleen <ak@linux.intel.com>
    Cc: Gustavo A. R. Silva <gustavoars@kernel.org>
    Cc: Ian Rogers <irogers@google.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: John Garry <john.garry@huawei.com>
    Cc: Kemeng Shi <shikemeng@huawei.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Mathieu Poirier <mathieu.poirier@linaro.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Nick Gasson <nick.gasson@arm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Remi Bernon <rbernon@codeweavers.com>
    Cc: Stephane Eranian <eranian@google.com>
    Cc: Steve Maclean <steve.maclean@microsoft.com>
    Cc: Will Deacon <will@kernel.org>
    Cc: Zou Wei <zou_wei@huawei.com>
    Cc: linux-arm-kernel@lists.infradead.org
    Link: http://lore.kernel.org/lkml/20200914115311.2201-4-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    78a93d4c
tsc.c 2.29 KB