Re: [patch] cpusets: do not allow TIF_MEMDIE tasks to allocateglobally

From: David Rientjes
Date: Tue Jun 05 2007 - 19:45:20 EST


On Tue, 5 Jun 2007, Christoph Lameter wrote:

> But with the patch the process would be able to terminate. There is no
> global OOM situation. If there would be a global OOM situation then
> TIF_MEMDIE would not help.
>

Sure it would, it would have access to memory reserves because of the
change in watermarks through get_page_from_freelist().

If that fails, we can't allocate elsewhere because then we have taken
exclusive memory from other applications and is contrary to the definition
of mem_exclusive. You need to construct your cpuset hierarchy with these
scenarios in mind; when you ask for an exclusive cpuset, it shouldn't come
with a disclaimer that says "if another cpuset that is also exclusive
happens to OOM, we'll steal your memory anyway and it's not our problem if
the dying task gets stuck in D state and doesn't exit synchronously or
reliably because all we did was send it a SIGKILL."

> So its seems that the patch is addressing an imagined situation?
>

No, it's returning us to the previous logic where an exclusive cpuset was
actually exclusive.

And, again, without this change it is possible to allocate in other
exclusive cpusets without first exhausting your own memory reserves.
That's wrong.

David
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/