From bcd482d3191489b41ee2ce672c35fa521a317c2b Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Tue, 6 Oct 2009 21:21:26 +0200 Subject: [PATCH] --- yaml --- r: 169475 b: refs/heads/master c: b209aa1f83964d49a332a7b6b818ebede5cdc6ef h: refs/heads/master i: 169473: e2101888105b23e7b0b87fbf736e3bdae3127b86 169471: 81ebf2682c2b1c5ab9ba474f871d8bb3e1921e0f v: v3 --- [refs] | 2 +- trunk/tools/perf/builtin-trace.c | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index c97d117d56e8..ca44e8fed507 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 42e59d7d19dc4b49feab2a860fd9a8ca3248c833 +refs/heads/master: b209aa1f83964d49a332a7b6b818ebede5cdc6ef diff --git a/trunk/tools/perf/builtin-trace.c b/trunk/tools/perf/builtin-trace.c index 5d4c84d86373..d573d4ea6c21 100644 --- a/trunk/tools/perf/builtin-trace.c +++ b/trunk/tools/perf/builtin-trace.c @@ -143,6 +143,7 @@ static int __cmd_trace(void) int ret, rc = EXIT_FAILURE; unsigned long offset = 0; unsigned long head = 0; + unsigned long shift; struct stat perf_stat; event_t *event; uint32_t size; @@ -180,6 +181,10 @@ static int __cmd_trace(void) return EXIT_FAILURE; } + shift = page_size * (head / page_size); + offset += shift; + head -= shift; + remap: buf = (char *)mmap(NULL, page_size * mmap_window, PROT_READ, MAP_SHARED, input, offset); @@ -192,9 +197,9 @@ static int __cmd_trace(void) event = (event_t *)(buf + head); if (head + event->header.size >= page_size * mmap_window) { - unsigned long shift = page_size * (head / page_size); int res; + shift = page_size * (head / page_size); res = munmap(buf, page_size * mmap_window); assert(res == 0);