From: Ingo Molnar <mingo@kernel.org>
To: Alexey Budankov <alexey.budankov@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
Andi Kleen <ak@linux.intel.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v8 0/3]: perf: reduce data loss when profiling highly parallel CPU bound workloads
Date: Tue, 11 Sep 2018 08:35:12 +0200 [thread overview]
Message-ID: <20180911063512.GA130116@gmail.com> (raw)
In-Reply-To: <1ad36918-ddd0-aa3c-c52e-e4e419409dd4@linux.intel.com>
* Alexey Budankov <alexey.budankov@linux.intel.com> wrote:
> It may sound too optimistic but glibc API is expected to be backward compatible
> and for POSIX AIO API part too. Internal implementation also tends to evolve to
> better option overtime, more probably basing on modern kernel capabilities
> mentioned here: http://man7.org/linux/man-pages/man2/io_submit.2.html
I'm not talking about compatibility, and I'm not just talking about glibc, perf works under
other libcs as well - and let me phrase it in another way: basic event handling, threading,
scheduling internals should be a *core competency* of a tracing/profiling tool.
I.e. we might end up using the exact same per event fd thread pool design that glibc uses
currently. Or not. Having that internal and open coded to perf, like Jiri has started
implementing it, allows people to experiment with it.
This isn't some GUI toolkit, this is at the essence of perf, and we are not very good on large
systems right now, and I think the design should be open-coded threading, not relying on an
(perf-)external AIO library to get it right.
The glibc thread pool implementation of POSIX AIO is basically a fall-back
implementation, for the case where there's no native KAIO interface to rely on.
> Well, explicit threading in the tool for AIO, in the simplest case, means
> incorporating some POSIX API implementation into the tool, avoiding
> code reuse in the first place. That tends to be error prone and costly.
It's a core competency, we better do it right and not outsource it.
Please take a look at Jiri's patches (once he re-posts them), I think it's a very good
starting point.
Thanks,
Ingo
next prev parent reply other threads:[~2018-09-11 6:35 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-07 7:07 [PATCH v8 0/3]: perf: reduce data loss when profiling highly parallel CPU bound workloads Alexey Budankov
2018-09-07 7:11 ` [PATCH v8 1/3]: perf util: map data buffer for preserving collected data Alexey Budankov
2018-09-07 7:19 ` [PATCH v8 2/3]: perf record: enable asynchronous trace writing Alexey Budankov
2018-09-07 7:39 ` [PATCH v8 3/3]: perf record: extend trace writing to multi AIO Alexey Budankov
2018-09-07 9:34 ` [PATCH v8 0/3]: perf: reduce data loss when profiling highly parallel CPU bound workloads Alexey Budankov
2018-09-10 9:18 ` Ingo Molnar
2018-09-10 9:59 ` Jiri Olsa
2018-09-10 10:03 ` Ingo Molnar
2018-09-10 10:08 ` Jiri Olsa
2018-09-10 10:13 ` Ingo Molnar
2018-09-10 10:23 ` Jiri Olsa
2018-09-10 10:45 ` Alexey Budankov
2018-09-10 10:40 ` Alexey Budankov
2018-09-10 12:06 ` Ingo Molnar
2018-09-10 13:58 ` Arnaldo Carvalho de Melo
2018-09-10 15:19 ` Alexey Budankov
2018-09-10 14:48 ` Alexey Budankov
2018-09-11 6:35 ` Ingo Molnar [this message]
2018-09-11 8:16 ` Alexey Budankov
2018-09-11 8:34 ` Jiri Olsa
2018-09-11 13:42 ` Alexey Budankov
2018-09-13 8:00 ` Jiri Olsa
2018-09-11 14:19 ` Peter Zijlstra
2018-09-12 8:27 ` Alexey Budankov
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=20180911063512.GA130116@gmail.com \
--to=mingo@kernel.org \
--cc=acme@kernel.org \
--cc=ak@linux.intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=alexey.budankov@linux.intel.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
/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