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

From: Peter Zijlstra
Date: Tue Nov 12 2013 - 09:57:56 EST


On Tue, Nov 12, 2013 at 07:46:56AM -0700, David Ahern wrote:
> When recording raw_syscalls for the entire system, e.g.,
> perf record -e raw_syscalls:*,sched:sched_switch -a -- sleep 1
>
> you end up with a negative feedback loop as perf itself calls write() fairly
> often. This patch handles the problem by mmap'ing the file in chunks of 64M at
> a time and copies events from the event buffers to the file avoiding write
> system calls.

You know this completely fails the moment you trace faults, because
every new access to one of those pages (to mark it dirty) will trigger a
fault. And we'll take a bunch more faults -- one for each page -- than
we ever did write() syscalls.

Anyway the over all performance improvements still make it worth it. But
the above seems like a false argument in favour of this.
--
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/