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