linux/Documentation/core-api
John Hubbard 1970dc6f52 mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting
Now that pages are "DMA-pinned" via pin_user_page*(), and unpinned via
unpin_user_pages*(), we need some visibility into whether all of this is
working correctly.

Add two new fields to /proc/vmstat:

    nr_foll_pin_acquired
    nr_foll_pin_released

These are documented in Documentation/core-api/pin_user_pages.rst.  They
represent the number of pages (since boot time) that have been pinned
("nr_foll_pin_acquired") and unpinned ("nr_foll_pin_released"), via
pin_user_pages*() and unpin_user_pages*().

In the absence of long-running DMA or RDMA operations that hold pages
pinned, the above two fields will normally be equal to each other.

Also: update Documentation/core-api/pin_user_pages.rst, to remove an
earlier (now confirmed untrue) claim about a performance problem with
/proc/vmstat.

Also: update Documentation/core-api/pin_user_pages.rst to rename the new
/proc/vmstat entries, to the names listed here.

Signed-off-by: John Hubbard <jhubbard@nvidia.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Jan Kara <jack@suse.cz>
Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Jérôme Glisse <jglisse@redhat.com>
Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Kravetz <mike.kravetz@oracle.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Link: http://lkml.kernel.org/r/20200211001536.1027652-9-jhubbard@nvidia.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-04-02 09:35:27 -07:00
..
assoc_array.rst
atomic_ops.rst
boot-time-mm.rst
cachetlb.rst ia64/tlb: Eradicate tlb_migrate_finish() callback 2019-04-03 10:33:04 +02:00
circular-buffers.rst doc: Remove ".vnet" from paulmck email addresses 2019-05-28 09:02:57 -07:00
cpu_hotplug.rst
debug-objects.rst
errseq.rst
genalloc.rst lib/genalloc.c: rename addr_in_gen_pool to gen_pool_has_addr 2019-12-04 19:44:13 -08:00
generic-radix-tree.rst generic radix trees 2019-03-12 10:04:02 -07:00
genericirq.rst docs: Add request_irq() documentation 2019-11-18 12:40:59 -07:00
gfp_mask-from-fs-io.rst
idr.rst
index.rst docs: move core-api/ioctl.rst to driver-api/ 2020-03-10 11:21:08 -06:00
kernel-api.rst docs/core-api: Remove possibly confusing sub-headings from Bit Operations 2019-12-04 21:20:28 +11:00
kobject.rst Documentation: kobject.txt has been moved to core-api/kobject.rst 2020-03-02 13:03:44 -07:00
librs.rst
local_ops.rst
memory-allocation.rst docs/core-api: memory-allocation: mention size helpers 2019-10-29 04:45:40 -06:00
memory-hotplug.rst
mm-api.rst docs: Catch up with the new location of get_user_pages_fast() 2019-10-07 09:09:49 -06:00
packing.rst docs: packing: move it to core-api book and adjust markups 2019-07-31 13:30:01 -06:00
padata.rst padata: update documentation 2019-12-11 16:37:02 +08:00
pin_user_pages.rst mm/gup: /proc/vmstat: pin_user_pages (FOLL_PIN) reporting 2020-04-02 09:35:27 -07:00
printk-formats.rst Here's the main documentation changes for 5.5: 2019-12-02 11:51:02 -08:00
protection-keys.rst docs: move protection-keys.rst to the core-api book 2019-06-08 13:42:12 -06:00
refcount-vs-atomic.rst docs: remove :c:func: from refcount-vs-atomic.rst 2019-10-07 09:08:56 -06:00
symbol-namespaces.rst scripts/nsdeps: support nsdeps for external module builds 2019-11-11 20:10:01 +09:00
timekeeping.rst It's been a relatively busy cycle for docs: 2019-07-09 12:34:26 -07:00
tracepoint.rst
workqueue.rst
xarray.rst XArray: Add xa_for_each_range 2020-01-17 22:33:37 -05:00