| From: Andrii Nakryiko <andrii@kernel.org> |
| Subject: docs/procfs: call out ioctl()-based PROCMAP_QUERY command existence |
| Date: Thu, 27 Jun 2024 10:08:56 -0700 |
| |
| Call out PROCMAP_QUERY ioctl() existence in the section describing |
| /proc/PID/maps file in documentation. We refer user to UAPI header for |
| low-level details of this programmatic interface. |
| |
| Link: https://lkml.kernel.org/r/20240627170900.1672542-5-andrii@kernel.org |
| Signed-off-by: Andrii Nakryiko <andrii@kernel.org> |
| Acked-by: Liam R. Howlett <Liam.Howlett@Oracle.com> |
| Cc: Alexey Dobriyan <adobriyan@gmail.com> |
| Cc: Al Viro <viro@zeniv.linux.org.uk> |
| Cc: Christian Brauner <brauner@kernel.org> |
| Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Cc: Mike Rapoport (IBM) <rppt@kernel.org> |
| Cc: Suren Baghdasaryan <surenb@google.com> |
| Cc: Andi Kleen <ak@linux.intel.com> |
| Cc: Arnd Bergmann <arnd@arndb.de> |
| Cc: Stephen Rothwell <sfr@canb.auug.org.au> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| Documentation/filesystems/proc.rst | 9 +++++++++ |
| 1 file changed, 9 insertions(+) |
| |
| --- a/Documentation/filesystems/proc.rst~docs-procfs-call-out-ioctl-based-procmap_query-command-existence |
| +++ a/Documentation/filesystems/proc.rst |
| @@ -443,6 +443,15 @@ is not associated with a file: |
| |
| or if empty, the mapping is anonymous. |
| |
| +Starting with 6.11 kernel, /proc/PID/maps provides an alternative |
| +ioctl()-based API that gives ability to flexibly and efficiently query and |
| +filter individual VMAs. This interface is binary and is meant for more |
| +efficient and easy programmatic use. `struct procmap_query`, defined in |
| +linux/fs.h UAPI header, serves as an input/output argument to the |
| +`PROCMAP_QUERY` ioctl() command. See comments in linus/fs.h UAPI header for |
| +details on query semantics, supported flags, data returned, and general API |
| +usage information. |
| + |
| The /proc/PID/smaps is an extension based on maps, showing the memory |
| consumption for each of the process's mappings. For each mapping (aka Virtual |
| Memory Area, or VMA) there is a series of lines such as the following:: |
| _ |