diff options
author | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-10-06 13:57:10 -0400 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2012-10-06 15:33:14 -0400 |
commit | 0c1fe6b2f30fa275d939071293b6e28771283f6d (patch) | |
tree | ebb758186c877498940002396fd39916bc831da1 /tools/perf | |
parent | 6e92349d5a814a3f633a43d9d6bd3b199ef3ad72 (diff) |
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 <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@gmail.com>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-mwfqji9f17k5j81l1404dk3q@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf')
-rw-r--r-- | tools/perf/builtin-test.c | 2 | ||||
-rw-r--r-- | tools/perf/perf.c | 2 | ||||
-rw-r--r-- | tools/perf/util/evlist.c | 3 | ||||
-rw-r--r-- | tools/perf/util/session.c | 4 | ||||
-rw-r--r-- | tools/perf/util/trace-event-read.c | 2 | ||||
-rw-r--r-- | tools/perf/util/util.c | 2 | ||||
-rw-r--r-- | tools/perf/util/util.h | 2 |
7 files changed, 7 insertions, 10 deletions
diff --git a/tools/perf/builtin-test.c b/tools/perf/builtin-test.c index 484f26cc0c00..e2d9872de3d7 100644 --- a/tools/perf/builtin-test.c +++ b/tools/perf/builtin-test.c | |||
@@ -35,7 +35,6 @@ static int test__vmlinux_matches_kallsyms(void) | |||
35 | struct map *kallsyms_map, *vmlinux_map; | 35 | struct map *kallsyms_map, *vmlinux_map; |
36 | struct machine kallsyms, vmlinux; | 36 | struct machine kallsyms, vmlinux; |
37 | enum map_type type = MAP__FUNCTION; | 37 | enum map_type type = MAP__FUNCTION; |
38 | long page_size = sysconf(_SC_PAGE_SIZE); | ||
39 | struct ref_reloc_sym ref_reloc_sym = { .name = "_stext", }; | 38 | struct ref_reloc_sym ref_reloc_sym = { .name = "_stext", }; |
40 | 39 | ||
41 | /* | 40 | /* |
@@ -1007,7 +1006,6 @@ static void segfault_handler(int sig __maybe_unused, | |||
1007 | 1006 | ||
1008 | static int __test__rdpmc(void) | 1007 | static int __test__rdpmc(void) |
1009 | { | 1008 | { |
1010 | long page_size = sysconf(_SC_PAGE_SIZE); | ||
1011 | volatile int tmp = 0; | 1009 | volatile int tmp = 0; |
1012 | u64 i, loops = 1000; | 1010 | u64 i, loops = 1000; |
1013 | int n; | 1011 | int n; |
diff --git a/tools/perf/perf.c b/tools/perf/perf.c index 6d50eb0b4251..d480d8a412b8 100644 --- a/tools/perf/perf.c +++ b/tools/perf/perf.c | |||
@@ -440,6 +440,8 @@ int main(int argc, const char **argv) | |||
440 | { | 440 | { |
441 | const char *cmd; | 441 | const char *cmd; |
442 | 442 | ||
443 | page_size = sysconf(_SC_PAGE_SIZE); | ||
444 | |||
443 | cmd = perf_extract_argv0_path(argv[0]); | 445 | cmd = perf_extract_argv0_path(argv[0]); |
444 | if (!cmd) | 446 | if (!cmd) |
445 | cmd = "perf-help"; | 447 | cmd = "perf-help"; |
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c index 186b87730396..a41dc4a5c2de 100644 --- a/tools/perf/util/evlist.c +++ b/tools/perf/util/evlist.c | |||
@@ -325,8 +325,6 @@ struct perf_evsel *perf_evlist__id2evsel(struct perf_evlist *evlist, u64 id) | |||
325 | 325 | ||
326 | union perf_event *perf_evlist__mmap_read(struct perf_evlist *evlist, int idx) | 326 | union perf_event *perf_evlist__mmap_read(struct perf_evlist *evlist, int idx) |
327 | { | 327 | { |
328 | /* XXX Move this to perf.c, making it generally available */ | ||
329 | unsigned int page_size = sysconf(_SC_PAGE_SIZE); | ||
330 | struct perf_mmap *md = &evlist->mmap[idx]; | 328 | struct perf_mmap *md = &evlist->mmap[idx]; |
331 | unsigned int head = perf_mmap__read_head(md); | 329 | unsigned int head = perf_mmap__read_head(md); |
332 | unsigned int old = md->prev; | 330 | unsigned int old = md->prev; |
@@ -528,7 +526,6 @@ out_unmap: | |||
528 | int perf_evlist__mmap(struct perf_evlist *evlist, unsigned int pages, | 526 | int perf_evlist__mmap(struct perf_evlist *evlist, unsigned int pages, |
529 | bool overwrite) | 527 | bool overwrite) |
530 | { | 528 | { |
531 | unsigned int page_size = sysconf(_SC_PAGE_SIZE); | ||
532 | struct perf_evsel *evsel; | 529 | struct perf_evsel *evsel; |
533 | const struct cpu_map *cpus = evlist->cpus; | 530 | const struct cpu_map *cpus = evlist->cpus; |
534 | const struct thread_map *threads = evlist->threads; | 531 | const struct thread_map *threads = evlist->threads; |
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 8cdd23239c90..15abe40dc702 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c | |||
@@ -1375,15 +1375,13 @@ int __perf_session__process_events(struct perf_session *session, | |||
1375 | { | 1375 | { |
1376 | u64 head, page_offset, file_offset, file_pos, progress_next; | 1376 | u64 head, page_offset, file_offset, file_pos, progress_next; |
1377 | int err, mmap_prot, mmap_flags, map_idx = 0; | 1377 | int err, mmap_prot, mmap_flags, map_idx = 0; |
1378 | size_t page_size, mmap_size; | 1378 | size_t mmap_size; |
1379 | char *buf, *mmaps[8]; | 1379 | char *buf, *mmaps[8]; |
1380 | union perf_event *event; | 1380 | union perf_event *event; |
1381 | uint32_t size; | 1381 | uint32_t size; |
1382 | 1382 | ||
1383 | perf_tool__fill_defaults(tool); | 1383 | perf_tool__fill_defaults(tool); |
1384 | 1384 | ||
1385 | page_size = sysconf(_SC_PAGESIZE); | ||
1386 | |||
1387 | page_offset = page_size * (data_offset / page_size); | 1385 | page_offset = page_size * (data_offset / page_size); |
1388 | file_offset = page_offset; | 1386 | file_offset = page_offset; |
1389 | head = data_offset - page_offset; | 1387 | head = data_offset - page_offset; |
diff --git a/tools/perf/util/trace-event-read.c b/tools/perf/util/trace-event-read.c index 719ed74a8565..3741572696af 100644 --- a/tools/perf/util/trace-event-read.c +++ b/tools/perf/util/trace-event-read.c | |||
@@ -47,8 +47,6 @@ int file_bigendian; | |||
47 | int host_bigendian; | 47 | int host_bigendian; |
48 | static int long_size; | 48 | static int long_size; |
49 | 49 | ||
50 | static unsigned long page_size; | ||
51 | |||
52 | static ssize_t calc_data_size; | 50 | static ssize_t calc_data_size; |
53 | static bool repipe; | 51 | static bool repipe; |
54 | 52 | ||
diff --git a/tools/perf/util/util.c b/tools/perf/util/util.c index 99664598bc1a..637b5cc54362 100644 --- a/tools/perf/util/util.c +++ b/tools/perf/util/util.c | |||
@@ -10,6 +10,8 @@ | |||
10 | /* | 10 | /* |
11 | * XXX We need to find a better place for these things... | 11 | * XXX We need to find a better place for these things... |
12 | */ | 12 | */ |
13 | unsigned int page_size; | ||
14 | |||
13 | bool perf_host = true; | 15 | bool perf_host = true; |
14 | bool perf_guest = false; | 16 | bool perf_guest = false; |
15 | 17 | ||
diff --git a/tools/perf/util/util.h b/tools/perf/util/util.h index 70fa70b535b2..a6b83f8ebef8 100644 --- a/tools/perf/util/util.h +++ b/tools/perf/util/util.h | |||
@@ -263,4 +263,6 @@ char *rtrim(char *s); | |||
263 | 263 | ||
264 | void dump_stack(void); | 264 | void dump_stack(void); |
265 | 265 | ||
266 | extern unsigned int page_size; | ||
267 | |||
266 | #endif | 268 | #endif |