projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
ahci: consider SDB FIS containing spurious NCQ completions HSM violation (regenerated)
[powerpc.git]
/
mm
/
oom_kill.c
diff --git
a/mm/oom_kill.c
b/mm/oom_kill.c
index
64cf3c2
..
b278b8d
100644
(file)
--- a/
mm/oom_kill.c
+++ b/
mm/oom_kill.c
@@
-60,12
+60,6
@@
unsigned long badness(struct task_struct *p, unsigned long uptime)
return 0;
}
return 0;
}
- /*
- * swapoff can easily use up all memory, so kill those first.
- */
- if (p->flags & PF_SWAPOFF)
- return ULONG_MAX;
-
/*
* The memory size of the process is the basis for the badness.
*/
/*
* The memory size of the process is the basis for the badness.
*/
@@
-76,6
+70,12
@@
unsigned long badness(struct task_struct *p, unsigned long uptime)
*/
task_unlock(p);
*/
task_unlock(p);
+ /*
+ * swapoff can easily use up all memory, so kill those first.
+ */
+ if (p->flags & PF_SWAPOFF)
+ return ULONG_MAX;
+
/*
* Processes which fork a lot of child processes are likely
* a good choice. We add half the vmsize of the children if they
/*
* Processes which fork a lot of child processes are likely
* a good choice. We add half the vmsize of the children if they
@@
-174,7
+174,12
@@
static inline int constrained_alloc(struct zonelist *zonelist, gfp_t gfp_mask)
{
#ifdef CONFIG_NUMA
struct zone **z;
{
#ifdef CONFIG_NUMA
struct zone **z;
- nodemask_t nodes = node_online_map;
+ nodemask_t nodes;
+ int node;
+ /* node has memory ? */
+ for_each_online_node(node)
+ if (NODE_DATA(node)->node_present_pages)
+ node_set(node, nodes);
for (z = zonelist->zones; *z; z++)
if (cpuset_zone_allowed_softwall(*z, gfp_mask))
for (z = zonelist->zones; *z; z++)
if (cpuset_zone_allowed_softwall(*z, gfp_mask))