Re: [PATCH] Remove process freezer from suspend to RAM pathway

From: Nigel Cunningham
Date: Fri Jul 06 2007 - 00:03:25 EST


Hi.

On Friday 06 July 2007 13:54:15 Benjamin Herrenschmidt wrote:
> On Fri, 2007-07-06 at 09:35 +1000, Nigel Cunningham wrote:
> >
> > Nice try :) Okay then, you remove the freezer, try hibernating, then get
back
> > to me after you've fixed your filesystem because some process that wasn't
> > frozen started writing things after the atomic copy (making the on disk
> > filesystem inconsistent with the snapshot).
> >
> > As Pavel rightly said, you can get rid of the freezer, but you're only
going
> > to have to implement another one that does the essentially the same thing,
> > even if it is at some other level.
>
> I was mostly talking about STR... Regarding STD, we have a different
> problem and we all know it. The freezer is one somewhat horrible way to
> get it working for now, I would prefer something more along the way that
> blocks the page cache from writing out new dirty pages though, except
> those specifically flagged by the snapshot.
>
> That is, some kind of proper snapshotting facility, as linus was
> describing some time ago.

The kind of thing Linus was talking about would limit you (as swsusp and
uswsusp do now) to only half the amount of memory. I suppose you could lzf
compress as you did the snapshot. That would generally get you up to 2/3rds,
but then again you can't know what compression ratio you'll get until you
try, so reliability would suffer or it would take longer because of retrying.

I/O from swsusp and suspend2 use bios directly, so the page cache isn't an
issue for them (apart from the fact that Suspend2 saves the page cache
separately so it can get a full image). Not sure about uswsusp.

Only having half the amount of memory doesn't sound like a big limitation for
modern desktops & laptops, but don't forget that there are embedded guys
wanting to hbernate too :)

Regards,

Nigel
--
Nigel Cunningham
Christian Reformed Church of Cobden
103 Curdie Street, Cobden 3266, Victoria, Australia
Ph. +61 3 5595 1185 / +61 417 100 574
Communal Worship: 11 am Sunday.

Attachment: pgp00000.pgp
Description: PGP signature