No description
Find a file
John Hubbard eaf4d22a9e docs: mm/gup: pin_user_pages.rst: add a "case 5"
Patch series "vhost, docs: convert to pin_user_pages(), new "case 5""

It recently became clear to me that there are some get_user_pages*()
callers that don't fit neatly into any of the four cases that are so far
listed in pin_user_pages.rst.  vhost.c is one of those.

Add a Case 5 to the documentation, and refer to that when converting
vhost.c.

Thanks to Jan Kara for helping me (again) in understanding the
interaction between get_user_pages() and page writeback [1].

This is based on today's mmotm, which has a nearby patch to
pin_user_pages.rst that rewords cases 3 and 4.

Note that I have only compile-tested the vhost.c patch, although that
does also include cross-compiling for a few other arches.  Any run-time
testing would be greatly appreciated.

[1] https://lore.kernel.org/r/20200529070343.GL14550@quack2.suse.cz

This patch (of 2):

There are four cases listed in pin_user_pages.rst.  These are intended
to help developers figure out whether to use get_user_pages*(), or
pin_user_pages*().  However, the four cases do not cover all the
situations.  For example, drivers/vhost/vhost.c has a "pin, write to
page, set page dirty, unpin" case.

Add a fifth case, to help explain that there is a general pattern that
requires pin_user_pages*() API calls.

[jhubbard@nvidia.com: v2]
  Link: http://lkml.kernel.org/r/20200601052633.853874-2-jhubbard@nvidia.com

Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Jan Kara <jack@suse.cz>
Cc: Jérôme Glisse <jglisse@redhat.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Souptick Joarder <jrdr.linux@gmail.com>
Cc: "Michael S . Tsirkin" <mst@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Link: http://lkml.kernel.org/r/20200529234309.484480-1-jhubbard@nvidia.com
Link: http://lkml.kernel.org/r/20200529234309.484480-2-jhubbard@nvidia.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-08 11:05:57 -07:00
arch mm/gup.c: convert to use get_user_{page|pages}_fast_only() 2020-06-08 11:05:56 -07:00
block
certs
crypto
Documentation docs: mm/gup: pin_user_pages.rst: add a "case 5" 2020-06-08 11:05:57 -07:00
drivers Char/Misc driver patches for 5.8-rc1 2020-06-07 10:59:32 -07:00
fs kernel/watchdog.c: convert {soft/hard}lockup boot parameters to sysctl aliases 2020-06-08 11:05:56 -07:00
include mm/gup: introduce pin_user_pages_locked() 2020-06-08 11:05:56 -07:00
init kernel/sysctl: support setting sysctl parameters from kernel command line 2020-06-08 11:05:56 -07:00
ipc ipc/namespace.c: use a work queue to free_ipc 2020-06-08 11:05:56 -07:00
kernel mm/gup.c: convert to use get_user_{page|pages}_fast_only() 2020-06-08 11:05:56 -07:00
lib lib/test_sysctl: support testing of sysctl. boot parameter 2020-06-08 11:05:56 -07:00
LICENSES
mm mm/gup: documentation fix for pin_user_pages*() APIs 2020-06-08 11:05:56 -07:00
net Kbuild updates for v5.8 2020-06-06 12:00:25 -07:00
samples Kbuild updates for v5.8 2020-06-06 12:00:25 -07:00
scripts Fix for arch/sh build regression with newer binutils, removal of SH5, 2020-06-06 15:22:01 -07:00
security
sound
tools lib/test_sysctl: support testing of sysctl. boot parameter 2020-06-08 11:05:56 -07:00
usr
virt mm/gup.c: convert to use get_user_{page|pages}_fast_only() 2020-06-08 11:05:56 -07:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Staging/IIO driver patches for 5.8-rc1 2020-06-07 10:45:08 -07:00
Makefile Kbuild updates for v5.8 2020-06-06 12:00:25 -07:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.