Re: [PATCH][3/3] mm: swsusp post resume aggressive swap prefetch

From: Rafael J. Wysocki
Date: Tue Mar 21 2006 - 13:09:38 EST


On Tuesday 21 March 2006 01:44, kernel@xxxxxxxxxxx wrote:
> Quoting "Rafael J. Wysocki" <rjw@xxxxxxx>:
> > Sorry, I was wrong. After resume the image pages in the swap are visible as
> > free, because we allocate them after we have created the image (ie. the
> > image
> > contains the system state in which these pages are free).
> >
> > Well, this means I really don't know what happens and what causes the
> > slowdown. It certainly is related to the aggressive prefetch hook in
> > swsusp_suspend(). [It seems to search the whole swap, but it doesn't
> > actually prefetch anything. Strange.]
>
> Are you looking at swap still in use? Swap prefetch keeps a copy of prefetched
> pages on backing store as well as in ram so the swap space will not be freed on
> prefetching.

It looks like I have to debug it a bit more. Unfortunately I've been having
a lot of work to do recently, so it'll take some time.

> > > If so, is there a way to differentiate the two so we only aggressively
> > > prefetch on kernel resume - is that what you meant by doing it in the
> > > other file?
> >
> > Basically, yes. swsusp.c and snapshot.c contain common functions,
> > disk.c and swap.c contain the code used by the built-in swsusp only,
> > and user.c contains the userland interface. If you want something to
> > be run by the built-in swsusp only, place it in disk.c.
> >
> > Still in this particular case it won't matter, I'm afraid.
>
> I don't understand what you mean by it won't matter?

Well, sorry. Of course it will matter. What I wanted to say is that in this case
tbe built-in swsusp would be affected as well as the userland suspend, because
the hook was in a function used by both.

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