From: Nick Piggin <npiggin@suse.de>
To: Andrew Morton <akpm@osdl.org>
Cc: Nick Piggin <npiggin@suse.de>,
Linux Memory Management <linux-mm@kvack.org>
Subject: [patch 6/9] oom: handle oom_disable exiting
Date: Fri, 28 Jul 2006 09:21:37 +0200 (CEST) [thread overview]
Message-ID: <20060515210622.30275.83981.sendpatchset@linux.site> (raw)
In-Reply-To: <20060515210529.30275.74992.sendpatchset@linux.site>
Having the oomkilladj == OOM_DISABLE check before the releasing check means
that oomkilladj == OOM_DISABLE tasks exiting will not stop the OOM killer.
Moving the test down will give the desired behaviour. Also: it will allow
them to "OOM-kill" themselves if they are exiting. As per the previous patch,
this is required to prevent OOM killer deadlocks (and they don't actually
get killed, because they're already exiting -- they're simply allowed access
to memory reserves).
Signed-off-by: Nick Piggin <npiggin@suse.de>
Index: linux-2.6/mm/oom_kill.c
===================================================================
--- linux-2.6.orig/mm/oom_kill.c
+++ linux-2.6/mm/oom_kill.c
@@ -202,8 +202,6 @@ static struct task_struct *select_bad_pr
/* skip the init task with pid == 1 */
if (p->pid == 1)
continue;
- if (p->oomkilladj == OOM_DISABLE)
- continue;
/*
* This is in the process of releasing memory so wait for it
@@ -228,6 +226,8 @@ static struct task_struct *select_bad_pr
}
return ERR_PTR(-1UL);
}
+ if (p->oomkilladj == OOM_DISABLE)
+ continue;
if (p->flags & PF_SWAPOFF)
return p;
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2006-07-28 7:21 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-07-28 7:20 [patch 0/9] oom: various fixes and improvements for 2.6.18-rc2 Nick Piggin
2006-07-28 7:20 ` [patch 1/9] oom: use unreclaimable info Nick Piggin
2006-07-28 7:21 ` [patch 2/9] oom: reclaim_mapped on oom Nick Piggin
2006-07-28 7:21 ` [patch 3/9] cpuset: oom panic fix Nick Piggin
2006-07-28 7:29 ` Nick Piggin
2006-07-28 9:06 ` Paul Jackson
2006-07-28 7:21 ` [patch 4/9] oom: cpuset hint Nick Piggin
2006-07-28 9:07 ` Paul Jackson
2006-07-28 7:21 ` [patch 5/9] oom: handle current exiting Nick Piggin
2006-07-28 7:21 ` Nick Piggin [this message]
2006-07-28 7:21 ` [patch 7/9] oom: swapoff tasks tweak Nick Piggin
2006-07-28 7:21 ` [patch 8/9] oom: kthread infinite loop fix Nick Piggin
2006-07-28 7:22 ` [patch 9/9] oom: more printk Nick Piggin
2006-07-28 7:44 ` [patch 0/9] oom: various fixes and improvements for 2.6.18-rc2 Andrew Morton
2006-07-28 9:28 ` Nick Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20060515210622.30275.83981.sendpatchset@linux.site \
--to=npiggin@suse.de \
--cc=akpm@osdl.org \
--cc=linux-mm@kvack.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.