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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/21/23 7:15 PM, Muhammad Usama Anjum wrote:
> The PAGEMAP_SCAN IOCTL on the pagemap file can be used to get or optionally
> clear the info about page table entries. The following operations are
> supported in this IOCTL:
> - Scan the address range and get the memory ranges matching the provided
>   criteria. This is performed when the output buffer is specified.
> - Write-protect the pages. The PM_SCAN_WP_MATCHING is used to write-protect
>   the pages of interest. The PM_SCAN_CHECK_WPASYNC aborts the operation if
>   non-Async Write Protected pages are found. The ``PM_SCAN_WP_MATCHING``
>   can be used with or without PM_SCAN_CHECK_WPASYNC.
> - Both of those operations can be combined into one atomic operation where
>   we can get and write protect the pages as well.
> 
> Following flags about pages are currently supported:
> - PAGE_IS_WPALLOWED - Page has async-write-protection enabled
> - PAGE_IS_WRITTEN - Page has been written to from the time it was write protected
> - PAGE_IS_FILE - Page is file backed
> - PAGE_IS_PRESENT - Page is present in the memory
> - PAGE_IS_SWAPPED - Page is in swapped
> - PAGE_IS_PFNZERO - Page has zero PFN
> - PAGE_IS_HUGE - Page is THP or Hugetlb backed
> 
> This IOCTL can be extended to get information about more PTE bits. The
> entire address range passed by user [start, end) is scanned until either
> the user provided buffer is full or max_pages have been found.
> 
> Reviewed-by: Andrei Vagin <avagin@xxxxxxxxx>
> Reviewed-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
> Signed-off-by: Michał Mirosław <mirq-linux@xxxxxxxxxxxx>
> Signed-off-by: Muhammad Usama Anjum <usama.anjum@xxxxxxxxxxxxx>
Now we have the reviewed-by tags as well. The reviewers are happy with
current version. Can you please have a look and possibly pick these up?

-- 
BR,
Muhammad Usama Anjum




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux