On Tue, May 06, 2014 at 02:39:07PM +0200, Robert Richter wrote:
> I rather would change the ioctl to
> 
>  id = ioctl(PERF_EVENT_IOC_SET_PERSIST, arg);
> 
>  arg != 0:    create persistent event (unclaim)
>  arg == 0:    delete persistent event (claim)
> 
> This has the advantage that the naming is better and arg can be used
> as parameter (e.g. event id to share a namespace).

Yep, this is better than the CLAIM/UNCLAIM thing.

> The unclaim ioctl *creates* a buffer with 512kB default size. The
> reopening process must mmap with the same buffer size. This is a
> problem as in this implementation the buffer size is fix and can not
> be adjusted.

Why do we need it to be adjustable?

> We could let create the process the buffers and make the
> event persistent including the current buffers.
> 
> Variable buffer size is a must,

Yeah, why? I'm just asking for my own understanding.

> so the reopening process also must be
> able to detect buffer size. Mmap buffer size could be detected by
> mmap'ing only the header page, reading the buffer size from the header
> and then remapping the buffer with adjusted size.
> 
> It would be good to have a perf tool option -P that puts events in
> persistent state instead of starting a command:
> 
>  # perf record -e ... -a -P <namespace>               # create pers. events
>  # perf record -e persistent/<namespace>/ -a  # read existing buffers
>  # perf record -e persistent/<namespace>/ -a -k       # read and kill 
> existing events
> 
> Note that no args for a command are given.

Yep, looks sane to me.

-- 
Regards/Gruss,
    Boris.

Sent from a fat crate under my desk. Formatting is fine.
--
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to