public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@kernel.org>
To: Jiri Olsa <jolsa@redhat.com>
Cc: Alexey Budankov <alexey.budankov@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Alexander Shishkin <alexander.shishkin@linux.intel.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: Mon, 10 Sep 2018 12:13:25 +0200	[thread overview]
Message-ID: <20180910101325.GA5544@gmail.com> (raw)
In-Reply-To: <20180910100841.GB15548@krava>


* Jiri Olsa <jolsa@redhat.com> wrote:

> On Mon, Sep 10, 2018 at 12:03:03PM +0200, Ingo Molnar wrote:
> > 
> > * Jiri Olsa <jolsa@redhat.com> wrote:
> > 
> > > > Per-CPU threading the record session would have so many other advantages as well (scalability, 
> > > > etc.).
> > > > 
> > > > Jiri did per-CPU recording patches a couple of months ago, not sure how usable they are at the 
> > > > moment?
> > > 
> > > it's still usable, I can rebase it and post a branch pointer,
> > > the problem is I haven't been able to find a case with a real
> > > performance benefit yet.. ;-)
> > > 
> > > perhaps because I haven't tried on server with really big cpu
> > > numbers
> > 
> > Maybe Alexey could pick up from there? Your concept looked fairly mature to me
> > and I tried it on a big-CPU box back then and there were real improvements.
> 
> too bad u did not share your results, it could have been already in ;-)

Yeah :-/ Had a proper round of testing on my TODO, then the big box I'd have tested it on
broke ...

> let me rebase/repost once more and let's see

Thanks!

> I think we could benefit from both multiple threads event reading
> and AIO writing for perf.data.. it could be merged together

So instead of AIO writing perf.data, why not just turn perf.data into a directory structure 
with per CPU files? That would allow all sorts of neat future performance features such as 
mmap() or splice() based zero-copy.

User-space post-processing can then read the files and put them into global order - or use the 
per CPU nature of them, which would be pretty useful too.

Also note how well this works on NUMA as well, as the backing pages would be allocated in a 
NUMA-local fashion.

I.e. the whole per-CPU threading would enable such a separation of the tracing/event streams 
and would allow true scalability.

Thanks,

	Ingo

  reply	other threads:[~2018-09-10 10:13 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 [this message]
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
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=20180910101325.GA5544@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