On Sun, Jun 17, 2018 at 01:28:18PM -0700, John Hubbard wrote: > Yes. However, my thinking was: get_user_pages() can become a way to indicate that > these pages are going to be treated specially. In particular, the caller > does not really want or need to support certain file operations, while the > page is flagged this way. > > If necessary, we could add a new API call. That API call is called get_user_pages_longterm. > But either way, I think we could > reasonably document that "if you pin these pages (either via get_user_pages, > or some new, similar-looking API call), you can DMA to/from them, and safely > mark them as dirty when you're done, and the right things will happen. > And in the interim, you can expect that the follow file system API calls > will not behave predictably: fallocate, truncate, ..." That is not how get_user_pages(_fast) is used. We use it all over the kernel, including for direct I/O. You'd break a lot of existing use cases very badly.