From: Pavel Machek <pavel@ucw.cz>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>,
a.p.zijlstra@chello.nl, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/3] swsusp: Do not use page flags
Date: Fri, 16 Mar 2007 00:05:41 +0100 [thread overview]
Message-ID: <20070315230541.GD20656@elf.ucw.cz> (raw)
In-Reply-To: <20070315142955.7cbe62c1.akpm@linux-foundation.org>
Hi!
> > > > On Mon, 12 Mar 2007 22:19:20 +0100 "Rafael J. Wysocki" <rjw@sisk.pl> wrote:
> > > > +int create_basic_memory_bitmaps(void)
> > > > +{
> > > > + struct memory_bitmap *bm1, *bm2;
> > > > + int error = 0;
> > > > +
> > > > + BUG_ON(forbidden_pages_map || free_pages_map);
> > > > +
> > > > + bm1 = kzalloc(sizeof(struct memory_bitmap), GFP_ATOMIC);
> > > > + if (!bm1)
> > > > + return -ENOMEM;
> > > > +
> > > > + error = memory_bm_create(bm1, GFP_ATOMIC | __GFP_COLD, PG_ANY);
> > > > + if (error)
> > > > + goto Free_first_object;
> > > > +
> > > > + bm2 = kzalloc(sizeof(struct memory_bitmap), GFP_ATOMIC);
> > > > + if (!bm2)
> > > > + goto Free_first_bitmap;
> > > > +
> > > > + error = memory_bm_create(bm2, GFP_ATOMIC | __GFP_COLD, PG_ANY);
> > > > + if (error)
> > >
> > > What is the risk that we'll go OOM here? GFP_ATOMIC is rather unreliable.
> >
> > Well, this can be called after processes (including kswapd) has been frozen.
> > We can't go to sleep at this point.
>
> So it _is_ unreliable?
We are careful to leave some memory aside for suspend... We actually
free memory at beggining of suspend, and there's some simple "add few
percent for our overhead" there.
Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
next prev parent reply other threads:[~2007-03-15 23:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-12 21:14 [PATCH 0/3] swsusp: Stop using page flags Rafael J. Wysocki
2007-03-12 21:16 ` [PATCH 1/3] swsusp: Use inline functions for changing " Rafael J. Wysocki
2007-03-12 21:19 ` [PATCH 2/3] swsusp: Do not use " Rafael J. Wysocki
2007-03-15 19:08 ` Andrew Morton
2007-03-15 21:05 ` Rafael J. Wysocki
2007-03-15 21:29 ` Andrew Morton
2007-03-15 22:19 ` Jiri Kosina
2007-03-15 22:23 ` Andrew Morton
2007-03-16 0:01 ` Rafael J. Wysocki
2007-03-15 23:05 ` Pavel Machek [this message]
2007-03-20 0:31 ` Andrew Morton
2007-03-20 13:18 ` Pavel Machek
2007-03-20 21:18 ` Rafael J. Wysocki
2007-03-20 21:20 ` [PATCH 1/5] swsusp: Use inline functions for changing " Rafael J. Wysocki
2007-03-20 21:22 ` [PATCH 2/5] swsusp: do not use " Rafael J. Wysocki
2007-03-20 21:25 ` [PATCH 3/5] mm: remove unused " Rafael J. Wysocki
2007-03-20 21:26 ` [PATCH 4/5] swsusp: fix error paths in snapshot_open Rafael J. Wysocki
2007-03-20 22:16 ` Pavel Machek
2007-03-20 22:24 ` Rafael J. Wysocki
2007-03-20 22:24 ` Pavel Machek
2007-03-20 22:52 ` Rafael J. Wysocki
2007-03-20 21:28 ` [PATCH 5/5] swsusp: Use GFP_KERNEL for creating basic data structures Rafael J. Wysocki
2007-03-20 22:17 ` Pavel Machek
2007-03-12 21:20 ` [PATCH 3/3] mm: Remove unused page flags Rafael J. Wysocki
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=20070315230541.GD20656@elf.ucw.cz \
--to=pavel@ucw.cz \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.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