Messages in this thread |  | | Date | Wed, 13 Nov 2013 07:29:22 -0700 | From | David Ahern <> | Subject | Re: [PATCH 4/5] perf record: mmap output file - v5 |
| |
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
|  |