qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Xiao Guangrong <guangrong.xiao@linux.intel.com>
To: Stefan Hajnoczi <stefanha@redhat.com>,
	Dan Williams <dan.j.williams@intel.com>
Cc: ehabkost@redhat.com, KVM list <kvm@vger.kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Gleb Natapov <gleb@kernel.org>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	mtosatti@redhat.com, qemu-devel@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	Igor Mammedov <imammedo@redhat.com>,
	rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH 00/15] NVDIMM: introduce nvdimm label support
Date: Wed, 23 Mar 2016 10:46:56 +0800	[thread overview]
Message-ID: <56F203A0.70503@linux.intel.com> (raw)
In-Reply-To: <20160322203058.GB31343@stefanha-x1.localdomain>


Sorry for the delay and i just come back from my vacation.

On 03/23/2016 04:30 AM, Stefan Hajnoczi wrote:
> On Tue, Mar 22, 2016 at 08:37:40AM -0700, Dan Williams wrote:
>> On Thu, Mar 17, 2016 at 3:04 AM, Stefan Hajnoczi <stefanha@gmail.com> wrote:
>>> On Thu, Mar 17, 2016 at 04:32:46PM +0800, Xiao Guangrong wrote:
>>>> This patchset is against commit d4207b223eef3 (fw-cfg: support writeable
>>>> blobs) on pci branch of Michael's git tree and can be found at:
>>>>        https://github.com/xiaogr/qemu.git nvdimm-label-v1
>>>>
>>>> This is the last part of vNVDIMM implementation which introduces nvdimm
>>>> label support
>>>>
>>>> Currently Linux NVDIMM driver does not support namespace operation on this
>>>> kind of PMEM, apply below changes to support dynamical namespace:
>>>>
>>>> @@ -798,7 +823,8 @@ static int acpi_nfit_register_dimms(struct acpi_nfit_desc *a
>>>>                          continue;
>>>>                  }
>>>>
>>>> -               if (nfit_mem->bdw && nfit_mem->memdev_pmem)
>>>> +               //if (nfit_mem->bdw && nfit_mem->memdev_pmem)
>>>> +               if (nfit_mem->memdev_pmem)
>>>>                          flags |= NDD_ALIASING;
>>>
>>> Not a blocker for this patch series, but why does Linux require Block
>>> Device Window to enable namespace support?
>>
>> A namespace label delineates aliased capacity between the pmem and
>> block-window access mechanisms.  If there is no aliased capacity then
>> the size of the namespace can be directly derived from the nfit range
>> and a label need not be considered.  Contiguous (dax-capable)
>> sub-divisions of pmem can be had via partitioning of the resulting
>> gendisk.
>
> Xiao Guangrong: Given this new information, what is the purpose of the
> QEMU patches for ACPI DSM and especially the namespace label support?
>

The initiation goal we introduced vlabel support is:
| Yes, I see Linux driver supports label-less vNVDIMM that is exact current QEMU
| doing. However, label-less is only Linux specific implementation (as it
| completely bypasses namespace), other OS vendors (e.g Microsoft) will use label
| storage to address their own requirements,or they do not follow namespace spec
| at all. Another reason is that label is essential for PBLK support.

I did not get the windows driver so far, so this is not tested on windows yet,
just double checked with windows driver team, they told me that:
"It always assumes there is one there so we will need to change how this works"
So the update of windows side will be made.

> The QEMU NVDIMM device only supports pmem so now I'm not sure we need
> namespace labels or the ACPI DSM at all.
>

We are planing to support PBLK which "simulated BLK it can simply make one big
aperture that happens to overlap the same address range as PMEM", it will "allow
enabling BTT on BLK namespaces to support power-fail-safe sector updates for a
filesystem on PMEM". The idea was contributed by Dan in our internal discussion...

  reply	other threads:[~2016-03-23  2:47 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-17  8:32 [Qemu-devel] [PATCH 00/15] NVDIMM: introduce nvdimm label support Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 01/15] pc-dimm: get memory region from ->get_memory_region() Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 02/15] pc-dimm: introduce realize callback Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 03/15] pc-dimm: keep the state of the whole backend memory Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 04/15] nvdimm: support nvdimm label Xiao Guangrong
2016-03-17 10:28   ` Stefan Hajnoczi
2016-03-23  3:40     ` Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 05/15] acpi: add aml_object_type Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 06/15] acpi: add aml_call5 Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 07/15] nvdimm acpi: set HDLE properly Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 08/15] nvdimm acpi: save arg3 of _DSM method Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 09/15] nvdimm acpi: check UUID Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 10/15] nvdimm acpi: abstract the operations for root device and nvdimm devices Xiao Guangrong
2016-03-17 10:35   ` Stefan Hajnoczi
2016-03-23  3:43     ` Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 11/15] nvdimm acpi: check revision Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 12/15] nvdimm acpi: support Get Namespace Label Size function Xiao Guangrong
2016-03-17 10:58   ` Stefan Hajnoczi
2016-03-23  3:46     ` Xiao Guangrong
2016-03-17  8:32 ` [Qemu-devel] [PATCH 13/15] nvdimm acpi: support Get Namespace Label Data function Xiao Guangrong
2016-03-17  8:33 ` [Qemu-devel] [PATCH 14/15] nvdimm acpi: support Set " Xiao Guangrong
2016-03-17  8:33 ` [Qemu-devel] [PATCH 15/15] docs: add NVDIMM ACPI documentation Xiao Guangrong
2016-03-17 10:04 ` [Qemu-devel] [PATCH 00/15] NVDIMM: introduce nvdimm label support Stefan Hajnoczi
2016-03-22 15:37   ` Dan Williams
2016-03-22 20:30     ` Stefan Hajnoczi
2016-03-23  2:46       ` Xiao Guangrong [this message]
2016-03-23 16:48         ` Stefan Hajnoczi
2016-03-22 11:17 ` Michael S. Tsirkin
2016-03-23  3:47   ` Xiao Guangrong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56F203A0.70503@linux.intel.com \
    --to=guangrong.xiao@linux.intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=ehabkost@redhat.com \
    --cc=gleb@kernel.org \
    --cc=imammedo@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=mst@redhat.com \
    --cc=mtosatti@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rth@twiddle.net \
    --cc=stefanha@gmail.com \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).