[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070315230541.GD20656@elf.ucw.cz>
Date: Fri, 16 Mar 2007 00:05:41 +0100
From: Pavel Machek <pavel@....cz>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: "Rafael J. Wysocki" <rjw@...k.pl>, a.p.zijlstra@...llo.nl,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/3] swsusp: Do not use page flags
Hi!
> > > > On Mon, 12 Mar 2007 22:19:20 +0100 "Rafael J. Wysocki" <rjw@...k.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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists