Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1415458

Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of dimms while region active

From Linda Knippers <linda.knippers@hpe.com>
Newsgroups linux.kernel
Subject Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of dimms while region active
Date 2016-06-06 23:20 +0200
Message-ID <rHa6d-1IG-13@gated-at.bofh.it> (permalink)
References (3 earlier) <rH8xs-G0-9@gated-at.bofh.it> <rH8xs-G0-23@gated-at.bofh.it> <rH8H7-Jz-1@gated-at.bofh.it> <rH9jQ-1cX-25@gated-at.bofh.it> <rH9tw-1g5-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On 6/6/2016 4:36 PM, Dan Williams wrote:
> On Mon, Jun 6, 2016 at 1:20 PM, Linda Knippers <linda.knippers@hpe.com> wrote:
> [..]
>>> A solution to the posted-write-queue flushing needs to be available
>>> and a platform can choose to use flush hints or ADR.  If the NFIT
>>> defines an NVDIMM device without hints we assume the platform must
>>> have ADR.  If the platform NFIT neglects to define an NVDIMM to
>>> physical address range mapping, we warn about a potentially broken
>>> BIOS.  Hopefully we can make this clearer in future versions of the
>>> spec.
>>
>> You lost me on those last 2 sentences.  An NVDIMM doesn't have to have
>> an SPA range, but that seems to be unrelated to pcommit or flushes.
> 
> Ok, now you've lost me...
> 
> We need a SPA range to be able to do I/O whether that SPA range is
> direct access to media or a block-window aperture.  If an NFIT
> inculdes a "System Physical Address (SPA) Range Structure", but
> neglects to include a corresponding "NVDIMM Region Mapping Structure"
> then the kernel has no idea what actual dimm device(s) back that
> memory region.  Without a memory device mapping it is undefined
> whether I/O to a SPA range requires flushing or not.

Right, if you have an SPA Range Structure, you need an NVDIMM Region
Mapping Structure referencing it (although now I'm wondering if that's
true if it's one of the other GUID types, like a virtual CD...).  But the
reverse isn't true.  You can have a Region mapping Structure without an
SPA range, and that's what I thought you were flagging as an error in
your previous sentence.

> This patch set silences the warning about "not being able to guarantee
> persistence" when the BIOS provides a "NVDIMM Region Mapping
> Structure".  When that structure is present the kernel uses flush
> hints when provided, but ADR otherwise.  See the implementation of
> nvdimm_flush() in patch 4.

Ok, I see that now.

Patch 0 and the commit messages could have used a bit more info.
The big picture was a bit difficult to see and patch 4 doesn't say
anything about finishing in the TODOs from the previous patch.

Thanks,

-- ljk

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/13] deprecate pcommit Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 09/13] libnvdimm,  pmem: use nvdimm_flush() for namespace I/O writes Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 08/13] fs/dax: remove wmb_pmem() Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 06/13] libnvdimm: cycle flush hints per-cpu Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 07/13] libnvdimm, pmem: use REQ_FUA,  REQ_FLUSH for nvdimm_flush() Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 11/13] Revert "KVM: x86: add pcommit support" Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
    Re: [PATCH 11/13] Revert "KVM: x86: add pcommit support" Paolo Bonzini <pbonzini@redhat.com> - 2016-06-06 17:20 +0200
      Re: [PATCH 11/13] Revert "KVM: x86: add pcommit support" Dan Williams <dan.j.williams@intel.com> - 2016-06-06 18:20 +0200
  [PATCH 12/13] x86/insn: remove pcommit Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 05/13] tools/testing/nvdimm: simulate multiple flush hints  per-dimm Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  [PATCH 13/13] pmem: kill __pmem address space Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
    Re: [PATCH 13/13] pmem: kill __pmem address space kbuild test robot <lkp@intel.com> - 2016-06-05 00:40 +0200
  [PATCH 03/13] libnvdimm: introduce nvdimm_flush() Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
    Re: [PATCH 03/13] libnvdimm: introduce nvdimm_flush() Jeff Moyer <jmoyer@redhat.com> - 2016-06-06 19:50 +0200
  [PATCH 01/13] driver core,  libnvdimm: disable manual unbind of dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
    Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-04 23:20 +0200
      Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:40 +0200
        Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:50 +0200
        Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Greg Kroah-Hartman <gregkh@linuxfoundation.org> - 2016-06-04 23:50 +0200
    Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active kbuild test robot <lkp@intel.com> - 2016-06-05 00:10 +0200
    Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Linda Knippers <linda.knippers@hpe.com> - 2016-06-06 21:30 +0200
      Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-06 21:40 +0200
      Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Linda Knippers <linda.knippers@hpe.com> - 2016-06-06 21:40 +0200
        Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-06 21:50 +0200
          Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Linda Knippers <linda.knippers@hpe.com> - 2016-06-06 22:30 +0200
            Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-06 22:40 +0200
              Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Linda Knippers <linda.knippers@hpe.com> - 2016-06-06 23:20 +0200
      Re: [PATCH 01/13] driver core, libnvdimm: disable manual unbind of  dimms while region active Dan Williams <dan.j.williams@intel.com> - 2016-06-06 21:40 +0200
  [PATCH 10/13] pmem: kill wmb_pmem() Dan Williams <dan.j.williams@intel.com> - 2016-06-04 23:00 +0200
  Re: [PATCH 00/13] deprecate pcommit Andy Lutomirski <luto@amacapital.net> - 2016-06-05 19:50 +0200
    Re: [PATCH 00/13] deprecate pcommit "Rudoff, Andy" <andy.rudoff@intel.com> - 2016-06-05 20:50 +0200

csiph-web