Commit c9bee9d9 authored by Tim Schmielau's avatar Tim Schmielau Committed by Linus Torvalds

[PATCH] make oom killer points unsigned long

It seems a little unsafe to me to have oom killer badness points of type
int, when all the underlying objects are unsigned long.

I can't immediately think of a case where this matters much, but e.g.  a
long-running job or daemon on a 64 bit machine might lose it's bonus
because of that.
Signed-off-by: default avatarTim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 84a9d1e2
...@@ -41,9 +41,9 @@ ...@@ -41,9 +41,9 @@
* of least surprise ... (be careful when you change it) * of least surprise ... (be careful when you change it)
*/ */
static int badness(struct task_struct *p) static unsigned long badness(struct task_struct *p)
{ {
int points, cpu_time, run_time, s; unsigned long points, cpu_time, run_time, s;
if (!p->mm) if (!p->mm)
return 0; return 0;
...@@ -108,13 +108,13 @@ static int badness(struct task_struct *p) ...@@ -108,13 +108,13 @@ static int badness(struct task_struct *p)
*/ */
static struct task_struct * select_bad_process(void) static struct task_struct * select_bad_process(void)
{ {
int maxpoints = 0; unsigned long maxpoints = 0;
struct task_struct *g, *p; struct task_struct *g, *p;
struct task_struct *chosen = NULL; struct task_struct *chosen = NULL;
do_each_thread(g, p) do_each_thread(g, p)
if (p->pid) { if (p->pid) {
int points = badness(p); unsigned long points = badness(p);
if (points > maxpoints) { if (points > maxpoints) {
chosen = p; chosen = p;
maxpoints = points; maxpoints = points;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment