From: tip-bot for Wang Nan <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: masami.hiramatsu.pt@hitachi.com, tglx@linutronix.de,
wangnan0@huawei.com, hpa@zytor.com, namhyung@kernel.org,
mingo@kernel.org, acme@redhat.com, hekuang@huawei.com,
linux-kernel@vger.kernel.org, lizefan@huawei.com,
jolsa@kernel.org
Subject: [tip:perf/urgent] perf record: Rename variable to make code clear
Date: Mon, 23 May 2016 22:48:54 -0700 [thread overview]
Message-ID: <tip-09fa4f401296f555afb6f2f4282717644d94722e@git.kernel.org> (raw)
In-Reply-To: <1463987628-163563-4-git-send-email-wangnan0@huawei.com>
Commit-ID: 09fa4f401296f555afb6f2f4282717644d94722e
Gitweb: http://git.kernel.org/tip/09fa4f401296f555afb6f2f4282717644d94722e
Author: Wang Nan <wangnan0@huawei.com>
AuthorDate: Mon, 23 May 2016 07:13:40 +0000
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 23 May 2016 18:22:47 -0300
perf record: Rename variable to make code clear
record__mmap_read() writes data from ring buffer into perf.data. 'head'
is maintained by the kernel, points to the last written record.
'old' is maintained by perf, points to the record read in previous
round. record__mmap_read() saves data from 'old' to 'head' to
perf.data.
The names of these variables are not very intutive. In addition,
when dealing with backward writing ring buffer, the md->prev pointer
should point to 'head' instead of the last byte it got.
Add 'start' and 'end' pointer to make code clear and set md->prev to
'head' instead of the moved 'old' pointer. This patch doesn't change
behavior since:
buf = &data[old & md->mask];
size = head - old;
old += size; <--- Here, old == head
Signed-off-by: Wang Nan <wangnan0@huawei.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Zefan Li <lizefan@huawei.com>
Cc: pi3orama@163.com
Link: http://lkml.kernel.org/r/1463987628-163563-4-git-send-email-wangnan0@huawei.com
Signed-off-by: He Kuang <hekuang@huawei.com>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-record.c | 21 +++++++++++----------
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index f302cc9..73ce651 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -88,17 +88,18 @@ static int record__mmap_read(struct record *rec, int idx)
struct perf_mmap *md = &rec->evlist->mmap[idx];
u64 head = perf_mmap__read_head(md);
u64 old = md->prev;
+ u64 end = head, start = old;
unsigned char *data = md->base + page_size;
unsigned long size;
void *buf;
int rc = 0;
- if (old == head)
+ if (start == end)
return 0;
rec->samples++;
- size = head - old;
+ size = end - start;
if (size > (unsigned long)(md->mask) + 1) {
WARN_ONCE(1, "failed to keep up with mmap data. (warn only once)\n");
@@ -107,10 +108,10 @@ static int record__mmap_read(struct record *rec, int idx)
return 0;
}
- if ((old & md->mask) + size != (head & md->mask)) {
- buf = &data[old & md->mask];
- size = md->mask + 1 - (old & md->mask);
- old += size;
+ if ((start & md->mask) + size != (end & md->mask)) {
+ buf = &data[start & md->mask];
+ size = md->mask + 1 - (start & md->mask);
+ start += size;
if (record__write(rec, buf, size) < 0) {
rc = -1;
@@ -118,16 +119,16 @@ static int record__mmap_read(struct record *rec, int idx)
}
}
- buf = &data[old & md->mask];
- size = head - old;
- old += size;
+ buf = &data[start & md->mask];
+ size = end - start;
+ start += size;
if (record__write(rec, buf, size) < 0) {
rc = -1;
goto out;
}
- md->prev = old;
+ md->prev = head;
perf_evlist__mmap_consume(rec->evlist, idx);
out:
return rc;
next prev parent reply other threads:[~2016-05-24 5:49 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-23 7:13 [PATCH v3 00/11] perf tools: Support overwritable ring buffer Wang Nan
2016-05-23 7:13 ` [PATCH v3 01/11] perf tools: Add API to pause/resume a evlist Wang Nan
2016-05-23 21:24 ` Arnaldo Carvalho de Melo
2016-05-24 5:48 ` [tip:perf/urgent] perf evlist: Add API to pause/resume tip-bot for Wang Nan
2016-05-23 7:13 ` [PATCH v3 02/11] perf record: Prevent reading invalid data in record__mmap_read Wang Nan
2016-05-24 5:48 ` [tip:perf/urgent] " tip-bot for Wang Nan
2016-05-23 7:13 ` [PATCH v3 03/11] perf record: Rename variable to make code clear Wang Nan
2016-05-24 5:48 ` tip-bot for Wang Nan [this message]
2016-05-23 7:13 ` [PATCH v3 04/11] perf record: Read from backward ring buffer Wang Nan
2016-05-24 5:49 ` [tip:perf/urgent] " tip-bot for Wang Nan
2016-05-23 7:13 ` [PATCH v3 05/11] perf evlist: Introduce aux perf evlist Wang Nan
2016-05-23 19:48 ` Arnaldo Carvalho de Melo
2016-05-23 7:13 ` [PATCH v3 06/11] perf tools: Don't poll and mmap overwritable events Wang Nan
2016-05-23 7:13 ` [PATCH v3 07/11] perf tools: Enable overwrite settings Wang Nan
2016-05-23 7:13 ` [PATCH v3 08/11] perf record: Introduce rec->overwrite_evlist for overwritable events Wang Nan
2016-05-23 7:13 ` [PATCH v3 09/11] perf record: Toggle overwrite ring buffer for reading Wang Nan
2016-05-23 7:13 ` [PATCH v3 10/11] perf tools: Don't warn about out of order event if write_backward is used Wang Nan
2016-05-23 7:13 ` [PATCH v3 11/11] perf tools: Check write_backward during evlist config Wang Nan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-09fa4f401296f555afb6f2f4282717644d94722e@git.kernel.org \
--to=tipbot@zytor.com \
--cc=acme@redhat.com \
--cc=hekuang@huawei.com \
--cc=hpa@zytor.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=lizefan@huawei.com \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=tglx@linutronix.de \
--cc=wangnan0@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox