Re: [PATCH][mm] swsusp: limit image size

From: Rafael J. Wysocki
Date: Fri Dec 09 2005 - 17:06:26 EST


Hi,

On Friday, 9 December 2005 20:17, Pavel Machek wrote:
> > >> What happens if IMAGE_SIZE is bigger than free swap? Do we "try harder"
> > >> or do we fail?
> > >
> > > First, with swsusp the image can't be bigger than 1/2 of lowmem (1/2 of RAM
> > > on x86-64) and the too great values of IMAGE_SIZE have no effect. Still, if
> > > the amount of free swap is smaller than 1/2 of RAM and the image happens
> > > to be bigger, we will fail.
> >
> > ok. This is not nice since we might fail without any _real_ need.

That depends a good deal on how you define "real". :-)

> > Can we make this parameter userspace-tweakable, so that my userspace app
> > can do something like (pseudocode):
> >
> > echo 500 > /sys/power/swsusp/imagesize
> > echo disk > /sys/power/state
> > R=$?
> > if [ $R -eq $ENOMEM ]; then
> > echo 100 > /sys/power/swsusp/imagesize # try again
>
> You can do 'echo 0' -- as small as possible.
>
> > echo disk > /sys/power/state
> > R=$?
> > fi
> > if [ $R -ne 0 ]; then
> > pop_up_some_loud_beeping_window "suspend failed!"
> > fi
> >
> > This would at least give us a chance for a second try. I know that Pavel
> > dislikes userspace tunables, but i dislike failing suspends ;-)
>
> Can we do that when we start seeing failed suspends? I think it will
> not happen. If we have reasonably-sized swap partition, it should be
> ok.

Yes. Moreover, we can do something like that without a userspace
tunable, if we check for the free swap before we try to shrink memory.
This would take some time to implement, though, and I'd rather
like to do the userland interface first.

The tunable may be useful to people who'd like to achieve the
maximum efficiency of suspend/resume and it would be a nice
feature to have, I think, but let's say we'll try to implement it
in the future, if still needed/wanted.

Greetings,
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/