Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [Bug #13058] First hibernation attempt fails | Date | Mon, 20 Apr 2009 21:49:32 +0200 |
| |
On Monday 20 April 2009, Andrew Morton wrote: > On Tue, 7 Apr 2009 10:06:32 +0200 > Pavel Machek <pavel@ucw.cz> wrote: > > > > And the thing is, that "swsusp_shrink_memory()" is just full of > > > heuristics. There's no hard numbers there. It doesn't seem to wait for > > > writeout, it just does the equivalent of "shrink_list()" and > > > "shrink_slab()", but it seems to have been basically cribbed half-way > > > from the regular "try to free memory", without really doing it all. > > > > akpm designed shrink_memory(). Long time ago it was just while (1) > > kmalloc() loop. It should be waiting. Andrew? > > I always wanted the thing to just allocate all the memory which it > needed and then to either return it all to the caller or free it all > again for the caller to reallocate (preferably the former). > > But for some reason which I don't recall (Pavel provided it, iirc) that > doesn't work. So the current (and subsequently tweaked) scheme was put > in there instead. It turned out to be surprisingly difficult and ugly > to graft it in top of the existing page reclaim code, and various > changes were subsequently made to make it sort-of-work. > > Remind me: why can't we just allocate N pages at suspend-time?
Well, IMO it may be worth trying anyway.
Thanks, Rafael
| |