perf tools: Have the page size value available for all tools
Commit-ID: 0c1fe6b2f30fa275d939071293b6e28771283f6d Gitweb: http://git.kernel.org/tip/0c1fe6b2f30fa275d939071293b6e28771283f6d Author: Arnaldo Carvalho de Melo <[email protected]> AuthorDate: Sat, 6 Oct 2012 14:57:10 -0300 Committer: Arnaldo Carvalho de Melo <[email protected]> CommitDate: Sat, 6 Oct 2012 16:33:14 -0300
perf tools: Have the page size value available for all tools
Its such a common need that we might as well have a global with that value.
Cc David Ahern <[email protected]>
Cc Frederic Weisbecker <[email protected]>
Cc Jiri Olsa <[email protected]>
Cc Mike Galbraith <[email protected]>
Cc Namhyung Kim <[email protected]>
Cc Paul Mackerras <[email protected]>
Cc Peter Zijlstra <[email protected]>
Cc Stephane Eranian <[email protected]>
Signed-off-by Arnaldo Carvalho de Melo <[email protected]>
--- tools/perf/builtin-test.c | 2 -- tools/perf/perf.c | 2 ++ tools/perf/util/evlist.c | 3 --- tools/perf/util/session.c | 4 +--- tools/perf/util/trace-event-read.c | 2 -- tools/perf/util/util.c | 2 ++ tools/perf/util/util.h | 2 ++ 7 files changed, 7 insertions(+), 10 deletions(-)
tools/perf/builtin-test.c +0 -2
@@ -35,7 +35,6 @@ static int test__vmlinux_matches_kallsyms(void)struct map *kallsyms_map, *vmlinux_map;struct machine kallsyms, vmlinux;enum map_type type =MAP__FUNCTION ; -long page_size =sysconf (_SC_PAGE_SIZE);struct ref_reloc_sym ref_reloc_sym = { .name ="_stext" , };/*
@@ -1007,7 +1006,6 @@ static void segfault_handler(int sig __maybe_unused,static int __test__rdpmc (void ) { -long page_size =sysconf (_SC_PAGE_SIZE);volatile int tmp =0 ;u64 i, loops =1000 ;int n;
tools/perf/perf.c +2 -0
@@ -440,6 +440,8 @@ int main(int argc, const char **argv) {const char *cmd; + page_size =sysconf (_SC_PAGE_SIZE); + cmd =perf_extract_argv0_path (argv[0 ]);if (!cmd) cmd ="perf-help" ;
tools/perf/util/evlist.c +0 -3
@@ -325,8 +325,6 @@ struct perf_evsel *perf_evlist__id2evsel(struct perf_evlist *evlist, u64 id)union perf_event *perf_evlist__mmap_read (struct perf_evlist *evlist,int idx) { -/* XXX Move this to perf.c, making it generally available */ -unsigned int page_size =sysconf (_SC_PAGE_SIZE);struct perf_mmap *md = &evlist->mmap[idx];unsigned int head =perf_mmap__read_head (md);unsigned int old = md->prev;
@@ -528,7 +526,6 @@ out_unmap:int perf_evlist__mmap (struct perf_evlist *evlist,unsigned int pages,bool overwrite) { -unsigned int page_size =sysconf (_SC_PAGE_SIZE);struct perf_evsel *evsel;const struct cpu_map *cpus = evlist->cpus;const struct thread_map *threads = evlist->threads;
tools/perf/util/session.c +1 -3
@@ -1375,15 +1375,13 @@ int __perf_session__process_events(struct perf_session *session, {u64 head, page_offset, file_offset, file_pos, progress_next;int err, mmap_prot, mmap_flags, map_idx =0 ; -size_t page_size, mmap_size; +size_t mmap_size;char *buf, *mmaps[8 ];union perf_event *event;uint32_t size;perf_tool__fill_defaults (tool); - page_size =sysconf (_SC_PAGESIZE); - page_offset = page_size * (data_offset / page_size); file_offset = page_offset; head = data_offset - page_offset;
tools/perf/util/trace-event-read.c +0 -2
@@ -47,8 +47,6 @@ int file_bigendian;int host_bigendian;static int long_size; -static unsigned long page_size; -static ssize_t calc_data_size;static bool repipe;
tools/perf/util/util.c +2 -0
@@ -10,6 +10,8 @@/* * XXX We need to find a better place for these things... */ +unsigned int page_size; +bool perf_host = true;bool perf_guest = false;
tools/perf/util/util.h +2 -0
@@ -263,4 +263,6 @@ char *rtrim(char *s);void dump_stack (void ); +extern unsigned int page_size; +#endif