From: tip-bot for Kan Liang <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, jolsa@kernel.org,
tglx@linutronix.de, ak@linux.intel.com, wangnan0@huawei.com,
acme@redhat.com, namhyung@kernel.org, kan.liang@linux.intel.com,
hpa@zytor.com, mingo@kernel.org
Subject: [tip:perf/core] perf evlist: Store 'overwrite' in struct perf_mmap
Date: Fri, 9 Mar 2018 00:43:42 -0800 [thread overview]
Message-ID: <tip-2c5f6d876b4edda8740f5a2826cf9b1a67fa76fb@git.kernel.org> (raw)
In-Reply-To: <1520350567-80082-1-git-send-email-kan.liang@linux.intel.com>
Commit-ID: 2c5f6d876b4edda8740f5a2826cf9b1a67fa76fb
Gitweb: https://git.kernel.org/tip/2c5f6d876b4edda8740f5a2826cf9b1a67fa76fb
Author: Kan Liang <kan.liang@linux.intel.com>
AuthorDate: Tue, 6 Mar 2018 10:36:00 -0500
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 8 Mar 2018 10:05:50 -0300
perf evlist: Store 'overwrite' in struct perf_mmap
It has been determined that the map is for overwrite mode
(evlist->overwrite_mmap) or non-overwrite mode (evlist->mmap) when
calling perf_evlist__alloc_mmap().
Store the information in struct perf_mmap, which will be used later to
simplify the perf_mmap__read*() interfaces.
Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
Suggested-by: Jiri Olsa <jolsa@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1520350567-80082-1-git-send-email-kan.liang@linux.intel.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/evlist.c | 8 +++++---
tools/perf/util/mmap.h | 1 +
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/perf/util/evlist.c b/tools/perf/util/evlist.c
index 41a4666f1519..a59281d64368 100644
--- a/tools/perf/util/evlist.c
+++ b/tools/perf/util/evlist.c
@@ -722,7 +722,8 @@ void perf_evlist__munmap(struct perf_evlist *evlist)
zfree(&evlist->overwrite_mmap);
}
-static struct perf_mmap *perf_evlist__alloc_mmap(struct perf_evlist *evlist)
+static struct perf_mmap *perf_evlist__alloc_mmap(struct perf_evlist *evlist,
+ bool overwrite)
{
int i;
struct perf_mmap *map;
@@ -736,6 +737,7 @@ static struct perf_mmap *perf_evlist__alloc_mmap(struct perf_evlist *evlist)
for (i = 0; i < evlist->nr_mmaps; i++) {
map[i].fd = -1;
+ map[i].overwrite = overwrite;
/*
* When the perf_mmap() call is made we grab one refcount, plus
* one extra to let perf_mmap__consume() get the last
@@ -779,7 +781,7 @@ static int perf_evlist__mmap_per_evsel(struct perf_evlist *evlist, int idx,
maps = evlist->overwrite_mmap;
if (!maps) {
- maps = perf_evlist__alloc_mmap(evlist);
+ maps = perf_evlist__alloc_mmap(evlist, true);
if (!maps)
return -1;
evlist->overwrite_mmap = maps;
@@ -1029,7 +1031,7 @@ int perf_evlist__mmap_ex(struct perf_evlist *evlist, unsigned int pages,
struct mmap_params mp;
if (!evlist->mmap)
- evlist->mmap = perf_evlist__alloc_mmap(evlist);
+ evlist->mmap = perf_evlist__alloc_mmap(evlist, false);
if (!evlist->mmap)
return -ENOMEM;
diff --git a/tools/perf/util/mmap.h b/tools/perf/util/mmap.h
index ec7d3a24e276..71137977af28 100644
--- a/tools/perf/util/mmap.h
+++ b/tools/perf/util/mmap.h
@@ -20,6 +20,7 @@ struct perf_mmap {
int fd;
refcount_t refcnt;
u64 prev;
+ bool overwrite;
struct auxtrace_mmap auxtrace_mmap;
char event_copy[PERF_SAMPLE_MAX_SIZE] __aligned(8);
};
prev parent reply other threads:[~2018-03-09 8:43 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-06 15:36 [PATCH V2 1/8] perf evlist: Store 'overwrite' in struct perf_mmap kan.liang
2018-03-06 15:36 ` [PATCH V2 2/8] perf mmap: Store mmap scope " kan.liang
2018-03-09 8:44 ` [tip:perf/core] perf mmap: Store mmap scope in struct perf_mmap() tip-bot for Kan Liang
2018-03-06 15:36 ` [PATCH V2 3/8] perf mmap: Using the stored scope data in perf_mmap__push kan.liang
2018-03-09 8:44 ` [tip:perf/core] perf mmap: Use the stored scope data in perf_mmap__push() tip-bot for Kan Liang
2018-03-06 15:36 ` [PATCH V2 4/8] perf mmap: Using the stored data in perf_mmap__read_event kan.liang
2018-03-09 8:45 ` [tip:perf/core] perf mmap: Use the stored data in perf_mmap__read_event() tip-bot for Kan Liang
2018-03-06 15:36 ` [PATCH V2 5/8] perf mmap: Using stored 'overwrite' in perf_mmap__consume kan.liang
2018-03-09 8:45 ` [tip:perf/core] perf mmap: Use stored 'overwrite' in perf_mmap__consume() tip-bot for Kan Liang
2018-03-06 15:36 ` [PATCH V2 6/8] perf tools: Refine perf_mmap__consume kan.liang
2018-03-09 8:46 ` [tip:perf/core] perf mmap: Simplify perf_mmap__consume() tip-bot for Kan Liang
2018-03-06 15:36 ` [PATCH V2 7/8] perf tools: Refine perf_mmap__read_event kan.liang
2018-03-09 8:46 ` [tip:perf/core] perf mmap: Simplify perf_mmap__read_event() tip-bot for Kan Liang
2018-03-06 15:36 ` [PATCH V2 8/8] perf tools: Refine perf_mmap__read_init kan.liang
2018-03-09 8:46 ` [tip:perf/core] perf mmap: Simplify perf_mmap__read_init() tip-bot for Kan Liang
2018-03-07 10:12 ` [PATCH V2 1/8] perf evlist: Store 'overwrite' in struct perf_mmap Jiri Olsa
2018-03-09 8:43 ` tip-bot for Kan Liang [this message]
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-2c5f6d876b4edda8740f5a2826cf9b1a67fa76fb@git.kernel.org \
--to=tipbot@zytor.com \
--cc=acme@redhat.com \
--cc=ak@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.