From mboxrd@z Thu Jan 1 00:00:00 1970 From: Xiao Guangrong Subject: Re: [PATCH 00/15] NVDIMM: introduce nvdimm label support Date: Wed, 23 Mar 2016 10:46:56 +0800 Message-ID: <56F203A0.70503@linux.intel.com> References: <1458203581-59143-1-git-send-email-guangrong.xiao@linux.intel.com> <20160317100446.GA14062@stefanha-x1.localdomain> <20160322203058.GB31343@stefanha-x1.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Stefan Hajnoczi , Paolo Bonzini , Igor Mammedov , Gleb Natapov , mtosatti@redhat.com, "Michael S. Tsirkin" , rth@twiddle.net, ehabkost@redhat.com, KVM list , qemu-devel@nongnu.org To: Stefan Hajnoczi , Dan Williams Return-path: Received: from mga02.intel.com ([134.134.136.20]:59959 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753733AbcCWCrq (ORCPT ); Tue, 22 Mar 2016 22:47:46 -0400 In-Reply-To: <20160322203058.GB31343@stefanha-x1.localdomain> Sender: kvm-owner@vger.kernel.org List-ID: 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 wrote: >>> On Thu, Mar 17, 2016 at 04:32:46PM +0800, Xiao Guangrong wrote: >>>> This patchset is against commit d4207b223eef3 (fw-cfg: support wri= teable >>>> 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 n= vdimm >>>> 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 acp= i_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 |=3D NDD_ALIASING; >>> >>> Not a blocker for this patch series, but why does Linux require Blo= ck >>> 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 the= n >> the size of the namespace can be directly derived from the nfit rang= e >> 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 th= e > 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 cur= rent 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=EF=BC=8Cor they do not foll= ow 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 windo= ws 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 thi= s 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 wi= ll "allow enabling BTT on BLK namespaces to support power-fail-safe sector update= s for a filesystem on PMEM". The idea was contributed by Dan in our internal di= scussion...