[PATCH 1/2] 476: Set CCR2[DSTI] to prevent isync from flushing shadow TLB
jwboyer at linux.vnet.ibm.com
Tue Sep 28 01:04:34 EST 2010
On Fri, Sep 24, 2010 at 01:01:36PM -0500, Dave Kleikamp wrote:
>When the DSTI (Disable Shadow TLB Invalidate) bit is set in the CCR2
>register, the isync command does not flush the shadow TLB (iTLB & dTLB).
>However, since the shadow TLB does not contain context information, we
>want the shadow TLB flushed in situations where we are switching context.
>In those situations, we explicitly clear the DSTI bit before performing
>isync, and set it again afterward. We also need to do the same when we
>perform isync after explicitly flushing the TLB.
>Th setting of the DSTI bit is dependent on
>CONFIG_PPC_47x_DISABLE_SHADOW_TLB_INVALIDATE. When we are confident that
>the feature works as expected, the option can probably be removed.
You're defaulting it to 'y' in the Kconfig. Technically someone could
turn it off I guess, but practice mostly shows that nobody mucks with
the defaults. Do you want it to default 'n' for now if you aren't
confident in it just quite yet?
(Linus also has some kind of gripe with new options being default 'y',
but I don't recall all the details and I doubt he'd care about something
in low-level PPC code.)
More information about the Linuxppc-dev