aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@redhat.com>2012-10-06 13:57:10 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2012-10-06 15:33:14 -0400
commit0c1fe6b2f30fa275d939071293b6e28771283f6d (patch)
treeebb758186c877498940002396fd39916bc831da1
parent6e92349d5a814a3f633a43d9d6bd3b199ef3ad72 (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>
-rw-r--r--tools/perf/builtin-test.c2
-rw-r--r--tools/perf/perf.c2
-rw-r--r--tools/perf/util/evlist.c3
-rw-r--r--tools/perf/util/session.c4
-rw-r--r--tools/perf/util/trace-event-read.c2
-rw-r--r--tools/perf/util/util.c2
-rw-r--r--tools/perf/util/util.h2
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
1008static int __test__rdpmc(void) 1007static 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
326union perf_event *perf_evlist__mmap_read(struct perf_evlist *evlist, int idx) 326union 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:
528int perf_evlist__mmap(struct perf_evlist *evlist, unsigned int pages, 526int 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;
47int host_bigendian; 47int host_bigendian;
48static int long_size; 48static int long_size;
49 49
50static unsigned long page_size;
51
52static ssize_t calc_data_size; 50static ssize_t calc_data_size;
53static bool repipe; 51static 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 */
13unsigned int page_size;
14
13bool perf_host = true; 15bool perf_host = true;
14bool perf_guest = false; 16bool 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
264void dump_stack(void); 264void dump_stack(void);
265 265
266extern unsigned int page_size;
267
266#endif 268#endif