Re: [PATCH 03/13] mm: shmem: provide oom badness for shmem files

From: Michal Hocko
Date: Thu Jun 09 2022 - 05:18:49 EST


On Tue 31-05-22 11:59:57, Christian König wrote:
> This gives the OOM killer an additional hint which processes are
> referencing shmem files with potentially no other accounting for them.
>
> Signed-off-by: Christian König <christian.koenig@xxxxxxx>
> ---
> mm/shmem.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/mm/shmem.c b/mm/shmem.c
> index 4b2fea33158e..a4ad92a16968 100644
> --- a/mm/shmem.c
> +++ b/mm/shmem.c
> @@ -2179,6 +2179,11 @@ unsigned long shmem_get_unmapped_area(struct file *file,
> return inflated_addr;
> }
>
> +static long shmem_oom_badness(struct file *file)
> +{
> + return i_size_read(file_inode(file)) >> PAGE_SHIFT;
> +}

This doesn't really represent the in memory size of the file, does it?
Also the memcg oom handling could be considerably skewed if the file was
shared between more memcgs.

--
Michal Hocko
SUSE Labs