Messages in this thread | | | From | Namhyung Kim <> | Subject | Re: [PATCH v2 00/14] perf, persistent: Kernel updates for perf tool integration | Date | Thu, 27 Jun 2013 14:46:36 +0900 |
| |
Hi Robert,
On Wed, 26 Jun 2013 14:44:24 +0200, Robert Richter wrote: > On 26.06.13 13:45:38, Ingo Molnar wrote: >> [ How about to additional logic: attr.persistent=1 && attr.config==0 means >> a new persistent event is created straight away - no ioctl is needed to >> detach it explicitly. ] > > That's correct. We could also do the following: > > To connect to an existing event: > > attr.type=<persistent-pmu> && attr.config==<event-id> > > (This might be harder to implement except the persistent event pmu > type will be fix, PERF_TYPE_PERSISTENT=6.) > > To create a new persistent event: > > attr.persistent=1 && attr=<some event setup: pmu, config, flags, etc>
How about using 2 bits for perfsistent flag, 1 for connecting to an existing one, 2 for creating new one.
>> > * The persistent event is opened with the syscall, the process gets a >> > new fd of the event. >> > * The process attaches to the event buffer with mmap. >> >> Yes. And gets the pre-existing event and mmap buffer. > > That's what I mean. > > A problem here is that mmap'ed buffer size (number of pages) must be > be equal to the pre-existing buffer size and thus to be known somehow.
What about also exporting the buffer size via sysfs pmu directory?
Thanks, Namhyung
| |