Messages in this thread | | | Date | Tue, 5 Jun 2007 16:44:43 -0700 (PDT) | From | David Rientjes <> | Subject | Re: [patch] cpusets: do not allow TIF_MEMDIE tasks to allocate globally |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |