Messages in this thread | | | Date | Fri, 15 Nov 2013 09:41:53 -0700 | From | David Ahern <> | Subject | Re: [PATCH 4/5] perf record: mmap output file - v5 |
| |
On 11/13/13, 4:34 AM, Peter Zijlstra wrote: >>> one option here is not allow page faults and system wide system calls. >>> system wide tracing needs mmap; page faults for a task can use write(). >>> I left that option in case something like this came up. >> >> So maybe splice() sounds like the right long term solution after all? :-/ > > Right until you put a tracepoint (kprobe) somewhere in whatever function > is used to transfer a single page into/from a splice pipe. > > You can always screw yourself over using this stuff, no exceptions. >
What now? Can we add the mmap path as an option? Leave write by default and users can select mmap if they want? e.g., have out_size default to 0 and 'perf trace record' can set --out-pages to 64M. It bypasses all system calls at the expense of more page faults.
David
| |