On Mon, May 4, 2015 at 10:40 PM, Andy Rudoff <
an...@rudoff.com> wrote:
> But even then, I think most VMMs would just punt on using
> BWs in the guest and expose NVM for block usage the same way any other block
> storage is exposed to the guest.
Functionally that's fine: it solves the address space consumption and
error reporting problems just like BW does. I suspect the overhead of
block I/O is higher than the cost of the BW operation itself though,
so it makes NVDIMMs slow for VMs.
> I'm not trying to discourage you from coming up with a better BW example
> than ours, one that includes the range protection you mention. I'm just
> saying to when we were thinking it through it got more and more complex to
> allow a guest to use BWs directly and the value didn't seem there when we
> looked at the big picture...
Thanks for explaining the complications that I hadn't understood yet
with interleaving and non-contiguous namespaces.
It won't be possible to solve this in a simple fashion. The other
challenge is that hardware provides a finite number of BW register
sets/apertures, so there is a limit in the number of VMs that can do
pass-through. At some point the VMM needs to fall back to traditional
block storage emulation anyway.
Stefan