Re: [PATCH 2/2] Documentation/filesystems/proc.rst: document procfs inode timestamps

From: Randy Dunlap
Date: Fri Jul 22 2022 - 15:56:31 EST


Hi--

On 7/22/22 09:29, Luis Chamberlain wrote:
> The timestamps for procfs files are not well understood and can
> confuse users and developers [0] in particular for the timestamp
> for the start time or a process. Clarify what they mean and that
> they are a reflection of the ephemeral nature of the filesystem
> inodes.
>
> The procfs inodes are created when you first read them and then
> stuffed in the page cache. If the page cache and indodes are
> reclaimed they can be removed, and re-created with a new timestamp
> after read again. Document this little bit of tribal knowledge.
>
> [0] https://lkml.kernel.org/r/20220721081617.36103-1-zhangyuchen.lcr@xxxxxxxxxxxxx
> Reported-by: Zhang Yuchen <zhangyuchen.lcr@xxxxxxxxxxxxx>
> Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx>
> ---
> Documentation/filesystems/proc.rst | 16 ++++++++++++++++
> 1 file changed, 16 insertions(+)
>
> diff --git a/Documentation/filesystems/proc.rst b/Documentation/filesystems/proc.rst
> index 9fd5249f1a5f..9defe9af683a 100644
> --- a/Documentation/filesystems/proc.rst
> +++ b/Documentation/filesystems/proc.rst
> @@ -59,6 +59,15 @@ The proc file system acts as an interface to internal data structures in the
> kernel. It can be used to obtain information about the system and to change
> certain kernel parameters at runtime (sysctl).
>
> +The proc files are dynamic in nature and allow for developers to make the

Awkward. How about:

The proc files are dynamic and allow for the content to be changed each time
a file is read.

> +content to be changed each time a file is read. The proc files and directories

The proc files and directory

> +inodes are created when someone first reads a respective proc file or directory,
> +as such the timestamps of the proc files reflect this time. As with other
> +filesystems, these proc inodes can be removed through reclaim under memory
> +pressure and so the timestamps of the proc files can change if the proc files
> +are destroyed and re-created (echo 3 > /proc/sys/vm/drop_caches forces and
> +illustrate the reclaim of inodes and page cache).
> +
> First, we'll take a look at the read-only parts of /proc. In Chapter 2, we
> show you how you can use /proc/sys to change settings.

Thanks.
--
~Randy