Re: [PATCH v26 2/5] fs/proc/task_mmu: Implement IOCTL to get and optionally clear info about PTEs

From: Michał Mirosław
Date: Thu Jul 27 2023 - 07:47:16 EST


On Thu, 27 Jul 2023 at 11:37, Muhammad Usama Anjum
<usama.anjum@xxxxxxxxxxxxx> wrote:
[...]
> --- a/include/uapi/linux/fs.h
> +++ b/include/uapi/linux/fs.h
[...]
> +/*
> + * struct pm_scan_arg - Pagemap ioctl argument
> + * @size: Size of the structure
> + * @flags: Flags for the IOCTL
> + * @start: Starting address of the region
> + * @end: Ending address of the region
> + * @walk_end: Ending address of the visited memory is returned
> + * (This helps if entire range hasn't been visited)

"Address where the scan stopped (written by kernel). walk_end == end
informs that the scan completed."

(To make the userspace life easier, we can copy `end` (only) in case
of full scan completion, so that the tag is retained.)

> + * @vec: Address of page_region struct array for output
> + * @vec_len: Length of the page_region struct array
> + * @max_pages: Optional limit for number of returned pages (0 = disabled)
> + * @category_inverted: PAGE_IS_* categories which values match if 0 instead of 1
> + * @category_mask: Skip pages for which any category doesn't match
> + * @category_anyof_mask: Skip pages for which no category matches
> + * @return_mask: PAGE_IS_* categories that are to be reported in `page_region`s returned
> + */