Re: [PATCH 3/3] perf record: mmap output file

From: David Ahern
Date: Tue Oct 15 2013 - 12:16:52 EST


On 10/15/13 10:06 AM, Ingo Molnar wrote:
splice() is very fast and should be able to process a lot of pages in one
go, so the feedback loop should be pretty weak. mmap() triggers kernel
code as well, every time we run out of the 64 MB window we got to remap
it, right?


Yes, 1 mmap, 1 munmap for every 64MB. Compare to the write() case which calls write() for each mmap each time through the mmap_read loop.

I am conjecturing that splice would follow the write model in the sense of a ring buffer has N bytes, call splice to copy the data from the ring buffer to the file. So, splice saves on the memcpy, but not the syscalls.

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/