Re: swsusp performance problems in 2.6.15-rc3-mm1

From: Pavel Machek
Date: Wed Dec 07 2005 - 06:29:48 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,
>
> No, it's not.
>
> Let me explain what I have in mind.
>
> For starters, please observe that the addresses we use are page-aligned,
> so the least significant bit is always zero. Thus it can be used as a marker.
>
> Now before we save the image we can mark blank pages by setting
> the least significant bit of .orig_address to 1 in the coresponding PBEs.
> We save the "marked" .orig_address values to the image.

Well, nice optimalization, but how many pages are actually full of
zeros? Above has advantage of working with any "clean" pages -- like
text pages of /bin/bash etc. And if done right it will not be
intrusive...

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/