1. 18 2月, 2014 25 次提交
  2. 10 2月, 2014 3 次提交
  3. 01 2月, 2014 8 次提交
  4. 27 1月, 2014 1 次提交
  5. 24 1月, 2014 1 次提交
    • M
      perf symbols: Load map before using map->map_ip() · 4afc81cd
      Masami Hiramatsu 提交于
      In map_groups__find_symbol() map->map_ip is used without ensuring the
      map is loaded. Then the address passed to map->map_ip isn't mapped at
      the first time.
      
      E.g. below code always fails to get a symbol at the first call;
      
      	addr = /* Somewhere in the kernel text */
      	symbol_conf.try_vmlinux_path = true;
      	symbol__init();
      	host_machine = machine__new_host();
      	sym = machine__find_kernel_function(host_machine,
      					 addr, NULL, NULL);
      	/* Note that machine__find_kernel_function calls
      	   map_groups__find_symbol */
      
      This ensures it by calling map__load before using it in
      map_groups__find_symbol().
      Signed-off-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: "David A. Long" <dave.long@linaro.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@redhat.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
      Cc: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
      Cc: yrl.pp-manager.tt@hitachi.com
      Link: http://lkml.kernel.org/r/20140123022950.7206.17357.stgit@kbuild-fedora.yrl.intra.hitachi.co.jpSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      4afc81cd
  6. 21 1月, 2014 2 次提交
    • N
      perf symbols: Fix JIT symbol resolution on heap · 578c03c8
      Namhyung Kim 提交于
      Gaurav reported that perf cannot profile JIT program if it executes the
      code on heap.  This was because current map__new() only handle JIT on
      anon mappings - extends it to handle no_dso (heap, stack) case too.
      
      This patch assumes JIT profiling only provides dynamic function symbols
      so check the mapping type to distinguish the case.  It'd provide no
      symbols for data mapping - if we need to support symbols on data
      mappings later it should be changed.
      Reported-by: NGaurav Jain <gjain@fb.com>
      Signed-off-by: NNamhyung Kim <namhyung@kernel.org>
      Tested-by: NGaurav Jain <gjain@fb.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Gaurav Jain <gjain@fb.com>
      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/1389836971-3549-1-git-send-email-namhyung@kernel.orgSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      578c03c8
    • S
      perf stat: Fix memory corruption of xyarray when cpumask is used · 8ad9219e
      Stephane Eranian 提交于
      This patch fixes a memory corruption problem with the xyarray when the
      evsel fds get closed at the end of the run_perf_stat() call.
      
      It could be triggered with:
      
       # perf stat -a -e power/energy-cores/ ls
      
      When cpumask are used by events (.e.g, RAPL or uncores) then the evsel
      fds are allocated based on the actual number of CPUs monitored. That
      number can be smaller than the total number of CPUs on the system.
      
      The problem arises at the end by perf stat closes the fds twice. When
      fds are closed, their entry in the xyarray are set to -1.
      
      The first close() on the evsel is made from __run_perf_stat() and it
      uses the actual number of CPUS for the event which is how the xyarray
      was allocated for.
      
      The second is from perf_evlist_close() but that one is on the total
      number of CPUs in the system, so it assume the xyarray was allocated to
      cover it. However it was not, and some writes corrupt memory.
      
      The fix is in perf_evlist_close() is to first try with the evsel->cpus
      if present, if not use the evlist->cpus. That fixes the problem.
      Signed-off-by: NStephane Eranian <eranian@google.com>
      Cc: David Ahern <dsahern@gmail.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Jiri Olsa <jolsa@redhat.com>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Link: http://lkml.kernel.org/r/1389972846-6566-3-git-send-email-eranian@google.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
      8ad9219e