Re: swsusp: how much memory to free? [was Re: swsusp performance problems in 2.6.15-rc3-mm1]

From: Rafael J. Wysocki
Date: Wed Dec 07 2005 - 07:18:23 EST


Hi,

On Wednesday, 7 December 2005 12:59, Pavel Machek wrote:
> > > > OTOH, we can get similar result by just making the kernel free some
> > > > more memory _after_ we are sure we have enough memory to suspend.
> > > > IOW, after the code that's currently in swsusp_shrink_memory() has finished,
> > > > we can try to free some "extra" memory to improve performance, if
> > > > needed. The question is how much "extra" memory should be freed and
> > > > I'm afraid it will have to be tuned on the per-system, or at least
> > > > per-RAM-size, basis.
> > >
> > > I'd prefer not to have extra tunables. "Write only 500MB" will work
> > > okay for common desktop users -- as long as common desktop fits into
> > > 500MB, that is. "Free not used in last 10 minutes" should work okay
> > > for everyone, but may be slightly harder to implement.
> >
> > Still, it can be done with a fairly small patch that has an additional
> > advantage, as it allows us to get rid of the FAST_FREE constant
> > which I don't like. Appended (untested).
>
> Looks good to me.
>
> > Index: linux-2.6.15-rc5-mm1/kernel/power/swsusp.c
> > ===================================================================
> > --- linux-2.6.15-rc5-mm1.orig/kernel/power/swsusp.c 2005-12-05 22:07:12.000000000 +0100
> > +++ linux-2.6.15-rc5-mm1/kernel/power/swsusp.c 2005-12-07 12:40:27.000000000 +0100
> > @@ -626,6 +626,7 @@
> >
> > int swsusp_shrink_memory(void)
> > {
> > + unsigned long size;
> > long tmp;
>
> Perhaps both should be long, or both unsigned long?

tmp has to be signed. Both can be long, though.

Should I test it and post for merging?

Rafael


--
Beer is proof that God loves us and wants us to be happy - Benjamin Franklin
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/