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

From: Peter Zijlstra
Date: Wed Jun 06 2007 - 02:21:07 EST


On Tue, 2007-06-05 at 15:39 -0700, David Rientjes wrote:
> Reverts git commit c596d9f320aaf30d28c1d793ff3a976dee1db8f5.
>
> OOM-killed tasks, marked as TIF_MEMDIE, should not be able to access
> memory outside its cpuset because it could potentially cause other
> exclusive cpusets to OOM themselves.
>
> Cc: Andi Kleen <ak@xxxxxxx>
> Cc: Christoph Lameter <clameter@xxxxxxxxxxxx>
> Cc: Paul Jackson <pj@xxxxxxx>
> Signed-off-by: David Rientjes <rientjes@xxxxxxxxxx>
> ---
> kernel/cpuset.c | 6 ------
> 1 files changed, 0 insertions(+), 6 deletions(-)
>
> diff --git a/kernel/cpuset.c b/kernel/cpuset.c
> --- a/kernel/cpuset.c
> +++ b/kernel/cpuset.c
> @@ -2431,12 +2431,6 @@ int __cpuset_zone_allowed_softwall(struct zone *z, gfp_t gfp_mask)
> might_sleep_if(!(gfp_mask & __GFP_HARDWALL));
> if (node_isset(node, current->mems_allowed))
> return 1;
> - /*
> - * Allow tasks that have access to memory reserves because they have
> - * been OOM killed to get memory anywhere.
> - */
> - if (unlikely(test_thread_flag(TIF_MEMDIE)))
> - return 1;
> if (gfp_mask & __GFP_HARDWALL) /* If hardwall request, stop here */
> return 0;
>

This seems a little pointless, since cpuset_zone_allowed_softwall() is
only effective with ALLOC_CPUSET, and the ALLOC_NO_WATERMARKS
allocations opened up by TIF_MEMDIE don't use that.

Also I agree with Christoph's reasoning; this is not for the application
but for the system. Hence the cpuset does not get violated for the
application [ something I tried to argue before, glad Christoph now
agrees with me :-) ].

-
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/