[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC Design Doc v2] Add vNVDIMM support for Xen



> > 1.4 clwb/clflushopt
> > 
> >  Writes to NVDIMM may be cached by caches, so certain flushing
> >  operations should be performed to make them persistent on
> >  NVDIMM. clwb is used in favor of clflushopt and clflush to flush
> >  writes from caches to memory.
> > 
> >  Details of clwb/clflushopt can be found in Chapter 10 of [6].
> 
> Didn't that opcode get dropped in favour of poking in some register?

Nevermind. I got this confused with pcommit which was deprecated.

But looking at chapter 10.2.2 it mentions that to commit to
persistent memory you need to use pcommit. So what is the story here?
.. snip...
> >  A part not put in above figure is enabling guest clwb/clflushopt
> >  which exposes those instructions to guest via guest cpuid.
> 
> And aren't those deprecated?

And again. Ignore that comment.
.. snip..
> > 4. Design of vNVDIMM in Xen
> > 
> >  As KVM/QEMU, our design currently only provides pmem vNVDIMM.
> > 
> >  Similarly to that in KVM/QEMU, enabling vNVDIMM in Xen is composed of
> >  three parts:
> >  (1) Guest clwb/clflushopt enabling,
> >  (2) pmem address management, and
> >  (3) Guest ACPI emulation.
> > 
> >  The rest of this section present the design of each part
> >  respectively. The basic design principle to reuse existing code in
> >  Linux NVDIMM driver, QEMU and Xen as much as possible.
> > 
> > 
> > 4.1 Guest clwb/clflushopt Enabling
> > 
> >  The instruction enabling is simple and we do the same work as in KVM/QEMU:
> >  - clwb/clflushopt are exposed to guest via guest cpuid.
> > 
> 
> Again, isn't that deprecated and the new mechanism (pokng at some register)
> has to be used?

So clflushopt can be used for flushing out a cacheline. But what
to do about store in the non-volatile memory? I recall that you could
do an sfence and then pcommit, which would be aking to an SCSI SYNC
command.

But with pcommit being deprecated (albeit the URL you pointed too
still lists pcommit) - at least in Xen and Linux - how do you
enforce this wholesale flush?

Thanks!

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.