On 09/02/2015 08:18 AM, Boaz Harrosh wrote:
On 09/02/2015 05:23 PM, Dave Hansen wrote:
> > I'd be curious what the cost is in practice. Do you have any actual
> > numbers of the cost of doing it this way?
> > Even if the instruction is a "noop", I'd really expect the
> > 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.
We are going to have 2-socket systems with 6TB of persistent memory in
them. I think it's important to design this mechanism so that it scales
to memory sizes like that and supports large mmap()s.
I'm not sure the application you've seen thus far are very
representative of what we want to design for.
I can send you a micro benchmark results of an mmap vs direct-io
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.
I'm really just more curious about actual clflush performance on large
ranges. I'm curious how good the CPU is at optimizing it.