Messages in this thread | | | Subject | Re: Perf and ftrace [was Re: PyTimechart] | From | Peter Zijlstra <> | Date | Wed, 12 May 2010 19:00:24 +0200 |
| |
On Wed, 2010-05-12 at 18:46 +0200, Frederic Weisbecker wrote: > But there is no strong reason for perf record not to use splice, > a part the fact that perf doesn't support splice. > Its mostly an interface/api question. You cannot easily splice() a mmap()'ed buffer on machines that have address constraints like sparc.
The thing I was thinking about is adding a new syscall that creates a single buffer of specified size and provides a fd. Then use PERF_EVENT_IOC_SET_OUTPUT, to connect an event to that fd/buffer and use splice() on that fd.
It could reuse most of the perf buffer code, but simply not map it into userspace and therefore not have the restriction on the vaddr.
Once you have that, a .splice_read implementation shouldn't be too hard.
| |