Skip to content
  1. Aug 13, 2014
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo' of... · 1a91eac6
      Ingo Molnar authored
      
      Merge tag 'perf-core-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/core
      
      Pull perf/core improvements and fixes from Arnaldo Carvalho de Melo:
      
      User visible fixes and changes:
      
        * Show better error message in case we fail to open counters due to EBUSY error,
          for instance, when oprofile is running. (Jiri Olsa)
      
        * Honour -w in the report tools (report, top), allowing to specify the widths
          for the histogram entries columns. (Namhyung Kim)
      
        * Don't run workload if not told to, as happens when the user has no
          permission for profiling and even then the specified workload ends
          up running (Arnaldo Carvalho de Melo)
      
        * Do not ignore mmap events in 'perf kmem report'. This tool was using
          the kernel mmaps in the running machine instead of processing the mmap
          records from the perf.data file. (Namhyung Kim)
      
        * Properly show submicrosecond times in 'perf kvm stat' (Christian Borntraeger)
      
        * Honour existing 'perf record' --time/-T command line option (Andi Kleen)
      
        * Make sure --symfs usage includes the path separator (Arnaldo Carvalho de Melo)
      
      Development infrastructure fixes and changes:
      
        * Fix arm64 build error (Mark Salter)
      
        * Fix make PYTHON override (Namhyung Kim)
      
        * Rename ordered_samples to ordered_events and allow setting a queue
          size for ordering events (Jiri Olsa)
      
        * Default to python version 2 (Thomas Ilsche)
      
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      1a91eac6
  2. Aug 12, 2014
    • Thomas Ilsche's avatar
      perf tools: Default to python version 2 · d6a947fb
      Thomas Ilsche authored
      
      
      According to PEP 394 recommendation [1], it's more portable to use
      python2 rather than plain python to refer python binary version 2.
      
      Since there're distros using python3 by default like Arch, and we don't
      support python3 (yet), it'd be better using python2 explicitly.
      
      But older versions (prior to 2.7) seem not to provide python2 but just
      python.  Given that it's only old version, try python2 first and then
      fallback to python.  It'll ensure that it always points to python 2.x.
      
      I tested (compiles and perf script runs) with the combinations:
      
      1) python  -> python2.x, python-config  -> python2.x-config
         python2 N/A,          python2-config N/A
      
      2) python  -> python3.x, python-config  -> python3.x-config
         python2 -> python2.x, python2-config -> python2.x-config
      
      3) python  -> python2.x, python-config  -> python2.x-config
         python2 -> python2.x, python2-config -> python2.x-config
      
      4) python  -> python2.x, python-config  -> python2.x-config
         python2 -> python2.x, python2-config N/A
      
      Based on / replaces the patch 2/2 by Namhyung Kim.
      
      [1] https://www.python.org/dev/peps/pep-0394
      
      Based-on-patch-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Signed-off-by: default avatarThomas Ilsche <thomas.ilsche@tu-dresden.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/53DF8493.6070206@tu-dresden.de
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d6a947fb
    • Jiri Olsa's avatar
      perf tools: Fix PERF_FLAG_FD_CLOEXEC flag probing event type open counters due to EBUSY error · 038fa0b9
      Jiri Olsa authored
      
      
      We were using PERF_COUNT_SW_CPU_CLOCK as an probing event type.  Using
      expected PERF_TYPE_SOFTWARE type instead.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: William Cohen <wcohen@redhat.com>
      Cc: Yann Droneaud <ydroneaud@opteya.com>
      Link: http://lkml.kernel.org/r/20140803121036.GA1181@krava.brq.redhat.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      038fa0b9
    • Namhyung Kim's avatar
      perf tools: Fix column alignment when headers aren't shown on TUI · 59dc9f25
      Namhyung Kim authored
      
      
      If user sets ui.show-headers config option to false, it didn't calculate
      default column width so it broke the alignment.  This is because it does
      the calculation just before showing headers.
      
      Move it to the beginning of the hist browser so that it can be called
      regardless of the config option.
      
      Reported-by: default avatarJiri Olsa <jolsa@redhat.com>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-8-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      59dc9f25
    • Namhyung Kim's avatar
      perf tools: Add name field into perf_hpp_fmt · 1ecd4453
      Namhyung Kim authored
      
      
      It makes the code a bit simpler and easier to debug IMHO.
      
      I guess it can also remove similar code in perf diff, but let's keep
      it for a future work. :)
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-7-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      1ecd4453
    • Namhyung Kim's avatar
      perf top: Add -w option for setting column width · cf59002f
      Namhyung Kim authored
      
      
      Add -w/--column-widths option like perf report does so that users are
      able to see symbols even with some very long C++ library/functions.
      
      It can be a list separated by comma for each column.
      
        $ perf top -w 0,20,30
      
      The value of 0 means there's no limit.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-6-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cf59002f
    • Namhyung Kim's avatar
      perf report: Honor column width setting · 5b591669
      Namhyung Kim authored
      
      
      Set column width and do not change it if user gives -w/--column-widths
      option.  It'll truncate longer symbols than the width if exists.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-5-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5b591669
    • Namhyung Kim's avatar
      perf tools: Save column length in perf_hpp_fmt · e0d66c74
      Namhyung Kim authored
      
      
      Save column length in the hpp format and pass it to print functions.
      This is a preparation for users to control column width in the output.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-4-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      e0d66c74
    • Namhyung Kim's avatar
      perf tools: Make __hpp__fmt() receive an additional len argument · d675107c
      Namhyung Kim authored
      
      
      So that it can properly handle alignment requirements later.  To do
      that, add percent_color_len_snprintf() fucntion to help coloring of
      overhead columns.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-3-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d675107c
    • Namhyung Kim's avatar
      perf tools: Left-align output contents · 8246de88
      Namhyung Kim authored
      
      
      Now perf left-aligns column headers but the contents does not.  It
      should have same alignment.  This requires a change in pid sort key - it
      consists of two part (pid and comm).  As length of comm can be vary it'd
      be better to change the order of them.
      
      Thanks to Jiri Olsa for pointing this out.
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406785662-5534-2-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8246de88
    • Namhyung Kim's avatar
      perf tools: Fix make PYTHON override · 56c7d79e
      Namhyung Kim authored
      
      
      Thomas reported that make PYTHON=python2 is not work on some systems.  I
      can reproduce it on my ArchLinux box too.
      
      This is because it's overridden by config/feature-checks/Makefile
      regardless of PYTHON setting.  I guess it's a bug slipped into during
      the feature checking change.
      
      Actually, we don't need to check python-config in the feature-checks.
      We can just pass appropriate FEATURE_CHECK_*FLAGS.
      
      Reported-by: default avatarThomas Ilsche <thomas.ilsche@tu-dresden.de>
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Tested-by: default avatarThomas Ilsche <thomas.ilsche@tu-dresden.de>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Thomas Ilsche <thomas.ilsche@tu-dresden.de>
      Link: http://lkml.kernel.org/r/1406617040-26909-1-git-send-email-namhyung@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      56c7d79e
    • Namhyung Kim's avatar
      perf kmem: Do not ignore mmap events · 64c40908
      Namhyung Kim authored
      The perf kmem command didn't process mmap events for some unknown reason
      and it instead gets symbol info from a running kernel.  This is
      problematic if perf kmem record was run on a different kernel.
      
      This patch adds the mmap event handlers and reverts the commit
      e727ca73
      
       ("perf kmem: Resolve kernel symbols again").
      
      Signed-off-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Namhyung Kim <namhyung.kim@lge.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/r/1406872771-23933-1-git-send-email-namhyung@kernel.org
      [ Fixed up merge conflict with Jiri's ordered_events rename patch set ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      64c40908
    • Jiri Olsa's avatar
      perf tools: Show better error message in case we fail to open counters due to EBUSY error · 63914aca
      Jiri Olsa authored
      
      
      Showing better error message in case we fail to open counters due to the
      EBUSY error. If we detect oprofile daemon process running, we now
      display following message for EBUSY error:
      
        $ perf record ls
        Error:
        The PMU counters are busy/taken by another profiler.
        We found oprofile daemon running, please stop it and try again.
      
      In case oprofiled was not detected the current error message stays:
      
        $ perf record ls
        Error:
        The sys_perf_event_open() syscall returned with 16 (Device or resource busy) for event (cycles).
        /bin/dmesg may provide additional information.
        No CONFIG_PERF_EVENTS=y kernel support configured?
      
      Also changing PERF_FLAG_FD_CLOEXEC detection code not to display error
      in case of EBUSY error, as it currently does:
      
        $ perf record ls
        Error:
        perf_event_open(..., PERF_FLAG_FD_CLOEXEC) failed with unexpected error 16 (Device or resource busy)
        perf_event_open(..., 0) failed unexpectedly with error 16 (Device or resource busy)
        The PMU counters are busy/taken by another profiler.
        We found oprofile daemon running, please stop it and try again.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Namhyung Kim <namhyung@gmail.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: William Cohen <wcohen@redhat.com>
      Cc: Yann Droneaud <ydroneaud@opteya.com>
      Link: http://lkml.kernel.org/r/1406908014-8312-1-git-send-email-jolsa@kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      63914aca
    • Jiri Olsa's avatar
      perf tools: Allow out of order messages in forced flush · b0a45203
      Jiri Olsa authored
      
      
      In forced flush (OE_FLUSH__HALF) we break the rules of the flush
      timestamp via PERF_RECORD_FINISHED_ROUND event, so we could get out of
      order event.
      
      Do not force error in this case plus changing the output warning to use
      WARN_ONCE.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-8q8794a8nlmpd1u8xrqmcyd2@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      b0a45203
    • Jiri Olsa's avatar
      perf tools: Add debug prints for ordered events queue · cee3ab9c
      Jiri Olsa authored
      
      
      Adding some prints for ordered events queue, to help debug issues.
      
      Adding debug_ordered_events debug variable to be able to enable ordered
      events debug messages using:
      
        $ perf --debug ordered-events=2 report ...
      
      Also using oe pointer in perf_session__queue_event instead of chained
      session variable dereferencing.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-7p3mnnopjvsp9nmk9msqcfkm@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cee3ab9c
    • Jiri Olsa's avatar
      perf tools: Add report.queue-size config file option · 94786b67
      Jiri Olsa authored
      
      
      Adding report.queue-size config file option to setup the maximum
      allocation size for session's struct ordered_events object.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-lm42mbpu0cwljpyy8vw5y26n@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      94786b67
    • Jiri Olsa's avatar
      perf tools: Add perf_config_u64 function · 94c0655f
      Jiri Olsa authored
      
      
      Adding perf_config_u64 function to be able to parse 'llong' values out
      of config file.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-ni6gqdlvw7khp74r9htvklkb@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      94c0655f
    • Jiri Olsa's avatar
      perf tools: Add ordered_events__free function · adc56ed1
      Jiri Olsa authored
      
      
      Adding ordered_events__free function to release all the struct
      ordered_events data. It's replacement for former
      perf_session_free_sample_buffers function.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-urraa8ccay4o14wambjraws7@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      adc56ed1
    • Jiri Olsa's avatar
      perf tools: Add ordered_events__init function · 36522f5c
      Jiri Olsa authored
      
      
      Adding ordered_events__init function for struct ordered_events struct
      initialization.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-g6dx35hed8g14eh1ygx4uzp6@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      36522f5c
    • Jiri Olsa's avatar
      perf tools: Use list_move in ordered_events_delete function · fa4e5c67
      Jiri Olsa authored
      
      
      As Namhyung pointed out we can use list_move in ordered_events_delete.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Suggested-by: default avatarNamhyung Kim <namhyung@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-m8ae5s5cuwyytitgb6iqilid@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fa4e5c67
    • Jiri Olsa's avatar
      perf tools: Create ordered-events object · 5f86b80b
      Jiri Olsa authored
      
      
      Move ordered events code into separated object ordered-events.[ch].
      
      No functional change was intended.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-1ge3rilgudszbl87cejm1tfg@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5f86b80b
    • Jiri Olsa's avatar
      perf tools: Make perf_session__deliver_event global · 79a30fe4
      Jiri Olsa authored
      
      
      Making perf_session__deliver_event global function, as it will be called
      from another object in following patch.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-rz7s2b8uwv567bigckh75gvk@git.kernel.org
      [ Fixup naming to match class__method schema, as now is more widely exposed ]
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      79a30fe4
    • Jiri Olsa's avatar
      perf tools: Flush ordered events in case of allocation failure · d40b4a15
      Jiri Olsa authored
      
      
      In previous patches we added a limit for ordered events queue allocation
      size. If we reach this size we need to flush (part of) the queue to get
      some free buffers.
      
      The current functionality is not affected, because the limit is hard
      coded to (u64) -1. The configuration code for size will come in
      following patches.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-ggcas0xdq847fi85bz73do2e@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d40b4a15
    • Jiri Olsa's avatar
      perf tools: Limit ordered events queue size · 8d99a6ce
      Jiri Olsa authored
      
      
      Add limit to the ordered events queue allocation. This way we will be
      able to control the size of the queue buffers.
      
      There's no limit at the moment (it's set to (u64) -1). The config code
      will come in following patches.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-lw1ny3mk4ctb6su5ght5rsng@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8d99a6ce
    • Jiri Olsa's avatar
      perf tools: Factor ordered_events__flush to be more generic · d8836b5d
      Jiri Olsa authored
      
      
      Centralizing the next_flush calculation under the ordered_events__flush
      function.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-srwunsy7o5wl17vpt4a10oxp@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      d8836b5d
    • Jiri Olsa's avatar
      perf tools: Add ordered_events__(new|delete) interface · c64c7e1a
      Jiri Olsa authored
      
      
      Adding new ordered events interface to new|delete event buffer:
      
        ordered_events__new    - allocate event buffer from the cache
        ordered_events__delete - return event buffer to the cache
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-srwunsy7o5wl17vpt4a10oxp@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      c64c7e1a
    • Jiri Olsa's avatar
      perf tools: Rename ordered_events members · fc12482f
      Jiri Olsa authored
      
      
      Rename 'struct ordered_events' members to fit better the ordered events
      style.
      
      No functional change was intended.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-v0eb2hsmrxbolnoawu5fn92z@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      fc12482f
    • Jiri Olsa's avatar
      perf tools: Rename ordered_samples struct to ordered_events · 37e39aa8
      Jiri Olsa authored
      
      
      Following up with ordered_samples rename for ordered_samples and
      sample_queue structs to ordered_events and ordered_event structs
      respectively.
      
      Also changing flush_sample_queue function name to ordered_events_flush.
      
      No functional change was intended.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-2dkrdvh0bbmzxdse437fcgls@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      37e39aa8
    • Jiri Olsa's avatar
      perf tools: Rename ordered_samples bool to ordered_events · 0a8cb85c
      Jiri Olsa authored
      
      
      The time ordering is generic for all kinds of events, so using generic
      name 'ordered_events' for ordered_samples bool in perf_tool struct.
      
      No functional change was intended.
      
      Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
      Acked-by: default avatarDavid Ahern <dsahern@gmail.com>
      Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Frederic Weisbecker <fweisbec@gmail.com>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Jean Pihet <jean.pihet@linaro.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Link: http://lkml.kernel.org/n/tip-07mrqzcuhsks9wfmxrzsvemz@git.kernel.org
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0a8cb85c
    • Andi Kleen's avatar
      perf record: Honour --no-time command line option · 8affc2b8
      Andi Kleen authored
      
      
      Time stamps are always implicitely enabled for record currently.  The
      old --time/-T option is a nop.
      
      Allow the user to disable timestamps by using --no-time, honouring the
      existing option.
      
      The defaults are unchanged.
      
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Stephane Eranian <eranian@google.com>
      Link: http://lkml.kernel.org/r/1406789104-25863-10-git-send-email-zheng.z.yan@intel.com
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      8affc2b8
  3. Aug 08, 2014
  4. Aug 05, 2014
    • Linus Torvalds's avatar
      Merge branch 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98a96f20
      Linus Torvalds authored
      Pull x86 vdso updates from Ingo Molnar:
       "Further simplifications and improvements to the VDSO code, by Andy
        Lutomirski"
      
      * 'x86-vdso-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86_64/vsyscall: Fix warn_bad_vsyscall log output
        x86/vdso: Set VM_MAYREAD for the vvar vma
        x86, vdso: Get rid of the fake section mechanism
        x86, vdso: Move the vvar area before the vdso text
      98a96f20
    • Linus Torvalds's avatar
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5637a2a3
      Linus Torvalds authored
      Pull x86 UV TLB update from Ingo Molnar:
       "UV TLB shootdown logic updates for version of the UV architecture"
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uv: Update the UV3 TLB shootdown logic
      5637a2a3
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d782cebd
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - RAS tracing/events infrastructure, by Gong Chen.
      
         - Various generalizations of the APEI code to make it available to
           non-x86 architectures, by Tomasz Nowicki"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ras: Fix build warnings in <linux/aer.h>
        acpi, apei, ghes: Factor out ioremap virtual memory for IRQ and NMI context.
        acpi, apei, ghes: Make NMI error notification to be GHES architecture extension.
        apei, mce: Factor out APEI architecture specific MCE calls.
        RAS, extlog: Adjust init flow
        trace, eMCA: Add a knob to adjust where to save event log
        trace, RAS: Add eMCA trace event interface
        RAS, debugfs: Add debugfs interface for RAS subsystem
        CPER: Adjust code flow of some functions
        x86, MCE: Robustify mcheck_init_device
        trace, AER: Move trace into unified interface
        trace, RAS: Add basic RAS trace event
        x86, MCE: Kill CPU_POST_DEAD
      d782cebd
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8556d44f
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "The main changes in this cycle are:
      
         - Intel SOC driver updates, by Aubrey Li.
      
         - TS5500 platform updates, by Vivien Didelot"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/pmc_atom: Silence shift wrapping warnings in pmc_sleep_tmr_show()
        x86/pmc_atom: Expose PMC device state and platform sleep state
        x86/pmc_atom: Eisable a few S0ix wake up events for S0ix residency
        x86/platform: New Intel Atom SOC power management controller driver
        x86/platform/ts5500: Add support for TS-5400 boards
        x86/platform/ts5500: Add a 'name' sysfs attribute
        x86/platform/ts5500: Use the DEVICE_ATTR_RO() macro
      8556d44f
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ce474796
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "The main change in this cycle is the rework of the TLB range flushing
        code, to simplify, fix and consolidate the code.  By Dave Hansen"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Set TLB flush tunable to sane value (33)
        x86/mm: New tunable for single vs full TLB flush
        x86/mm: Add tracepoints for TLB flushes
        x86/mm: Unify remote INVLPG code
        x86/mm: Fix missed global TLB flush stat
        x86/mm: Rip out complicated, out-of-date, buggy TLB flushing
        x86/mm: Clean up the TLB flushing code
        x86/smep: Be more informative when signalling an SMEP fault
      ce474796
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 76f09aa4
      Linus Torvalds authored
      Pull EFI changes from Ingo Molnar:
       "Main changes in this cycle are:
      
         - arm64 efi stub fixes, preservation of FP/SIMD registers across
           firmware calls, and conversion of the EFI stub code into a static
           library - Ard Biesheuvel
      
         - Xen EFI support - Daniel Kiper
      
         - Support for autoloading the efivars driver - Lee, Chun-Yi
      
         - Use the PE/COFF headers in the x86 EFI boot stub to request that
           the stub be loaded with CONFIG_PHYSICAL_ALIGN alignment - Michael
           Brown
      
         - Consolidate all the x86 EFI quirks into one file - Saurabh Tangri
      
         - Additional error logging in x86 EFI boot stub - Ulf Winkelvos
      
         - Support loading initrd above 4G in EFI boot stub - Yinghai Lu
      
         - EFI reboot patches for ACPI hardware reduced platforms"
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (31 commits)
        efi/arm64: Handle missing virtual mapping for UEFI System Table
        arch/x86/xen: Silence compiler warnings
        xen: Silence compiler warnings
        x86/efi: Request desired alignment via the PE/COFF headers
        x86/efi: Add better error logging to EFI boot stub
        efi: Autoload efivars
        efi: Update stale locking comment for struct efivars
        arch/x86: Remove efi_set_rtc_mmss()
        arch/x86: Replace plain strings with constants
        xen: Put EFI machinery in place
        xen: Define EFI related stuff
        arch/x86: Remove redundant set_bit(EFI_MEMMAP) call
        arch/x86: Remove redundant set_bit(EFI_SYSTEM_TABLES) call
        efi: Introduce EFI_PARAVIRT flag
        arch/x86: Do not access EFI memory map if it is not available
        efi: Use early_mem*() instead of early_io*()
        arch/ia64: Define early_memunmap()
        x86/reboot: Add EFI reboot quirk for ACPI Hardware Reduced flag
        efi/reboot: Allow powering off machines using EFI
        efi/reboot: Add generic wrapper around EfiResetSystem()
        ...
      76f09aa4
    • Linus Torvalds's avatar
      Merge branch 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e9c9eeca
      Linus Torvalds authored
      Pull x86 cpufeature updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Continued cleanups of CPU bugs mis-marked as 'missing features', by
           Borislav Petkov.
      
         - Detect the xsaves/xrstors feature and releated cleanup, by Fenghua
           Yu"
      
      * 'x86-cpufeature-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, cpu: Kill cpu_has_mp
        x86, amd: Cleanup init_amd
        x86/cpufeature: Add bug flags to /proc/cpuinfo
        x86, cpufeature: Convert more "features" to bugs
        x86/xsaves: Detect xsaves/xrstors feature
        x86/cpufeature.h: Reformat x86 feature macros
      e9c9eeca
    • Linus Torvalds's avatar
      Merge branches 'x86-build-for-linus', 'x86-cleanups-for-linus' and... · 19d402c1
      Linus Torvalds authored
      Merge branches 'x86-build-for-linus', 'x86-cleanups-for-linus' and 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull x86 build/cleanup/debug updates from Ingo Molnar:
       "Robustify the build process with a quirk to avoid GCC reordering
        related bugs.
      
        Two code cleanups.
      
        Simplify entry_64.S CFI annotations, by Jan Beulich"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, build: Change code16gcc.h from a C header to an assembly header
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Simplify __HAVE_ARCH_CMPXCHG tests
        x86/tsc: Get rid of custom DIV_ROUND() macro
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/debug: Drop several unnecessary CFI annotations
      19d402c1
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98959948
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
      
       - Move the nohz kick code out of the scheduler tick to a dedicated IPI,
         from Frederic Weisbecker.
      
        This necessiated quite some background infrastructure rework,
        including:
      
         * Clean up some irq-work internals
         * Implement remote irq-work
         * Implement nohz kick on top of remote irq-work
         * Move full dynticks timer enqueue notification to new kick
         * Move multi-task notification to new kick
         * Remove unecessary barriers on multi-task notification
      
       - Remove proliferation of wait_on_bit() action functions and allow
         wait_on_bit_action() functions to support a timeout.  (Neil Brown)
      
       - Another round of sched/numa improvements, cleanups and fixes.  (Rik
         van Riel)
      
       - Implement fast idling of CPUs when the system is partially loaded,
         for better scalability.  (Tim Chen)
      
       - Restructure and fix the CPU hotplug handling code that may leave
         cfs_rq and rt_rq's throttled when tasks are migrated away from a dead
         cpu.  (Kirill Tkhai)
      
       - Robustify the sched topology setup code.  (Peterz Zijlstra)
      
       - Improve sched_feat() handling wrt.  static_keys (Jason Baron)
      
       - Misc fixes.
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
        sched/fair: Fix 'make xmldocs' warning caused by missing description
        sched: Use macro for magic number of -1 for setparam
        sched: Robustify topology setup
        sched: Fix sched_setparam() policy == -1 logic
        sched: Allow wait_on_bit_action() functions to support a timeout
        sched: Remove proliferation of wait_on_bit() action functions
        sched/numa: Revert "Use effective_load() to balance NUMA loads"
        sched: Fix static_key race with sched_feat()
        sched: Remove extra static_key*() function indirection
        sched/rt: Fix replenish_dl_entity() comments to match the current upstream code
        sched: Transform resched_task() into resched_curr()
        sched/deadline: Kill task_struct->pi_top_task
        sched: Rework check_for_tasks()
        sched/rt: Enqueue just unthrottled rt_rq back on the stack in __disable_runtime()
        sched/fair: Disable runtime_enabled on dying rq
        sched/numa: Change scan period code to match intent
        sched/numa: Rework best node setting in task_numa_migrate()
        sched/numa: Examine a task move when examining a task swap
        sched/numa: Simplify task_numa_compare()
        sched/numa: Use effective_load() to balance NUMA loads
        ...
      98959948