On 7/27/23 4:46 PM, Michał Mirosław wrote:
On Thu, 27 Jul 2023 at 11:37, Muhammad Usama Anjum usama.anjum@collabora.com 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."
I'll update comment.
(To make the userspace life easier, we can copy `end` (only) in case of full scan completion, so that the tag is retained.)
Lets be consist and not copy tag from end to walk_end as we'll now know about tag every time. It should be the responsibility of the user to deal with it.
- @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
- */