Re: [PATCH 1/1] RFC: add pidfd_send_signal flag to reclaim mm while killing a process

From: Andrew Morton
Date: Fri Nov 13 2020 - 18:56:03 EST


On Fri, 13 Nov 2020 09:34:48 -0800 Suren Baghdasaryan <surenb@xxxxxxxxxx> wrote:

> When a process is being killed it might be in an uninterruptible sleep
> which leads to an unpredictable delay in its memory reclaim. In low memory
> situations, when it's important to free up memory quickly, such delay is
> problematic. Kernel solves this problem with oom-reaper thread which
> performs memory reclaim even when the victim process is not runnable.
> Userspace currently lacks such mechanisms and the need and potential
> solutions were discussed before (see links below).
> This patch provides a mechanism to perform memory reclaim in the context
> of the process that sends SIGKILL signal. New SYNC_REAP_MM flag for
> pidfd_send_signal syscall can be used only when sending SIGKILL signal
> and will lead to the caller synchronously reclaiming the memory that
> belongs to the victim and can be easily reclaimed.

hm.

Seems to me that the ability to reap another process's memory is a
generally useful one, and that it should not be tied to delivering a
signal in this fashion.

And we do have the new process_madvise(MADV_PAGEOUT). It may need a
few changes and tweaks, but can't that be used to solve this problem?