All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Williams <dan.j.williams@intel.com>
To: lsf-pc@lists.linux-foundation.org
Cc: linux-block@vger.kernel.org,
	linux-fsdevel <linux-fsdevel@vger.kernel.org>,
	Linux MM <linux-mm@kvack.org>,
	"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>
Subject: [LSF/MM TOPIC] Persistent memory: pmem as storage device vs pmem as memory
Date: Tue, 2 Feb 2016 17:10:18 -0800	[thread overview]
Message-ID: <CAPcyv4jtbsc45r4EzZvLJhqCzB4X4nJmKdpQ8cE46gGkMaRB3w@mail.gmail.com> (raw)

The current state of persistent memory enabling in Linux is that a
physical memory range discovered by a device driver is exposed to the
system as a block device.  That block device has the added property of
being capable of DAX which, at its core, allows converting
storage-device-sectors allocated to a file into pages that can be
mmap()ed, DMAed, etc...

In that quick two sentence summary the impacted kernel sub-systems
span mm, fs, block, and a device-driver.  As a result when a
persistent memory design question arises there are mm, fs, block, and
device-driver specific implications to consider.  Are there existing
persistent memory handling features that could be better handled with
a more "memory" vs "device" perspective?  What are we trading off?
More importantly how do our current interfaces hold up when
considering new features?

For example, how to support DAX in coordination with the BTT (atomic
sector update) driver.  That might require a wider interface than the
current bdev_direct_access() to tell the BTT driver when it is free to
remap the block.  A wider ranging example, there are some that would
like to see high capacity persistent memory as just another level in a
system's volatile-memory hierarchy.  Depending on whom you ask that
pmem tier looks like either page cache extensions, reworked/optimized
swap, or a block-device-cache with DAX capabilities.

For LSF/MM, with all the relevant parties in the room, it would be
useful to share some successes/pain-points of the direction to date
and look at the interfaces/coordination we might need between
sub-systems going forward.  Especially with respect to supporting pmem
as one of a set of new performance differentiated memory types that
need to be considered by the mm sub-system.

---

As a maintainer for libnvdimm I'm interested in participating in the
"Persistent Memory Error Handling" from Jeff.  I'm also interested in
the "HMM (heterogeneous memory manager) and GPU" topic from Jerome as
it relates to mm handling of performance differentiated memory types.

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

             reply	other threads:[~2016-02-03  1:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-03  1:10 Dan Williams [this message]
2016-02-03 13:19 ` [Lsf-pc] [LSF/MM TOPIC] Persistent memory: pmem as storage device vs pmem as memory Jan Kara
2016-02-03 22:21   ` Dan Williams

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=CAPcyv4jtbsc45r4EzZvLJhqCzB4X4nJmKdpQ8cE46gGkMaRB3w@mail.gmail.com \
    --to=dan.j.williams@intel.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.