linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nilay Vaish <nilayvaish@gmail.com>
To: Wang Nan <wangnan0@huawei.com>
Cc: acme@kernel.org, Linux Kernel list <linux-kernel@vger.kernel.org>,
	pi3orama@163.com, He Kuang <hekuang@huawei.com>,
	Jiri Olsa <jolsa@kernel.org>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>, Zefan Li <lizefan@huawei.com>
Subject: Re: [PATCH v10 04/10] perf evlist: Introduce aux evlist
Date: Thu, 23 Jun 2016 09:15:02 -0500	[thread overview]
Message-ID: <CACbG30_qD4NTZk18KjB2mycgaox7hkJjyrD=R4aFRyfiTOQCFA@mail.gmail.com> (raw)
In-Reply-To: <1466659667-99144-5-git-send-email-wangnan0@huawei.com>

On 23 June 2016 at 00:27, Wang Nan <wangnan0@huawei.com> wrote:
> An auxiliary evlist is created by perf_evlist__new_aux() using an
> existing evlist as its parent. An auxiliary evlist can have its own
> 'struct perf_mmap', but can't have any other data. User should use its
> parent instead when accessing other data.
>
> Auxiliary evlists are containers of 'struct perf_mmap'. It is introduced
> to allow its parent evlist to map different events into separated mmaps.
>
> Following commits create an auxiliary evlist for overwritable
> events, because overwritable events need a read only and backwards ring
> buffer, which is different from normal events.
>
> To achieve this goal, this patch carefully changes 'evlist' to
> 'evlist->parent' in all functions in the path of 'perf_evlist__mmap_ex',
> except 'evlist->mmap' related operations, to make sure all evlist
> modifications (like pollfd and event id hash tables) goes to original
> evlist.
>
> A 'evlist->parent' pointer is added to 'struct perf_evlist' and points to
> the evlist itself for normal evlists.
>
> Children of one evlist are linked into it so one can find all children
> from its parent.
>
> To avoid potential complexity, forbid creating aux evlist from another
> aux evlist.
>
> Improve perf_evlist__munmap_filtered(), so when recording, if an event
> is terminated, unmap mmaps, from parent and children.
>
> Signed-off-by: Wang Nan <wangnan0@huawei.com>
> Cc: He Kuang <hekuang@huawei.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Masami Hiramatsu <mhiramat@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Zefan Li <lizefan@huawei.com>
> Cc: pi3orama@163.com
> ---
>  tools/perf/util/evlist.c | 49 +++++++++++++++++++++++++++++++++++++-----------
>  tools/perf/util/evlist.h | 12 ++++++++++++
>  2 files changed, 50 insertions(+), 11 deletions(-)


Wang, thanks for making the change.  The patch seems perfectly fine to me.

--
Nilay

  reply	other threads:[~2016-06-23 14:15 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-23  5:27 [PATCH v10 00/10] perf tools: Support overwritable ring buffer Wang Nan
2016-06-23  5:27 ` [PATCH v10 01/10] perf record: Prepare mmap multiple evlists Wang Nan
2016-06-23  5:27 ` [PATCH v10 02/10] perf record: Prepare reading from multiple evlists in record__mmap_read_all() Wang Nan
2016-06-23  5:27 ` [PATCH v10 03/10] perf record: Prepare picking perf_event_mmap_page from multiple evlists Wang Nan
2016-06-23  5:27 ` [PATCH v10 04/10] perf evlist: Introduce aux evlist Wang Nan
2016-06-23 14:15   ` Nilay Vaish [this message]
2016-06-23  5:27 ` [PATCH v10 05/10] perf tests: Add testcase for auxiliary evlist Wang Nan
2016-06-23  5:27 ` [PATCH v10 06/10] perf record: Introduce rec->overwrite_evlist for overwritable events Wang Nan
2016-06-23  5:27 ` [PATCH v10 07/10] perf record: Read from overwritable ring buffer Wang Nan
2016-06-23 14:27   ` Nilay Vaish
2016-06-23 14:31     ` pi3orama
2016-06-23 17:38       ` Nilay Vaish
2016-06-23  5:27 ` [PATCH v10 08/10] perf tools: Enable overwrite settings Wang Nan
2016-06-23  5:27 ` [PATCH v10 09/10] perf tools: Don't warn about out of order event if write_backward is used Wang Nan
2016-06-23  5:27 ` [PATCH v10 10/10] perf tools: Add --tail-synthesize option 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='CACbG30_qD4NTZk18KjB2mycgaox7hkJjyrD=R4aFRyfiTOQCFA@mail.gmail.com' \
    --to=nilayvaish@gmail.com \
    --cc=acme@kernel.org \
    --cc=hekuang@huawei.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=mhiramat@kernel.org \
    --cc=namhyung@kernel.org \
    --cc=pi3orama@163.com \
    --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;
as well as URLs for NNTP newsgroup(s).