Re: [PATCH 4/5] perf record: mmap output file - v5

From: David Ahern
Date: Fri Nov 15 2013 - 11:42:05 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/