[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090224204502.GC15161@elte.hu>
Date: Tue, 24 Feb 2009 21:45:02 +0100
From: Ingo Molnar <mingo@...e.hu>
To: Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca>
Cc: "Rafael J. Wysocki" <rjw@...k.pl>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Kernel Testers List <kernel-testers@...r.kernel.org>
Subject: Re: [Bug #12660] Linux 2.6.28.3 freezing on a 32-bits x86 Thinkpad
T43p
* Mathieu Desnoyers <mathieu.desnoyers@...ymtl.ca> wrote:
> * Ingo Molnar (mingo@...e.hu) wrote:
> >
> > * Rafael J. Wysocki <rjw@...k.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@...ymtl.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@...e.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
Ingo
--
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