From: Ingo Molnar <mingo@elte.hu>
To: Andi Kleen <andi@firstfloor.org>
Cc: davej@codemonkey.org.uk, tglx@linutronix.de,
linux-kernel@vger.kernel.org, "H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH] Use global TLB flushes in MTRR code
Date: Sat, 9 Feb 2008 10:40:37 +0100 [thread overview]
Message-ID: <20080209094037.GA23418@elte.hu> (raw)
In-Reply-To: <20080208114419.GB4745@one.firstfloor.org>
* Andi Kleen <andi@firstfloor.org> wrote:
> > 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_.
>
> Yes and?
your first patch was outright wrong then you declared the second one a
"cleanup" while it changes behavior: bad in my book ;-)
> > 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.
>
> It changes behaviour in some minor ways but I don't think it makes any
> difference. PGE only influences TLB flushes (according to its
> specification) and all the TLB flushes still run with PGE disabled.
now that i pointed out the difference, your position changed to "changes
behavior in minor ways" ;-)
This is fragile code and almost nothing in the MTRR area is "minor", we
are just not touching this code unless it's really justified.
Ingo
next prev parent reply other threads:[~2008-02-09 9:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-07 19:02 [PATCH] Use global TLB flushes in MTRR code Andi Kleen
2008-02-07 19:08 ` Oliver Pinter
2008-02-07 19:13 ` Ingo Molnar
2008-02-07 20:03 ` Andi Kleen
2008-02-07 20:37 ` Ingo Molnar
2008-02-08 11:44 ` Andi Kleen
2008-02-09 9:40 ` Ingo Molnar [this message]
2008-02-09 11:48 ` Andi Kleen
2008-02-09 11:47 ` Ingo Molnar
2008-02-09 14:12 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080209094037.GA23418@elte.hu \
--to=mingo@elte.hu \
--cc=andi@firstfloor.org \
--cc=davej@codemonkey.org.uk \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox