Bug 12660 - Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad T43p
Summary: Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad T43p
Status: CLOSED CODE_FIX
Alias: None
Product: Virtualization
Classification: Unclassified
Component: kvm (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: virtualization_kvm
URL:
Keywords:
Depends on:
Blocks: 12398
  Show dependency tree
 
Reported: 2009-02-08 11:21 UTC by Rafael J. Wysocki
Modified: 2009-02-25 15:02 UTC (History)
0 users

See Also:
Kernel Version: 2.6.28.3
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Rafael J. Wysocki 2009-02-08 11:21:33 UTC
Subject    : Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad T43p
Submitter  : Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
Date       : 2009-02-04 21:11
References : http://marc.info/?l=linux-kernel&m=123378196022258&w=4
Handled-By : Ingo Molnar <mingo@elte.hu>

This entry is being used for tracking a regression from 2.6.28.  Please don't
close it until the problem is fixed in the mainline.
Comment 1 Rafael J. Wysocki 2009-02-15 06:36:34 UTC
On Sunday 15 February 2009, Mathieu Desnoyers wrote:
> * Rafael J. Wysocki (rjw@sisk.pl) wrote:
> > This message has been generated automatically as a part of a report
> > of recent regressions.
> > 
> > The following bug entry is on the current list of known regressions
> > from 2.6.28.  Please verify if it still should be listed and let me know
> > (either way).
> > 
> > 
> > Bug-Entry   : http://bugzilla.kernel.org/show_bug.cgi?id=12660
> > Subject             : Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad
> T43p
> > Submitter   : Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> > Date                : 2009-02-04 21:11 (11 days old)
> > References  : http://marc.info/?l=linux-kernel&m=123378196022258&w=4
> > Handled-By  : Ingo Molnar <mingo@elte.hu>
> > 
> 
> Yes, still applies to 2.6.28.4 and 2.6.28.5.
Comment 2 Rafael J. Wysocki 2009-02-25 15:02:30 UTC
On Tuesday 24 February 2009, Ingo Molnar wrote:
> 
> * Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> wrote:
> 
> > * Ingo Molnar (mingo@elte.hu) wrote:
> > > 
> > > * Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > > 
> > > > This message has been generated automatically as a part of a report
> > > > of recent regressions.
> > > > 
> > > > The following bug entry is on the current list of known regressions
> > > > from 2.6.28.  Please verify if it still should be listed and let me
> know
> > > > (either way).
> > > > 
> > > > 
> > > > Bug-Entry       : http://bugzilla.kernel.org/show_bug.cgi?id=12660
> > > > Subject         : Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad
> T43p
> > > > Submitter       : Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> > > > Date            : 2009-02-04 21:11 (20 days old)
> > > > References      :
> http://marc.info/?l=linux-kernel&m=123378196022258&w=4
> > > > Handled-By      : Ingo Molnar <mingo@elte.hu>
> > > 
> > > Mathieu, this bug is very weird and makes little sense. Could 
> > > you please reproduce it with vanilla -git too (without any LTT 
> > > patches applied) and send the full boot+crash log?
> > > 
> > >   Ingo
> > 
> > Hi Ingo,
> > 
> > The last time I reproduced this bug (before going back to 2.6.27 on this
> > machine) was with a vanilla 2.6.28.5 kernel with the following patche
> > applied. So maybe this patch is actually causing the problem now that
> > other memory problems have been fixed since 2.6.28.3. I'll try without
> > it, but it can take a while before the bug reappears, we'll see.
> > 
> > Mathieu
> > 
> > 
> > diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c
> > index 84ba748..fb12f06 100644
> > --- a/arch/x86/mm/pageattr.c
> > +++ b/arch/x86/mm/pageattr.c
> > @@ -576,6 +576,13 @@ static int __change_page_attr(struct cpa_data *cpa,
> int primary)
> >     else
> >             address = *cpa->vaddr;
> >  
> > +   /*
> > +    * If we're called with lazy mmu updates enabled, the
> > +    * in-memory pte state may be stale.  Flush pending updates to
> > +    * bring them up to date.
> > +    */
> > +   arch_flush_lazy_mmu_mode();
> > +
> >  repeat:
> >     kpte = lookup_address(address, &level);
> >     if (!kpte)
> > @@ -854,6 +861,13 @@ static int change_page_attr_set_clr(unsigned long
> *addr, int numpages,
> >     } else
> >             cpa_flush_all(cache);
> >  
> > +   /* 
> > +    * If we've been called with lazy mmu updates enabled, then
> > +    * make sure that everything gets flushed out before we
> > +    * return.
> > +    */
> > +   arch_flush_lazy_mmu_mode();
> > +
> >  out:
> >     return ret;
> >  }
> 
> there's a fix related to that commit:
> 
> d85cf93: x86/paravirt: make arch_flush_lazy_mmu/cpu disable preemption

Note You need to log in before you can comment on or make changes to this bug.