From: Jiri Olsa <jolsa@redhat.com>
To: Ingo Molnar <mingo@kernel.org>
Cc: "Liang, Kan" <kan.liang@intel.com>,
"acme@kernel.org" <acme@kernel.org>,
"mingo@redhat.com" <mingo@redhat.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"peterz@infradead.org" <peterz@infradead.org>,
"jolsa@kernel.org" <jolsa@kernel.org>,
"wangnan0@huawei.com" <wangnan0@huawei.com>,
"hekuang@huawei.com" <hekuang@huawei.com>,
"namhyung@kernel.org" <namhyung@kernel.org>,
"alexander.shishkin@linux.intel.com"
<alexander.shishkin@linux.intel.com>,
"Hunter, Adrian" <adrian.hunter@intel.com>,
"ak@linux.intel.com" <ak@linux.intel.com>
Subject: Re: [PATCH V3 0/6] event synthesization multithreading for perf record
Date: Tue, 24 Oct 2017 13:47:55 +0200 [thread overview]
Message-ID: <20171024114755.GA2716@krava> (raw)
In-Reply-To: <20171024092200.wef6b66ecmhrvaja@gmail.com>
On Tue, Oct 24, 2017 at 11:22:00AM +0200, Ingo Molnar wrote:
>
> * Liang, Kan <kan.liang@intel.com> wrote:
>
> > For 'all', do you mean the whole process?
>
> Yeah.
>
> > I think that's the ultimate goal. Eventually there will be per-CPU recording
> > threads created at the beginning of perf record and go through the whole process.
> > The plan is to do the multithreading step by step from the simplest case.
> > Synthesizing stage is just a start.
>
> So, why not do it like the kernel did: add all the threads, create the percpu
> files, and introduce a 'big perf lock' (big mutex) that is taken for all the
> current non-threaded perf functionality. This should be fairly straightforward to
> do and should be 'obviously correct'.
>
> _Then_ start doing the hard threading work on top of this, like threading the
> synthesizing phase.
>
> Doing the whole per CPU thread setup/teardown for just the synthesizing part of it
> looks like the wrong design.
>
> I.e. what I'm suggesting is no extra threading work, just organizing it in a
> different fashion and increasing the life-time of the per CPU threads from 'perf
> startup' to 'perf shutdown'.
I recently made some changes on threaded record, which are based
on Namhyungs time* API, which is needed to read/sort the data afterwards
but I wasn't able to get any substantial and constant reduce of LOST events
and then I got sidetracked and did not finish, but it's in here:
git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git perf/data
I'll try to rebase and send it out for comments
jirka
next prev parent reply other threads:[~2017-10-24 11:48 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-20 20:05 [PATCH V3 0/6] event synthesization multithreading for perf record kan.liang
2017-10-20 20:05 ` [PATCH V3 1/6] perf tools: pass thread info to process function kan.liang
2017-10-20 20:05 ` [PATCH V3 2/6] perf tools: pass thread info in event synthesization kan.liang
2017-10-20 20:05 ` [PATCH V3 3/6] perf tools: expose copyfile_offset() kan.liang
2017-10-20 20:05 ` [PATCH V3 4/6] perf tools: add perf_data_file__open_tmp kan.liang
2017-10-23 16:13 ` Jiri Olsa
2017-10-23 16:19 ` Liang, Kan
2017-10-23 16:26 ` Jiri Olsa
2017-10-23 18:05 ` Liang, Kan
2017-10-24 7:26 ` Jiri Olsa
2017-10-24 7:26 ` Jiri Olsa
2017-10-20 20:05 ` [PATCH V3 5/6] perf record: synthesize event multithreading support kan.liang
2017-10-20 20:05 ` [PATCH V3 6/6] perf record: add option to set the number of thread for event synthesize kan.liang
2017-10-23 11:48 ` [PATCH V3 0/6] event synthesization multithreading for perf record Ingo Molnar
2017-10-23 13:43 ` Liang, Kan
2017-10-23 14:25 ` acme
2017-10-23 18:45 ` Liang, Kan
2017-10-24 9:22 ` Ingo Molnar
2017-10-24 11:47 ` Jiri Olsa [this message]
2017-10-24 12:47 ` Liang, Kan
2017-10-24 12:59 ` Ingo Molnar
2017-10-24 13:08 ` Arnaldo Carvalho de Melo
2017-10-24 13:25 ` Ingo Molnar
2017-10-25 2:35 ` Namhyung Kim
2017-10-25 9:02 ` Jiri Olsa
2017-10-25 9:00 ` Jiri Olsa
2017-10-25 9:07 ` Ingo Molnar
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=20171024114755.GA2716@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=hekuang@huawei.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--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.