Re: [Bug #12660] Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad T43p

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxx> wrote:

> * Ingo Molnar (mingo@xxxxxxx) wrote:
> > 
> > * Rafael J. Wysocki <rjw@xxxxxxx> 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@xxxxxxxxxx>
> > > 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@xxxxxxx>
> > 
> > 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

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe kernel-testers" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux