From: Ingo Molnar <mingo@elte.hu>
To: Peter Zijlstra <peterz@infradead.org>
Cc: Harald Gustafsson <hgu1972@gmail.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
Harald Gustafsson <harald.gustafsson@ericsson.com>,
Song Yuan <song.yuan@ericsson.com>,
Steven Rostedt <rostedt@goodmis.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>
Subject: Re: perf events over (net) console?
Date: Thu, 9 Sep 2010 15:07:23 +0200 [thread overview]
Message-ID: <20100909130723.GA20470@elte.hu> (raw)
In-Reply-To: <1284036453.402.11.camel@laptop>
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Thu, 2010-09-09 at 14:31 +0200, Harald Gustafsson wrote:
>
> > Sorry for being daft...
>
> No worries, I'm sure we all qualify at times ;-)
>
> > >> >
> > >> > You need a process context anyway to read the data and send it to
> > >> > whatever place you want it.
> > >> >
> > >> > Putting that in-kernel serves no purpose what so ever.
> > >>
> > >> But if we bring the splice support, that can be done with minimal
> > >> userspace noise. Plus that would work with the usual sockets but not
> > >> limited to that.
> > >
> > > Yes. If we can transform the data over the network without it touching
> > > disk, then that would be a sufficiently 'does not disturb other tasks'
> > > measurement method.
> >
> > Thanks for the pointers to more information, and yes my thoughts was
> > more about avoiding the data copy then avoiding any processing
> > context at all.
>
> Right, currently you get a single copy with mmap() + write(), once we
> manage to fix splice() and actually provide perf-splice() you'd be
> able to do zero-copy.
I think it would also be very useful to have some sort of tooling help
for "low overhead/impact perf recording".
If there's a 'target box' and a different 'host box' (where most of
development is done, etc.), then there might not be any NFS connection
set up to make zero-copy file transfer easy. Doing it over ssh would add
overhead.
One possible workflow would be to run this on the target/remote box:
perf remote
And as long as that command is running there, it could be used from the
development box (over a trusted local network), using something like:
perf --remote <hostname> record sleep 60
perf --remote <hostname> stat -a sleep 1
these would all do the measurements on the remote box, and the resulting
perf.data would be created on the desktop box. Communication would be
done via some well-known port.
etc.
An alternative implementation would be to drive this on the assumption
that an ssh connection can be established with the target box - but
followup high-volume data transfer would be done over an ordinary TCP
connection.
I.e. the workflow would be even simpler, something like:
perf --remote user@hostname record sleep 60
perf --remote user@hostname stat -a sleep 1
Internally it would work by executing those commands on the remote box
via ssh, and redirecting the output via a TCP connection. (some other
details might be needed as well for splice to be usable in such a setup)
Would anyone be interested in having (and implementing ;-) this?
Ingo
next prev parent reply other threads:[~2010-09-09 13:07 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-09 11:06 perf events over (net) console? Harald Gustafsson
2010-09-09 11:19 ` Peter Zijlstra
2010-09-09 11:29 ` Frederic Weisbecker
2010-09-09 11:35 ` Peter Zijlstra
2010-09-09 11:40 ` Frederic Weisbecker
2010-09-09 11:40 ` Ingo Molnar
2010-09-09 12:31 ` Harald Gustafsson
2010-09-09 12:47 ` Peter Zijlstra
2010-09-09 13:07 ` Ingo Molnar [this message]
2010-09-09 13:21 ` Frederic Weisbecker
2010-09-09 14:41 ` Arnaldo Carvalho de Melo
2010-09-09 17:42 ` Harald Gustafsson
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=20100909130723.GA20470@elte.hu \
--to=mingo@elte.hu \
--cc=acme@redhat.com \
--cc=fweisbec@gmail.com \
--cc=harald.gustafsson@ericsson.com \
--cc=hgu1972@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=song.yuan@ericsson.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.