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


Groups > linux.kernel > #1565201

Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm

From Christoph Hellwig <hch@lst.de>
Newsgroups linux.kernel
Subject Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm
Date 2017-01-23 19:10 +0100
Message-ID <t2Re2-1kt-19@gated-at.bofh.it> (permalink)
References (5 earlier) <t2vnb-4hj-9@gated-at.bofh.it> <t2Gsh-2Za-1@gated-at.bofh.it> <t2H50-3rt-7@gated-at.bofh.it> <t2PlT-9t-1@gated-at.bofh.it> <t2QrE-Nm-29@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon, Jan 23, 2017 at 09:14:04AM -0800, Dan Williams wrote:
> The use case that we have now is distinguishing volatile vs persistent
> memory (brd vs pmem).

brd is a development tool, so until we have other reasons for this
abstraction (which I'm pretty sure will show up rather sooner than later)
I would not worry about it too much.

> I took a look at mtd layering approach and the main difference is that
> layers above the block layer do not appear to know anything about mtd
> specifics.

Or the block layer itself for that matter.  And that's exactly where
I want DAX to be in the future.

> For fs/dax.c we currently need some path to retrieve a dax
> anchor object through the block device.

We have a need to retreiver the anchor object.  We currently do it
though the block layer for historical reasons, but it doesn't have
to be that way.

> > In the longer run I like your dax_operations, but they need to be
> > separate from the block layer.
> 
> I'll move them from block_device_operations to dax data hanging off of
> the bdev_inode, or is there a better way to go from bdev-to-dax?

I don't think that's any better.  What we really want is a way
to find the underlying persistent memory / DAX / whatever we call
it node without going through a block device.  E.g. a library function
to give that object for a given path name, where the path name could
be either that of the /dev/pmemN or the /dev/daxN device.

If the file system for now still needs a block device as well it
will only accept the /dev/pmemN name, and open both the low-level
pmem device and the block device.  Once that file system doesn't
need block code (and I think we could do that easily for XFS,
nevermind any new FS) it won't have to deal with the block
device at all.

pmem.c then becomes a consumer of the dax_ops just like the file system.

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


Thread

[PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 08/13] x86, libnvdimm, dax: stop abusing __copy_user_nocache Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 10/13] libnvdimm, pmem: fix persistence warning Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 07/13] x86, libnvdimm,  pmem: move arch_invalidate_pmem() to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 01/13] x86, dax,  pmem: remove indirection around memcpy_from_pmem() Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 05/13] x86,  dax: replace clear_pmem() with open coded memset + dax_ops->flush Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
    Re: [PATCH 05/13] x86, dax: replace clear_pmem() with open coded  memset + dax_ops->flush Jan Kara <jack@suse.cz> - 2017-01-20 11:50 +0100
      Re: [PATCH 05/13] x86, dax: replace clear_pmem() with open coded  memset + dax_ops->flush Dan Williams <dan.j.williams@intel.com> - 2017-01-20 16:40 +0100
  [PATCH 03/13] x86, dax,  pmem: introduce 'copy_from_iter' dax operation Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 13/13] libnvdimm,  pmem: disable dax flushing for 'cache flush on fail' platforms Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 09/13] libnvdimm,  pmem: implement cache bypass for all copy_from_iter() operations Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 04/13] dax, pmem: introduce an optional 'flush' dax operation Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  [PATCH 06/13] x86, dax, libnvdimm: move wb_cache_pmem() to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-20 05:00 +0100
  RE: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm Matthew Wilcox <mawilcox@microsoft.com> - 2017-01-21 17:30 +0100
    Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-21 19:00 +0100
      RE: [PATCH 00/13] dax, pmem: move cpu cache maintenance to     libnvdimm Matthew Wilcox <mawilcox@microsoft.com> - 2017-01-22 16:50 +0100
        Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-22 17:40 +0100
          RE: [PATCH 00/13] dax, pmem: move cpu cache maintenance to     libnvdimm Matthew Wilcox <mawilcox@microsoft.com> - 2017-01-22 19:20 +0100
            Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-22 19:40 +0100
              RE: [PATCH 00/13] dax, pmem: move cpu cache maintenance to     libnvdimm Matthew Wilcox <mawilcox@microsoft.com> - 2017-01-22 19:40 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-22 19:50 +0100
                RE: [PATCH 00/13] dax, pmem: move cpu cache maintenance to     libnvdimm Matthew Wilcox <mawilcox@microsoft.com> - 2017-01-23 07:40 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-23 08:20 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-23 17:10 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-23 18:20 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-23 19:10 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-23 19:40 +0100
                Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-23 17:00 +0100
      Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to libnvdimm Dan Williams <dan.j.williams@intel.com> - 2017-01-22 18:40 +0100
        Re: [PATCH 00/13] dax, pmem: move cpu cache maintenance to         libnvdimm Christoph Hellwig <hch@lst.de> - 2017-01-23 17:10 +0100

csiph-web