Two changes to the setting of the ALLOC_CPUSET flag in
mm/page_alloc.c:__alloc_pages()
1) A bug fix - the "ignoring mins" case should not be honoring
ALLOC_CPUSET. This case of all cases, since it is handling a
request that will free up more memory than is asked for (exiting
tasks, e.g.) should be allowed to escape cpuset constraints
when memory is tight.
2) A logic change to make it simpler. Honor cpusets even on
GFP_ATOMIC (!wait) requests. With this, cpuset confinement
applies to all requests except ALLOC_NO_WATERMARKS, so that
in a subsequent cleanup patch, I can remove the ALLOC_CPUSET
flag entirely. Since I don't know any real reason this
logic has to be either way, I am choosing the path of the
simplest code.