diff options
author | Kan Liang <kan.liang@linux.intel.com> | 2018-03-06 18:36:02 +0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2018-03-08 16:05:51 +0300 |
commit | 07a9461da67292ffdf3f4a02522caf475b1151d7 (patch) | |
tree | e2f3e08d44c7395feeffeb5a0f37d5dd2a49b3a9 /tools/perf/util/mmap.c | |
parent | 4fda3459e3c2e5ca35d304646aeeb811242537b2 (diff) | |
download | linux-07a9461da67292ffdf3f4a02522caf475b1151d7.tar.xz |
perf mmap: Use the stored scope data in perf_mmap__push()
Using the 'start' and 'end' which are stored in struct perf_mmap to
replace the temporary 'start' and 'end'.
The temporary variables will be discarded later.
It doesn't need to pass 'overwrite' to perf_mmap__push(). It's stored in
struct perf_mmap.
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1520350567-80082-3-git-send-email-kan.liang@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/mmap.c')
-rw-r--r-- | tools/perf/util/mmap.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/tools/perf/util/mmap.c b/tools/perf/util/mmap.c index 09acaf7392bb..8c1d033638c2 100644 --- a/tools/perf/util/mmap.c +++ b/tools/perf/util/mmap.c @@ -279,8 +279,8 @@ int perf_mmap__read_init(struct perf_mmap *md, bool overwrite, return 0; } -int perf_mmap__push(struct perf_mmap *md, bool overwrite, - void *to, int push(void *to, void *buf, size_t size)) +int perf_mmap__push(struct perf_mmap *md, void *to, + int push(void *to, void *buf, size_t size)) { u64 head = perf_mmap__read_head(md); u64 end, start; @@ -289,16 +289,16 @@ int perf_mmap__push(struct perf_mmap *md, bool overwrite, void *buf; int rc = 0; - rc = perf_mmap__read_init(md, overwrite, &start, &end); + rc = perf_mmap__read_init(md, md->overwrite, &start, &end); if (rc < 0) return (rc == -EAGAIN) ? 0 : -1; - size = end - start; + size = md->end - md->start; - if ((start & md->mask) + size != (end & md->mask)) { - buf = &data[start & md->mask]; - size = md->mask + 1 - (start & md->mask); - start += size; + if ((md->start & md->mask) + size != (md->end & md->mask)) { + buf = &data[md->start & md->mask]; + size = md->mask + 1 - (md->start & md->mask); + md->start += size; if (push(to, buf, size) < 0) { rc = -1; @@ -306,9 +306,9 @@ int perf_mmap__push(struct perf_mmap *md, bool overwrite, } } - buf = &data[start & md->mask]; - size = end - start; - start += size; + buf = &data[md->start & md->mask]; + size = md->end - md->start; + md->start += size; if (push(to, buf, size) < 0) { rc = -1; @@ -316,7 +316,7 @@ int perf_mmap__push(struct perf_mmap *md, bool overwrite, } md->prev = head; - perf_mmap__consume(md, overwrite); + perf_mmap__consume(md, md->overwrite); out: return rc; } |