[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201110132326.02041.rjw@sisk.pl>
Date: Thu, 13 Oct 2011 23:26:01 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: "Bojan Smojver" <bojan@...ursive.com>
Cc: linux-kernel@...r.kernel.org,
Linux PM list <linux-pm@...r.kernel.org>
Subject: Re: [PATCH v8]: Improve performance of LZO/plain hibernation
On Thursday, October 13, 2011, Bojan Smojver wrote:
> ------- Original message -------
> > From: Rafael J. Wysocki
>
> >> I get a kernel panic on a test box using a x86_64 kernel with this patch
> >> applied.
> >
> > The panic happens during late resume, when trying to switch to the
> > hibernated
> > kernel.
>
> In an effort to test this whole thing a bit more, I took today's kernel
> from Linus' repo and applied v11 of my patch. I compiled this on a single
> cpu machine this time, with 768 MB of memory (in today's terms, this laptop
> would not pass as a smartphone :-), running F-16 beta.. The system has
> radeon graphics (my other system, where I initially developed the patch,
> has intel). Also, this was a 32-bit box, as opposed to my other system,
> which is 64-bit.
>
> I was getting kernel trouble on repeated hibernate/thaw cycles on both
> systems when KMS was enabled. With nomodeset passed into the kernel, both
> systems would go through 50+ cycles (this was my test loop) with no
> trouble. Whether my patch was applied or not didn't matter - I was getting
> trouble with Fedora supplied kernels as well, after a few cycles.
>
> So, I don't know for sure, but it seems to me something is amiss in KMS
> when it comes to hibernation.
If your system is 64-bit, then the patch below may help.
Thanks,
Rafael
---
arch/x86/mm/init.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux/arch/x86/mm/init.c
===================================================================
--- linux.orig/arch/x86/mm/init.c
+++ linux/arch/x86/mm/init.c
@@ -63,9 +63,9 @@ static void __init find_early_table_spac
#ifdef CONFIG_X86_32
/* for fixmap */
tables += roundup(__end_of_fixed_addresses * sizeof(pte_t), PAGE_SIZE);
+#endif
good_end = max_pfn_mapped << PAGE_SHIFT;
-#endif
base = memblock_find_in_range(start, good_end, tables, PAGE_SIZE);
if (base == MEMBLOCK_ERROR)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists