From: Matt Helsley <matthltc@us.ibm.com>
To: "Rafael J. Wysocki" <rjw@sisk.pl>
Cc: pm list <linux-pm@lists.linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Wu Fengguang <fengguang.wu@intel.com>,
LKML <linux-kernel@vger.kernel.org>
Subject: Re: [linux-pm] [RFC][PATCH 1/5] PM/Freezer: Disable OOM killer whentasks are frozen
Date: Wed, 6 May 2009 17:36:03 -0700 [thread overview]
Message-ID: <20090507003603.GD17680@us.ibm.com> (raw)
In-Reply-To: <200905070041.04787.rjw@sisk.pl>
On Thu, May 07, 2009 at 12:41:04AM +0200, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rjw@sisk.pl>
>
> The OOM killer is not really going to work while tasks are frozen, so
> we can just give up calling it in that case.
>
> This will allow us to safely use memory allocations for decreasing
> the number of saveable pages in the hibernation core code instead of
> using any artificial memory shriking mechanisms for this purpose.
>
> Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
> ---
> include/linux/freezer.h | 2 ++
> kernel/power/process.c | 12 ++++++++++++
> mm/page_alloc.c | 5 +++++
> 3 files changed, 19 insertions(+)
>
> Index: linux-2.6/kernel/power/process.c
> ===================================================================
> --- linux-2.6.orig/kernel/power/process.c
> +++ linux-2.6/kernel/power/process.c
> @@ -19,6 +19,8 @@
> */
> #define TIMEOUT (20 * HZ)
>
> +static bool tasks_frozen;
> +
> static inline int freezeable(struct task_struct * p)
> {
> if ((p == current) ||
> @@ -120,6 +122,10 @@ int freeze_processes(void)
> Exit:
> BUG_ON(in_atomic());
> printk("\n");
> +
> + if (!error)
> + tasks_frozen = true;
> +
It's not really about whether some tasks are frozen -- that can
happen using the cgroup freezer too. The flag really indicates if
all killable tasks are frozen. That can't happen using the cgroup
freezer since the root cgroup can't be frozen. So I think some name changes
are in order but otherwise the patch looks fine.
Cheers,
-Matt Helsley
next prev parent reply other threads:[~2009-05-07 1:00 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-06 22:40 [RFC][PATCH 0/5] PM/Hibernate: Rework memory shrinking Rafael J. Wysocki
2009-05-06 22:41 ` [RFC][PATCH 1/5] PM/Freezer: Disable OOM killer when tasks are frozen Rafael J. Wysocki
2009-05-06 23:00 ` Nigel Cunningham
2009-05-07 12:10 ` Rafael J. Wysocki
2009-05-07 0:36 ` Matt Helsley [this message]
2009-05-07 12:09 ` [linux-pm] [RFC][PATCH 1/5] PM/Freezer: Disable OOM killer whentasks " Rafael J. Wysocki
2009-05-06 22:42 ` [RFC][PATCH 2/5] PM/Suspend: Do not shrink memory before suspend Rafael J. Wysocki
2009-05-06 23:01 ` Nigel Cunningham
2009-05-06 22:42 ` [RFC][PATCH 3/5] PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) Rafael J. Wysocki
2009-05-06 22:44 ` [RFC][PATCH 4/5] PM/Hibernate: Rework shrinking of memory Rafael J. Wysocki
2009-05-06 23:27 ` Nigel Cunningham
2009-05-07 12:18 ` Rafael J. Wysocki
2009-05-07 20:00 ` Rafael J. Wysocki
2009-05-07 20:53 ` Nigel Cunningham
2009-05-07 20:51 ` Nigel Cunningham
2009-05-06 22:48 ` [RFC][PATCH 5/5] PM/Hibernate: Do not release preallocated memory unnecessarily Rafael J. Wysocki
2009-05-07 21:48 ` [RFC][PATCH 0/5] PM/Hibernate: Rework memory shrinking (rev. 2) Rafael J. Wysocki
2009-05-07 21:50 ` [RFC][PATCH 1/5] mm: Introduce __GFP_NO_OOM_KILL Rafael J. Wysocki
2009-05-07 22:24 ` [RFC][PATCH] PM/Freezer: Disable OOM killer when tasks are frozen (was: Re: [RFC][PATCH 1/5] mm: Introduce __GFP_NO_OOM_KILL) Rafael J. Wysocki
2009-05-07 21:51 ` [RFC][PATCH 2/5] PM/Suspend: Do not shrink memory before suspend Rafael J. Wysocki
2009-05-08 8:52 ` Wu Fengguang
2009-05-07 21:51 ` [RFC][PATCH 3/5] PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) Rafael J. Wysocki
2009-05-08 8:53 ` Wu Fengguang
2009-05-07 21:53 ` [RFC][PATCH 4/5] PM/Hibernate: Rework shrinking of memory Rafael J. Wysocki
2009-05-07 21:55 ` [RFC][PATCH 5/5] PM/Hibernate: Do not release preallocated memory unnecessarily Rafael J. Wysocki
2009-05-10 13:48 ` [RFC][PATCH 0/6] PM/Hibernate: Rework memory shrinking (rev. 3) Rafael J. Wysocki
2009-05-10 13:50 ` [RFC][PATCH 1/6] mm: Introduce __GFP_NO_OOM_KILL Rafael J. Wysocki
2009-05-11 20:12 ` David Rientjes
2009-05-11 22:14 ` Rafael J. Wysocki
2009-05-11 22:33 ` Andrew Morton
2009-05-11 23:04 ` Rafael J. Wysocki
2009-05-10 13:50 ` [RFC][PATCH 2/6] PM/Suspend: Do not shrink memory before suspend Rafael J. Wysocki
2009-05-10 13:51 ` [RFC][PATCH 3/6] PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) Rafael J. Wysocki
2009-05-10 13:53 ` [RFC][PATCH 4/6] PM/Hibernate: Rework shrinking of memory Rafael J. Wysocki
2009-05-10 13:57 ` [RFC][PATCH 5/6] PM/Hibernate: Do not release preallocated memory unnecessarily Rafael J. Wysocki
2009-05-10 19:49 ` Rafael J. Wysocki
2009-05-10 14:12 ` [RFC][PATCH 6/6] PM/Hibernate: Estimate hard core working set size Rafael J. Wysocki
2009-05-10 19:53 ` Rafael J. Wysocki
2009-05-13 8:32 ` [RFC][PATCH 0/6] PM/Hibernate: Rework memory shrinking (rev. 4) Rafael J. Wysocki
2009-05-13 8:34 ` [PATCH 1/6] PM/Suspend: Do not shrink memory before suspend Rafael J. Wysocki
2009-05-13 8:35 ` [PATCH 2/6] PM/Hibernate: Move memory shrinking to snapshot.c (rev. 2) Rafael J. Wysocki
2009-05-13 8:37 ` [PATCH 3/6] mm, PM/Freezer: Disable OOM killer when tasks are frozen Rafael J. Wysocki
2009-05-13 9:19 ` Pavel Machek
2009-05-13 22:35 ` David Rientjes
2009-05-13 22:47 ` Andrew Morton
2009-05-13 23:01 ` David Rientjes
2009-05-13 8:39 ` [PATCH 4/6] PM/Hibernate: Rework shrinking of memory Rafael J. Wysocki
2009-05-13 19:34 ` Andrew Morton
2009-05-13 20:55 ` Rafael J. Wysocki
2009-05-13 21:16 ` Andrew Morton
2009-05-13 21:56 ` Rafael J. Wysocki
2009-05-14 9:40 ` Pavel Machek
2009-05-14 17:49 ` Rafael J. Wysocki
2009-05-15 13:09 ` Pavel Machek
2009-05-14 18:26 ` Rafael J. Wysocki
2009-05-13 8:40 ` [PATCH 5/6] PM/Hibernate: Do not release preallocated memory unnecessarily (rev. 2) Rafael J. Wysocki
2009-05-14 11:09 ` Pavel Machek
2009-05-14 17:52 ` Rafael J. Wysocki
2009-05-15 13:11 ` Pavel Machek
2009-05-15 14:52 ` Rafael J. Wysocki
2009-05-13 8:42 ` [RFC][PATCH 6/6] PM/Hibernate: Do not try to allocate too much memory too hard Rafael J. Wysocki
2009-05-14 11:14 ` Pavel Machek
2009-05-14 17:59 ` Rafael J. Wysocki
2009-05-15 13:14 ` Pavel Machek
2009-05-15 14:40 ` Rafael J. Wysocki
2009-05-17 12:06 ` Wu Fengguang
2009-05-17 12:55 ` Rafael J. Wysocki
2009-05-17 14:07 ` Wu Fengguang
2009-05-17 16:53 ` Rafael J. Wysocki
2009-05-18 8:32 ` Wu Fengguang
2009-05-17 21:14 ` Rafael J. Wysocki
2009-05-18 8:56 ` Wu Fengguang
2009-05-18 17:07 ` Rafael J. Wysocki
2009-05-19 0:47 ` Wu Fengguang
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=20090507003603.GD17680@us.ibm.com \
--to=matthltc@us.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=fengguang.wu@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@lists.linux-foundation.org \
--cc=rjw@sisk.pl \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox