Merge branch 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux...
Linus Torvalds [Wed, 1 Jul 2009 02:02:59 +0000 (19:02 -0700)]
* 'perfcounters-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (47 commits)
  perf report: Add --symbols parameter
  perf report: Add --comms parameter
  perf report: Add --dsos parameter
  perf_counter tools: Adjust only prelinked symbol's addresses
  perf_counter: Provide a way to enable counters on exec
  perf_counter tools: Reduce perf stat measurement overhead/skew
  perf stat: Use percentages for scaling output
  perf_counter, x86: Update x86_pmu after WARN()
  perf stat: Micro-optimize the code: memcpy is only required if no event is selected and !null_run
  perf stat: Improve output
  perf stat: Fix multi-run stats
  perf stat: Add -n/--null option to run without counters
  perf_counter tools: Remove dead code
  perf_counter: Complete counter swap
  perf report: Print sorted callchains per histogram entries
  perf_counter tools: Prepare a small callchain framework
  perf record: Fix unhandled io return value
  perf_counter tools: Add alias for 'l1d' and 'l1i'
  perf-report: Add bare minimum PERF_EVENT_READ parsing
  perf-report: Add modes for inherited stats and no-samples
  ...

1  2 
tools/perf/perf.h

diff --combined tools/perf/perf.h
  #define cpu_relax()   asm volatile ("" ::: "memory");
  #endif
  
 +#ifdef __s390__
 +#include "../../arch/s390/include/asm/unistd.h"
 +#define rmb()         asm volatile("bcr 15,0" ::: "memory")
 +#define cpu_relax()   asm volatile("" ::: "memory");
 +#endif
 +
  #include <time.h>
  #include <unistd.h>
  #include <sys/types.h>
  #include <sys/syscall.h>
  
  #include "../../include/linux/perf_counter.h"
- #include "types.h"
+ #include "util/types.h"
  
  /*
   * prctl(PR_TASK_PERF_COUNTERS_DISABLE) will (cheaply) disable all
@@@ -72,10 -66,9 +72,9 @@@ sys_perf_counter_open(struct perf_count
  #define MAX_COUNTERS                  256
  #define MAX_NR_CPUS                   256
  
- struct perf_file_header {
-       u64     version;
-       u64     sample_type;
-       u64     data_size;
+ struct ip_callchain {
+       u64 nr;
+       u64 ips[0];
  };
  
  #endif