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


Groups > linux.kernel > #1208658

Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option

From Dan Williams <dan.j.williams@intel.com>
Newsgroups linux.kernel
Subject Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option
Date 2015-08-17 17:50 +0200
Message-ID <pYuPD-3cv-9@gated-at.bofh.it> (permalink)
References (2 earlier) <pXFDr-5g2-7@gated-at.bofh.it> <pXLzc-5pY-7@gated-at.bofh.it> <pXM2e-5Yk-23@gated-at.bofh.it> <pXMbW-6p2-51@gated-at.bofh.it> <pYucW-2sM-19@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Aug 17, 2015 at 8:01 AM, Christoph Hellwig <hch@lst.de> wrote:
> On Sat, Aug 15, 2015 at 09:04:02AM -0700, Dan Williams wrote:
>> What other layer? /sys/devices/platform/e820_pmem is that exact same
>> device we had before this patch.  We just have a proper driver for it
>> now.
>
> We're adding another layer of indirection between the old e820 file
> and the new module.

Ok, yes, I was confused by "another layer of platform_devices".

That said here are the non-unit-test related reasons for this change
that I would include in a new changelog:

---

We currently register a platform device for e820 type-12 memory and
register a nvdimm bus beneath it.  Registering the platform device
triggers the device-core machinery to probe for a driver, but that
search currently comes up empty.  Building the nvdimm-bus registration
into the e820_pmem platform device registration in this way forces
libnvdimm to be built-in.  Instead, convert the built-in portion of
CONFIG_X86_PMEM_LEGACY to simply register a platform device and move
the rest of the logic to the driver for e820_pmem, for the following
reasons:

1/ Letting libnvdimm be a module allows building and testing
libnvdimm.ko changes without rebooting

2/ All the normal policy around modules can be applied to e820_pmem
(unbind to disable and/or blacklisting the module from loading by
default)

3/ Moving the driver to a generic location and converting it to scan
"iomem_resource" rather than "e820.map" means any other architecture
can take advantage of this simple nvdimm resource discovery mechanism
by registering a resource named "Persistent Memory (legacy)"
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

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


Thread

[RFC PATCH 0/7] 'struct page' driver for persistent memory Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
  [RFC PATCH 2/7] x86, mm: introduce struct vmem_altmap Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
  [RFC PATCH 5/7] libnvdimm,  e820: make CONFIG_X86_PMEM_LEGACY a tristate option Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
    Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a  tristate option Christoph Hellwig <hch@lst.de> - 2015-08-15 11:10 +0200
      Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a  tristate option Dan Williams <dan.j.williams@intel.com> - 2015-08-15 17:30 +0200
        Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a  tristate option Christoph Hellwig <hch@lst.de> - 2015-08-15 18:00 +0200
          Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a  tristate option Dan Williams <dan.j.williams@intel.com> - 2015-08-15 18:10 +0200
            Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a  tristate option Christoph Hellwig <hch@lst.de> - 2015-08-17 17:10 +0200
              Re: [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a  tristate option Dan Williams <dan.j.williams@intel.com> - 2015-08-17 17:50 +0200
  [RFC PATCH 3/7] x86, mm: arch_add_dev_memory() Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
  [RFC PATCH 7/7] libnvdimm, pmem: 'struct page' for pmem Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
  [RFC PATCH 4/7] mm: register_dev_memmap() Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
    Re: [RFC PATCH 4/7] mm: register_dev_memmap() Christoph Hellwig <hch@lst.de> - 2015-08-15 11:10 +0200
  [RFC PATCH 6/7] libnvdimm,  pfn: 'struct page' provider infrastructure Dan Williams <dan.j.williams@intel.com> - 2015-08-13 06:00 +0200
  Re: [RFC PATCH 0/7] 'struct page' driver for persistent memory Christoph Hellwig <hch@lst.de> - 2015-08-15 11:10 +0200

csiph-web