1. 23 Jun, 2016 5 commits
    • He Kuang's avatar
      perf unwind: Fix wrongly used regs for aarch64 unwind · 3bd03c95
      He Kuang authored
      By default, "unwind-libunwind-local.c" gets SP/IP register number
      according to the host platform, for remote unwind, we should use
      register number for target platform. Fix this by define
      LIBUNWIND_ARCH_REG_SP/IP in the wrapper file of aarch64 platform.
      Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1466578626-92406-4-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3bd03c95
    • He Kuang's avatar
      perf unwind: Fix wrongly used regs for x86_32 unwind · 5dafea09
      He Kuang authored
      By default, "unwind-libunwind-local.c" gets SP/IP register number
      according to the host platform, for remote unwind, we should use
      register number for target platform. Fix this by define
      LIBUNWIND_ARCH_REG_SP/IP in the wrapper file of x86_32 platform.
      Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1466578626-92406-3-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      5dafea09
    • He Kuang's avatar
      perf unwind: Change macro names of perf register · 78ff1d6d
      He Kuang authored
      Use macro name prefixed with "LIBUNWIND_ARCH" for better understanding
      that the regs used by callbacks of libunwind are arch specific. The real
      regs used should be defined in the wrapper file of
      "unwind-libunwind-local.c" for each supported arch.
      Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
      Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1466578626-92406-2-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      78ff1d6d
    • He Kuang's avatar
      perf tools: Find right DSO taking into account if binary is 32 or 64-bit · 76c588f1
      He Kuang authored
      There's a problem in machine__findnew_vdso(), vdso buildid generated by a
      32-bit machine stores it with the name 'vdso', but when processing buildid on a
      64-bit machine with the same 'perf.data', perf will search for vdso named as
      'vdso32' and get failed.
      
      This patch tries to find the existing dsos in machine->dsos by thread dso_type.
      64-bit thread tries to find vdso with name 'vdso', because all 64-bit vdso is
      named as that. 32-bit thread first tries to find vdso with name 'vdso32' if
      this thread was run on 64-bit machine, if failed, then it tries 'vdso' which
      indicates that the thread was run on 32-bit machine when recording.
      
      Committer note:
      
      Additional explanation by Adrian Hunter:
      
      We match maps to builds ids using the file name - consider
      machine__findnew_[v]dso() called in map__new().  So in the context of a perf
      data file, we consider the file name to be unique.
      
      A vdso map does not have a file name - all we know is that it is vdso.  We look
      at the thread to tell if it is 32-bit, 64-bit or x32.  Then we need to get the
      build id which has been recorded using short name "[vdso]" or "[vdso32]" or
      "[vdsox32]".
      
      The problem is that on a 32-bit machine, we use the name "[vdso]".  If you take
      a 32-bit perf data file to a 64-bit machine, it gets hard to figure out if
      "[vdso]" is 32-bit or 64-bit.
      
      This patch solves that problem.
      
       ----
      
      This also merges a followup patch fixing a problem introduced by the
      original submission of this patch, that would crash 'perf record' when
      recording samples for a 32-bit app on a 64-bit system.
      Signed-off-by: default avatarHe Kuang <hekuang@huawei.com>
      Acked-by: default avatarAdrian Hunter <adrian.hunter@intel.com>
      Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Andi Kleen <ak@linux.intel.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Josh Poimboeuf <jpoimboe@redhat.com>
      Cc: Kan Liang <kan.liang@intel.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Stephane Eranian <eranian@google.com>
      Cc: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1463475894-163531-1-git-send-email-hekuang@huawei.com
      Link: http://lkml.kernel.org/r/1466578626-92406-6-git-send-email-hekuang@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      76c588f1
    • Taeung Song's avatar
      perf config: Move config declarations from util/cache.h to util/config.h · 41840d21
      Taeung Song authored
      Lately util/config.h has been added but util/cache.h has declarations of
      functions and a global variable for config features.
      
      To manage codes about configuration at one spot, move them to
      util/config.h and let source files that need config features include
      config.h And if the source files that included previous cache.h need
      only config.h, remove including cache.h.
      Signed-off-by: default avatarTaeung Song <treeze.taeung@gmail.com>
      Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Masami Hiramatsu <mhiramat@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/r/1466672119-4852-2-git-send-email-treeze.taeung@gmail.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      41840d21
  2. 22 Jun, 2016 14 commits
  3. 21 Jun, 2016 9 commits
  4. 16 Jun, 2016 1 commit
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-20160615' of... · 02469a95
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-20160615' 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 changes:
      
      - Add --ldlat option to 'perf mem' to specify load latency for loads
        event (e.g. cpu/mem-loads/ ) (Jiri Olsa)
      
      Build fixes:
      
      - Fix libunwind related compile error for static cross build (He Kuang)
      
      Infrastructure changes:
      
      - UI refactorings to support headers with multiple lines, non-evsel
        hists browsers, toggle showing callchains, etc (Jiri Olsa)
      
      - More prep work for caching probe definitions, paving the way
        for supporting SDT (Statically Defined Traces) userspace probes (Masami Hiramatsu)
      
      - Handle NULL at perf_config_set__delete() (Taeung Song)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      02469a95
  5. 15 Jun, 2016 11 commits