linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* getting rid of the last memory modifitions through gup(FOLL_GET)
@ 2023-09-05 14:16 Christoph Hellwig
  2023-09-06  9:42 ` David Hildenbrand
  2023-09-08  8:41 ` David Howells
  0 siblings, 2 replies; 6+ messages in thread
From: Christoph Hellwig @ 2023-09-05 14:16 UTC (permalink / raw)
  To: Jan Kara, David Howells, David Hildenbrand, Peter Xu
  Cc: Lei Huang, miklos, Xiubo Li, Ilya Dryomov, Jeff Layton,
	Trond Myklebust, Anna Schumaker, Latchesar Ionkov,
	Dominique Martinet, Christian Schoenebeck, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, John Fastabend,
	Jakub Sitnicki, Boris Pismenny, linux-nfs, linux-fsdevel,
	ceph-devel, linux-mm, v9fs, netdev

Hi all,

we've made some nice progress on converting code that modifies user
memory to the pin_user_pages interface, especially though the work
from David Howells on iov_iter_extract_pages.  This thread tries to
coordinate on how to finish off this work.

The obvious next step is the remaining users of iov_iter_get_pages2
and iov_iter_get_pages_alloc2.  We have three file system direct I/O
users of those left: ceph, fuse and nfs.  Lei Huang has sent patches
to convert fuse to iov_iter_extract_pages which I'd love to see merged,
and we'd need equivalent work for ceph and nfs.

The non-file system uses are in the vmsplice code, which only reads
from the pages (but would still benefit from an iov_iter_extract_pages
conversion), and in net.  Out of the users in net, all but the 9p code
appear to be for reads from memory, so they don't pin even if a
conversion would be nice to retire iov_iter_get_pages* APIs.

After that we might have to do an audit of the raw get_user_pages APIs,
but there probably aren't many that modify file backed memory.

I'm also wondering what a good debug aid would be for detecting
writes to file backed memory without a previous reservation, but
everything either involves a page flag or file system code.  But if
someone has an idea I'm all ear as something mechanical to catch these
uses would be quite helpful.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-09-09 11:18 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-09-05 14:16 getting rid of the last memory modifitions through gup(FOLL_GET) Christoph Hellwig
2023-09-06  9:42 ` David Hildenbrand
2023-09-08  8:15   ` Christoph Hellwig
2023-09-08 16:48     ` David Hildenbrand
2023-09-09 11:18       ` Christoph Hellwig
2023-09-08  8:41 ` David Howells

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).