Re: [PATCH] Use global TLB flushes in MTRR code

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Andi Kleen <andi@...>
Cc: <davej@...>, <tglx@...>, <linux-kernel@...>, H. Peter Anvin <hpa@...>
Date: Thursday, February 7, 2008 - 4:37 pm

* Andi Kleen <andi@firstfloor.org> wrote:


... and this patch of yours breaks MTRR setting subtly:


because it's not just an open-coded __tlb_flush_all(), it _disables PGE 
and keeps it so while the MTRR's are changed on all CPUs_.

Your patch adds __flush_tlb_all() which re-enables the PGE bit in cr4, 
see asm-x86/tlbflush.h:

        /* clear PGE */
        write_cr4(cr4 & ~X86_CR4_PGE);
        /* write old PGE again and flush TLBs */
        write_cr4(cr4);

so we'll keep PGE enabled during the MTRR setting - which changes 
behavior.

	Ingo
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] Use global TLB flushes in MTRR code, Andi Kleen, (Thu Feb 7, 3:02 pm)
Re: [PATCH] Use global TLB flushes in MTRR code, Ingo Molnar, (Thu Feb 7, 3:13 pm)
Re: [PATCH] Use global TLB flushes in MTRR code, Andi Kleen, (Thu Feb 7, 4:03 pm)
Re: [PATCH] Use global TLB flushes in MTRR code, Ingo Molnar, (Thu Feb 7, 4:37 pm)
Re: [PATCH] Use global TLB flushes in MTRR code, Andi Kleen, (Fri Feb 8, 7:44 am)
Re: [PATCH] Use global TLB flushes in MTRR code, Ingo Molnar, (Sat Feb 9, 5:40 am)
Re: [PATCH] Use global TLB flushes in MTRR code, Andi Kleen, (Sat Feb 9, 7:48 am)
Re: [PATCH] Use global TLB flushes in MTRR code, Ingo Molnar, (Sat Feb 9, 7:47 am)
Re: [PATCH] Use global TLB flushes in MTRR code, Andi Kleen, (Sat Feb 9, 10:12 am)
Re: [PATCH] Use global TLB flushes in MTRR code, Oliver Pinter, (Thu Feb 7, 3:08 pm)