swsusp: 8-order memory allocations problem (was: Re: Fix random crashes in x86-64 swsusp)

From: Rafael J. Wysocki
Date: Fri Oct 08 2004 - 16:01:11 EST


Hi,

On Thursday 07 of October 2004 00:06, Pavel Machek wrote:
> Hi!
>
> fix_processor_context was calling functions marked __init on x86-64;
> bad idea. Maybe we should memset freed memory to zero so such bugs are
> prevented?
>
> Thanks to Rafael for keeping notifying me about this bug, and someone
> get me yet another brown paper bag.
>
> Anyway, this should fix it, please apply,
[-- snip --]

The patch apparently fixes the problem that I have reported, so thanks a lot,
Pavel. After it's been fixed, however, I often get things like that:

PM: snapshotting memory.
swsusp: critical section:
..<7>[nosave pfn
0x58b]...........................................................................
............................................swsusp: Need to copy 31927 pages
suspend: (pages needed: 31927 + 512 free: 98952)
hibernate.sh: page allocation failure. order:8, mode:0x120
Oct 8 14:15:57 albercik kernel:
Call Trace:<ffffffff8016eb2d>{__alloc_pages+749}
<ffffffff8016ebd1>{__get_free_pages+33}
<ffffffff80161a23>{suspend_prepare_image+531}
<ffffffff8026d7a7>{pci_device_suspend+71}
<ffffffff80161cb6>{swsusp_swap_check+22}
<ffffffff802ea112>{suspend_device+50}
<ffffffff80120d0c>{swsusp_arch_suspend+124}
<ffffffff801610cc>{swsusp_suspend+12}
<ffffffff8016222a>{pm_suspend_disk+90}
<ffffffff8015fe04>{enter_state+68}
<ffffffff802adc0d>{acpi_system_write_sleep+100}
<ffffffff80193914>{vfs_write+228}
<ffffffff80193a53>{sys_write+83} <ffffffff80110c72>{system_call+126}
Oct 8 14:16:05 albercik kernel:
suspend: Allocating pagedir failed.

It's sort of strange, because there were 250 meg of RAM available, out of 500,
at that time.

Anyway I was able to suspend the machine after the above one had happened (I
stopped an app occupying some memory and then the box suspended), but then I
got a spectacular crash on resume (unfortunately I was unable to save the
trace, but I'll try to reproduce it).

Greets,
RJW

--
- Would you tell me, please, which way I ought to go from here?
- That depends a good deal on where you want to get to.
-- Lewis Carroll "Alice's Adventures in Wonderland"
-
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/