Re: swsusp performance problems in 2.6.15-rc3-mm1

From: Pavel Machek
Date: Tue Dec 06 2005 - 20:09:56 EST


Hi!

> > I'm suggesting that rather than writing the clean pages out to the
> > image, simply make their metadata available to a post-resume userland
> > helper. Something like
> >
> > % head -2 /dev/swsusp-helper
> > /bin/sh 105-115 192 199-259
> > /lib/libc-2.3.2.so 1-250
> >
> > where the userland program is expected to use the list of page numbers
> > (and getpagesize(2)) to asynchronously page in the working set in an
> > ionice'd manner.
>
> The helper is not necessary, I think.

Actually, I like the helper. It is safest solution, and list of cached
pages in memory is going to be usefull for other stuff, too.

Imagine:

cat /dev/give-me-list-of-pages-in-page-cache > /tmp/delme.suspend
echo disk > /sys/power/state
nice ( cat /tmp/delme.suspend | read-those-pages-back ) &

Result is quite obviously safe (unless you mess up locking while
dumping pagecache), and it is going to be rather easy to test. Just
load the system as much as you can while doing

while true; do cat /dev/give-me-list-of-pages-in-page-cache >
/dev/null; done

. Still, limiting image size to 500MB is probably easier solution. I'm
looking forward to that page.
Pavel
--
Thanks, Sharp!
-
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/