From: Jason Gunthorpe <jgg@ziepe.ca>
To: Christopher Lameter <cl@linux.com>
Cc: linux-rdma@vger.kernel.org, linux-mm@kvack.org,
Michal Hocko <mhocko@kernel.org>
Subject: Re: [LSFMM] RDMA data corruption potential during FS writeback
Date: Fri, 18 May 2018 09:49:45 -0600 [thread overview]
Message-ID: <20180518154945.GC15611@ziepe.ca> (raw)
In-Reply-To: <0100016373af827b-e6164b8d-f12e-4938-bf1f-2f85ec830bc0-000000@email.amazonses.com>
On Fri, May 18, 2018 at 02:37:52PM +0000, Christopher Lameter wrote:
> There was a session at the Linux Filesystem and Memory Management summit
> on issues that are caused by devices using get_user_pages() or elevated
> refcounts to pin pages and then do I/O on them.
>
> See https://lwn.net/Articles/753027/
>
> Basically filesystems need to mark the pages readonly during writeback.
> Concurrent DMA into the page while it is written by a filesystem can cause
> corrupted data being written to the disk, cause incorrect checksums etc
> etc.
>
> The solution that was proposed at the meeting was that mmu notifiers can
> remedy that situation by allowing callbacks to the RDMA device to ensure
> that the RDMA device and the filesystem do not do concurrent writeback.
This keeps coming up, and I understand why it seems appealing from the
MM side, but the reality is that very little RDMA hardware supports
this, and it carries with it a fairly big performance penalty so many
users don't like using it.
> This issue has been around for a long time and so far not caused too much
> grief it seems. Doing I/O to two devices from the same memory location is
> naturally a bit inconsistent in itself.
Well, I've seen various reports of FS's oopsing and what not, as the
LWN article points out.. So it is breaking stuff for some users.
> But could we do more to prevent issues here? I think what may be useful is
> to not allow the memory registrations of file back writable mappings
> unless the device driver provides mmu callbacks or something like that.
Why does every proposed solution to this involve crippling RDMA? Are
there really no ideas no ideas to allow the FS side to accommodate
this use case??
> There may even be more issues if DAX is being used but the FS writeback
> has the potential of biting anyone at this point it seems.
I think Dan already 'solved' this via get_user_pages_longterm which
just fails for DAX backed pages.
Jason
next prev parent reply other threads:[~2018-05-18 15:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-18 14:37 Christopher Lameter
2018-05-18 15:49 ` Jason Gunthorpe [this message]
2018-05-18 16:47 ` Christopher Lameter
2018-05-18 17:36 ` Jason Gunthorpe
2018-05-18 20:23 ` Dan Williams
2018-05-19 2:33 ` John Hubbard
2018-05-19 3:24 ` Jason Gunthorpe
2018-05-19 3:51 ` Dan Williams
2018-05-19 5:38 ` John Hubbard
2018-05-21 14:38 ` Matthew Wilcox
2018-05-23 23:03 ` John Hubbard
2018-05-21 13:37 ` Christopher Lameter
2018-05-21 13:59 ` Christopher Lameter
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=20180518154945.GC15611@ziepe.ca \
--to=jgg@ziepe.ca \
--cc=cl@linux.com \
--cc=linux-mm@kvack.org \
--cc=linux-rdma@vger.kernel.org \
--cc=mhocko@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox