Re: [PATCH]: Compress hibernation image with LZO (in-kernel)

From: Nigel Cunningham
Date: Fri Jul 30 2010 - 21:19:06 EST


Hi.

On 31/07/10 11:03, Bojan Smojver wrote:
On Sat, 2010-07-31 at 09:40 +1000, Nigel Cunningham wrote:

How about vmallocing the cmp as well? That would greatly reduce the
potential for page allocation failures while still letting you use an
order 6 area.

In save_image(), that worked. In load_image() it would cause a crash
(something about kernel not being able to satisfy paging request). So, I
just made it __get_free_pages() instead. But, yeah good point.

Keep in mind that I have absolutely no idea how kernel memory allocation
works. I'm kinda coping and pasting code and hoping it doesn't crash :-)

It should be possible to do the allocation at that point. I might see if I can take a look later on.

PS. I guess with this, read_sync can simply disappear as well.

I haven't looked at the code for a while, but it might still be needed
for the header? I know that in TuxOnIce, I need to read the first page
synchronously when bootstrapping reading the image (can't read the next
page until you know where it is, and its location is on the first page).
Since swsusp uses those index pages, I think it would have the same
issue - they would need to be read before it could read the following
pages. Of course I'm going off memory :)

I think it can go, because the header is already read/written with&bio
set to NULL (sync read). See patch to remove read_sync.

Okee doke.

By the way, please inline your patches. It makes it much easier to read and comment on them.

Oh, and I've said it privately but not publicly: great work!

Regards,

Nigel
--
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/