On 09/02/2015 05:23 PM, Dave Hansen wrote:
I'd be curious what the cost is in practice. Do you have any
numbers of the cost of doing it this way?
Even if the instruction is a "noop", I'd really expect the overhead to
really add up for a tens-of-gigabytes mapping, no matter how much the
CPU optimizes it.
What tens-of-gigabytes mapping? I have yet to encounter an application
that does that. Our tests show that usually the mmaps are small.
I can send you a micro benchmark results of an mmap vs direct-io random
write. Our code will jump over holes in the file BTW, but I'll ask to also
run it with falloc that will make all blocks allocated.
Give me a few days to collect this.
I guess one optimization we should do is jump over holes and zero-extents.
This will save the case of a mostly sparse very big file.