Re: 2.6.9-rc2-mm1 swsusp bug report.

From: Nigel Cunningham
Date: Sat Sep 25 2004 - 06:53:28 EST


Hi.

On Sat, 2004-09-25 at 11:45, Kevin Fenzi wrote:
> Nigel> The problem isn't really that you're out of memory. Rather, the
> Nigel> memory is so fragmented that swsusp is unable to get an order 8
> Nigel> allocation in which to store its metadata. There isn't really
> Nigel> anything you can do to avoid this issue apart from eating
> Nigel> memory (which swsusp is doing anyway).
>
> Odd. I have never run into this before with either swsusp2 or
> swsusp1.

You won't run into it with suspend2 because it doesn't use high order
allocations. There might be one exception, but apart from that, all of
suspend2's data is stored in order zero allocated pages, so
fragmentation is not an issue. This is the real solution to the problem.
I had to do it this way because I aim to have suspend work without
eating any memory.

> What causes memory to be so fragmented?

Normal usage; the pattern of pages being freed and allocated inevitably
leads to fragmentation. The buddy allocator does a good job of
minimising it, but what is really needed is a run-time defragmenter. I
saw mention of this recently, but it's probably not that practical to
implement IMHO.

> Nothing can be done to prevent it?

Apart from the above, no, sorry.

Regards,

Nigel
--
Nigel Cunningham
Pastoral Worker
Christian Reformed Church of Tuggeranong
PO Box 1004, Tuggeranong, ACT 2901

Many today claim to be tolerant. True tolerance, however, can cope with others
being intolerant.

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