From: Peter Zijlstra <peterz@infradead.org>
To: Borislav Petkov <bp@amd64.org>
Cc: Ingo Molnar <mingo@elte.hu>, Borislav Petkov <bp@alien8.de>,
Frederic Weisbecker <fweisbec@gmail.com>,
Steven Rostedt <rostedt@goodmis.org>,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Lin Ming <ming.m.lin@intel.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] perf: Add persistent events
Date: Fri, 28 May 2010 20:07:10 +0200 [thread overview]
Message-ID: <1275070030.1645.362.camel@laptop> (raw)
In-Reply-To: <20100528155719.GA10141@kryptos.osrc.amd.com>
On Fri, 2010-05-28 at 17:57 +0200, Borislav Petkov wrote:
> From: Peter Zijlstra <peterz@infradead.org>
> Date: Fri, May 28, 2010 at 05:17:40PM +0200
>
> > On Fri, 2010-05-28 at 16:33 +0200, Ingo Molnar wrote:
> >
> > > > 2) get these things a buffer, perf_events as created don't actually
> > > > have an output buffer, normally that is created at mmap() time, but
> > > > since you cannot mmap() a kernel side event, it doesn't get to have
> > > > a buffer. This could be done by extracting perf_mmap_data_alloc()
> > > > into a sensible interface.
> > >
> > > #2 could be a new syscall: sys_create_ring_buffer or so?
> >
> > No, they need a buffer in-kernel, syscalls aren't the ideal tool for
> > that :-)
>
> Yeah, I need a per-cpu buffer ready at event registration/enable time,
> maybe even have perf_event_create_kernel_counter() take care of that
> buffer allocation with a flag or similar prior to enabling the event...
>
> > I've got patches refactoring the whole buffer stuff to make it more a
> > self-contained entity.
>
> Can I see those when you're done so that I can base my stuff on top?
They can be found at:
http://programming.kicks-ass.net/sekrit/patches.tar.bz2
ignore the last 5 patches, those are random hackery.
In particular, look at:
patches/perf-fix-buffer-redirect.patch
patches/perf-buffer.patch
patches/perf-buffer-init.patch
(they won't apply separately in that order, simply push the full queue
until the last one or further)
After that you should be able to add:
buffer = perf_buffer_alloc(nr_pages, watermark, cpu, flags);
rcu_assign_pointer(event->buffer, buffer);
to allocate and attach a buffer to your event (do so for each cpu's MCE
event).
After that we still need a way to expose all that to userspace, but at
least the events will be complete and able to record bits ;-)
next prev parent reply other threads:[~2010-05-28 18:07 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-22 19:00 [RFC PATCH 0/2] perf: persistent events prototype Borislav Petkov
2010-05-22 19:00 ` [PATCH 2/2] x86, mce: Make MCE tracepoint persistent event Borislav Petkov
[not found] ` <1274554806-28216-2-git-send-email-bp@alien8.de>
2010-05-23 18:15 ` [PATCH 1/2] perf: Add persistent events Peter Zijlstra
2010-05-23 18:33 ` Borislav Petkov
2010-05-23 18:40 ` Peter Zijlstra
2010-05-23 18:54 ` Borislav Petkov
2010-05-23 19:23 ` Peter Zijlstra
2010-05-25 7:32 ` Borislav Petkov
2010-05-25 14:59 ` Peter Zijlstra
2010-05-28 14:33 ` Ingo Molnar
2010-05-28 15:17 ` Peter Zijlstra
2010-05-28 15:57 ` Borislav Petkov
2010-05-28 18:07 ` Peter Zijlstra [this message]
2010-06-03 13:43 ` Borislav Petkov
2010-06-03 17:32 ` Arnaldo Carvalho de Melo
2010-06-03 21:39 ` Borislav Petkov
2010-06-14 19:25 ` Borislav Petkov
2010-06-14 21:01 ` Arnaldo Carvalho de Melo
2010-06-14 21:24 ` Borislav Petkov
2010-06-15 1:02 ` Arnaldo Carvalho de Melo
2010-06-15 10:22 ` Borislav Petkov
2010-06-15 13:22 ` Arnaldo Carvalho de Melo
2010-06-17 13:43 ` Borislav Petkov
2010-06-17 14:25 ` Arnaldo Carvalho de Melo
2010-06-17 15:27 ` Borislav Petkov
2010-06-17 16:19 ` Steven Rostedt
2010-06-17 17:31 ` Borislav Petkov
2010-05-23 20:36 ` [RFC PATCH 0/2] perf: persistent events prototype Steven Rostedt
-- strict thread matches above, loose matches on Subject: below --
2010-05-22 19:04 Borislav Petkov
2010-05-22 19:04 ` [PATCH 1/2] perf: Add persistent events Borislav Petkov
2010-05-22 19:14 ` Borislav Petkov
2010-05-25 3:11 ` Steven Rostedt
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=1275070030.1645.362.camel@laptop \
--to=peterz@infradead.org \
--cc=acme@redhat.com \
--cc=bp@alien8.de \
--cc=bp@amd64.org \
--cc=fweisbec@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=ming.m.lin@intel.com \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.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