Re: [PATCH] x86: Fix S4 regression
From: Takashi Iwai
Date: Mon Oct 24 2011 - 05:03:23 EST
At Sun, 23 Oct 2011 21:10:11 -0700,
Yinghai Lu wrote:
>
> On Sun, Oct 23, 2011 at 5:29 PM, Yinghai Lu <yinghai.lu@xxxxxxxxxx> wrote:
> > On 10/23/2011 02:19 PM, Takashi Iwai wrote:
> >
> >> The commit 4b239f458: [x86-64, mm: Put early page table high] causes
> >> a S4 regression since 2.6.39, namely the machine reboots occasionally
> >> at S4 resume. ÂIt doesn't happen always, overall rate is about 1/20.
> >> But, like other bugs, once when this happens, it continues to happen.
> >>
> >> This patch fixes the problem by essentially reverting the memory
> >> assignment in the older way.
> >>
> >> Cc: <stable@xxxxxxxxxx>
> >> Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>
> >>
> >> ---
> >> I resend this as a "fix" patch now before it's forgotten and rotten.
> >> It's just papering again over the mystery, but IMO better than the
> >> hard-reset behavior as of now. ÂUnfortunately, bisection is pretty
> >> much difficult because the bug itself is fairly unstable...
> >
> >
> >
> > Did you try to check several commit that Rafael pointed out:
> >
> >
> > On Wed, Sep 28, 2011 at 12:30 PM, Rafael J. Wysocki <rjw@xxxxxxx> wrote:
> >> On Wednesday, September 28, 2011, Takashi Iwai wrote:
> >>>
> >>> If my previous test -- 2.6.37+Yinghai's patches didn't show the
> >>> problem -- is correct, it means that some change in 2.6.38 reacted
> >>> badly with Yinghai's patches, not about 2.6.39. ÂI'll check tomorrow
> >>> again whether this observation is really correct.
> >>
> >> Yes, that would be good to know, thanks for doing this!
> >>
> >> If that turns out to be the case, there are the following commits
> >> looking like worth checking:
> >>
> >> d344e38 x86, nx: Mark the ACPI resume trampoline code as +x
> >> 884b821 ACPI: Fix acpi_os_read_memory() and acpi_os_write_memory() (v2)
> >> d551d81 ACPI / PM: Call suspend_nvs_free() earlier during resume
> >> 2d6d9fd ACPI: Introduce acpi_os_ioremap()
> >
>
> Also, can you check if reverting following patch could help?
OK, I'll try it later but in the next week, as I'll be in conferences
for the whole this week...
thanks,
Takashi
> | commit e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e
> | Author: Yinghai Lu <yinghai@xxxxxxxxxx>
> | Date: Fri Feb 18 11:30:30 2011 +0000
> |
> | x86: Cleanup highmap after brk is concluded
> |
> | Now cleanup_highmap actually is in two steps: one is early in head64.c
> | and only clears above _end; a second one is in init_memory_mapping() and
> | tries to clean from _brk_end to _end.
> | It should check if those boundaries are PMD_SIZE aligned but currently
> | does not.
> | Also init_memory_mapping() is called several times for numa or memory
> | hotplug, so we really should not handle initial kernel mappings there.
> |
> | This patch moves cleanup_highmap() down after _brk_end is settled so
> | we can do everything in one step.
> | Also we honor max_pfn_mapped in the implementation of cleanup_highmap.
>
> Thanks
>
> Yinghai Lu
>
--
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/