Thread (12 messages) 12 messages, 5 authors, 2021-01-28

Re: [PATCH] procfs/dmabuf: Add /proc/<pid>/task/<tid>/dmabuf_fds

From: Michal Hocko <mhocko@suse.com>
Date: 2021-01-27 11:06:43
Also in: dri-devel, linux-api, linux-doc, linux-fsdevel, lkml

On Wed 27-01-21 11:53:55, Christian König wrote:
[...]
In general processes are currently not held accountable for memory they
reference through their file descriptors. DMA-buf is just one special case.
True
In other words you can currently do something like this

fd = memfd_create("test", 0);
while (1)
    write(fd, buf, 1024);

and the OOM killer will terminate random processes, but never the one
holding the memfd reference.
memfd is just shmem under cover, no? And that means that the memory gets
accounted to MM_SHMEMPAGES. But you are right that this in its own
doesn't help much if the fd is shared and the memory stays behind a
killed victim.

But I do agree with you that there are resources which are bound to a
process life time but the oom killer has no idea about those as they are
not accounted on a per process level and/or oom_badness doesn't take
them into consideration.
-- 
Michal Hocko
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help