archive mirror
 help / color / mirror / Atom feed
From: Dan Williams <>
To: Gerald Schaefer <>
Cc: "Christoph Hellwig" <>, "Jan Kara" <>,
	linux-nvdimm <>,
	"Martin Schwidefsky" <>,
	"Heiko Carstens" <>,
	"Michal Hocko" <>,
	"kbuild test robot" <>,
	"Thomas Meyer" <>,
	"Dave Jiang" <>,
	"Jérôme Glisse" <>,
	linux-fsdevel <>,
	"Linux MM" <>
Subject: Re: [PATCH v10] mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS
Date: Tue, 29 May 2018 13:26:33 -0700	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <20180523205017.0f2bc83e@thinkpad>

On Wed, May 23, 2018 at 11:50 AM, Gerald Schaefer
<> wrote:
> On Tue, 22 May 2018 08:28:06 +0200
> Christoph Hellwig <> wrote:
>> On Mon, May 21, 2018 at 11:04:10AM +0200, Jan Kara wrote:
>> > We definitely do have customers using "execute in place" on s390x from
>> > dcssblk. I've got about two bug reports for it when customers were updating
>> > from old kernels using original XIP to kernels using DAX. So we need to
>> > keep that working.
>> That is all good an fine, but I think time has come where s390 needs
>> to migrate to provide the pmem API so that we can get rid of these
>> special cases.  Especially given that the old XIP/legacy DAX has all
>> kinds of known bugs at this point in time.
> I haven't yet looked at this patch series, but I can feel that this
> FS_DAX_LIMITED workaround is beginning to cause some headaches, apart
> from being quite ugly of course.
> Just to make sure I still understand the basic problem, which I thought
> was missing struct pages for the dcssblk memory, what exactly do you
> mean with "provide the pmem API", is there more to do?

No, just 'struct page' is needed.

What used to be the pmem API is now pushed down into to dax_operations
provided by the device driver. dcssblk is free to just redirect to the
generic implementations for copy_from_iter() and copy_to_iter(), and
be done. I.e. we've removed the "pmem API" requirement.

> I do have a prototype patch lying around that adds struct pages, but
> didn't yet have time to fully test/complete it. Of course we initially
> introduced XIP as a mechanism to reduce memory consumption, and that
> is probably the use case for the remaining customer(s). Adding struct
> pages would somehow reduce that benefit, but as long as we can still
> "execute in place", I guess it will be OK.

The pmem driver has the option to allocate the 'struct page' map out
of pmem directly. If the overhead of having the map in System RAM is
too high it could borrow the same approach, but that adds another
degree of configuration complexity freedom.

  reply	other threads:[~2018-05-29 20:26 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-17 20:06 Dan Williams
2018-05-18  9:00 ` Jan Kara
2018-05-18  9:46 ` Christoph Hellwig
2018-05-18 16:00   ` Dan Williams
2018-05-21  9:04     ` Jan Kara
2018-05-22  6:28       ` Christoph Hellwig
2018-05-23 18:50         ` Gerald Schaefer
2018-05-29 20:26           ` Dan Williams [this message]
2018-06-01 15:01             ` Gerald Schaefer
2018-06-02  0:03               ` 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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='' \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: [PATCH v10] mm: introduce MEMORY_DEVICE_FS_DAX and CONFIG_DEV_PAGEMAP_OPS' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).