lkml.org 
[lkml]   [2011]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH urgent] x86: Save cr4 to mmu_cr4_features at boot time
On Fri, 1 Apr 2011, Ingo Molnar wrote:
>
> * Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
>
> > Save cr4 to mmu_cr4_features at boot time
> >
> > This patch fixes a freeze when resuming from hibernation, introduced by
> > "x86: Cleanup highmap after brk is concluded", commit id
> > e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e.
> > This patch should be backported to all the stable tree where the
> > offending commit is present.
>
> No, the offending commit should be reverted from -stable. It's not at all clear
> yet why this fix patch helps.

e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e removes cleanup_highmap_brk_end
because the initial mapping of the region between _brk_end and _end is
going to be cleared by cleanup_highmap instead.

However cleanup_highmap_brk_end was not only clearing mappings, it was
also setting mmu_cr4_features, and this bit was lost with the removal of
cleanup_highmap_brk_end.

So this fix patch restores things back to how they were before
e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e (apart from the fact that
mappings between _brk_end and _end are cleared in cleanup_highmap now).

Obviously settings mmu_cr4_features shouldn't have been done in
cleanup_highmap_brk_end, since it doesn't have anything to do with
mappings.



P.S.
I asked for a backport of e5f15b45ddf3afa2bbbb10c7ea34fb32b6de0a0e to
the stable trees because I forgot to add "CC stable@kernel.org" to the
commit message and this commit is needed to fix a critical crash on boot
on xen.


\
 
 \ /
  Last update: 2011-04-01 13:33    [W:0.098 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site