lkml.org 
[lkml]   [2007]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [patch] cpusets: do not allow TIF_MEMDIE tasks to allocate globally
From
Date
On Wed, 2007-06-06 at 00:48 -0700, David Rientjes wrote:
> On Wed, 6 Jun 2007, Paul Jackson wrote:
>
> > Seems like that mlock code is able then to get great globs of memory
> > without returning to user space ... perhaps that's where the fix
> > should be ... that code should quit chewing up memory if it's
> > marked MEMDIE or some such?
> >
>
> That's one case. Are there others?
>
> The TIF_MEMDIE exception in cpuset_zone_allowed_softwall() allowed this
> problem in mlock(). If it had not been allowed to allocate anywhere
> based simply on the zonelist ordering, the mlock iteration would break
> because it could not handle the fault.
>
> Thus, at the least, we should make sure that memory is not allocated
> outside of a task's mems_allowed unless we do sanity checks against
> gfp_mask in the TIF_MEMDIE case via cpuset_zone_allowed_softwall() to make
> sure a rouge application doesn't cause the same trouble. That is, unless
> you can guarantee this type of problem will not happen again through any
> other means. The logic needs to be with the TIF_MEMDIE exception to grant
> access to memory outside the cpuset only when it is relevant to the OOM
> killed task's prompt exit.

I don't think your patch alone would have been sufficient. With it it
would have depleted the local reserves and then jumped onwards to other
nodes (since the ALLOC_NO_WATERMARKS allocation doesn't have
ALLOC_CPUSET).

Unless there was a mem-policy restricting the zonelist (not sure if
cpusets and mem-policies are independent like that)

But your point stands.

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

\
 
 \ /
  Last update: 2007-06-06 09:59    [W:0.089 / U:0.376 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site