[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |