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

From: David Ahern
Date: Wed Nov 13 2013 - 09:29:29 EST


On 11/13/13, 4:50 AM, Ingo Molnar 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.

That ought to be a far less common occurance than tracing page faults
though.

You can always screw yourself over using this stuff, no exceptions.

Granted, as the many notrace markings demonstrate this stuff really wants
to observe itself observing itself all the time! :)

perf can have options for output -- write(), mmap(), splice() -- and some logic of when not to use it:

1. don't use write for system wide tracing

2. don't use mmap for page fault tracing

3. don't use splice for .... (need a splice implementation)

and allow the user to override.

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/