Re: [PATCH v3 0/1] Documenting shmem as an exception case for the pagemap
From: Jonathan Corbet
Date: Mon Sep 27 2021 - 13:44:48 EST
Tiberiu A Georgescu <tiberiu.georgescu@xxxxxxxxxxx> writes:
> This patch follows the discussions on previous documentation patch threads
> [1][2]. It presents the exception case of shared memory management from the
> pagemap's point of view. It briefly describes what is missing, why it is
> missing and alternatives to the pagemap for page info retrieval in user
> space.
>
> In short, the kernel does not keep track of PTEs for swapped out shared
> pages within the processes that references them. Thus, the proc/pid/pagemap
> tool cannot print the swap destination of the shared memory pages, instead
> setting the pagemap entry to zero for both non-allocated and swapped out
> pages. This can create confusion for users who need information on swapped
> out pages.
>
> The reasons why maintaining the PTEs of all swapped out shared pages among
> all processes while maintaining similar performance is not a trivial task,
> or a desirable change, have been discussed extensively [1][3][4][5]. There
> are also arguments for why this arguably missing information should
> eventually be exposed to the user in either a future pagemap patch, or by
> an alternative tool.
>
> [1]: https://marc.info/?m=162878395426774
> [2]: https://lore.kernel.org/lkml/20210920164931.175411-1-tiberiu.georgescu@xxxxxxxxxxx/
> [3]: https://lore.kernel.org/lkml/20210730160826.63785-1-tiberiu.georgescu@xxxxxxxxxxx/
> [4]: https://lore.kernel.org/lkml/20210807032521.7591-1-peterx@xxxxxxxxxx/
> [5]: https://lore.kernel.org/lkml/20210715201651.212134-1-peterx@xxxxxxxxxx/
>
> Tiberiu A Georgescu (1):
> Documentation: update pagemap with shmem exceptions
>
> Documentation/admin-guide/mm/pagemap.rst | 22 ++++++++++++++++++++++
> 1 file changed, 22 insertions(+)
Applied, thanks.
jon