powerpc/booke64: wrap tlb lock and search in htw miss with FTR_SMT
authorLaurentiu Tudor <Laurentiu.Tudor@freescale.com>
Fri, 30 May 2014 14:59:15 +0000 (17:59 +0300)
committerScott Wood <scottwood@freescale.com>
Fri, 20 Jun 2014 23:48:34 +0000 (18:48 -0500)
commit7c48005036a09142a662487ac52000ab845a07e8
treead7ac24b26cf1fccdaea1a8772fd89d0ae58632c
parentf24bc2701aa3b3c62633046b663ca616ffc3ebe4
powerpc/booke64: wrap tlb lock and search in htw miss with FTR_SMT

Virtualized environments may expose a e6500 dual-threaded core
as two single-threaded e6500 cores. Take advantage of this
and get rid of the tlb lock and the trap-causing tlbsx in
the htw miss handler by guarding with CPU_FTR_SMT, as it's
already being done in the bolted tlb1 miss handler.

As seen in the results below, measurements done with lmbench
random memory access latency test running under Freescale's
Embedded Hypervisor, there is a ~34% improvement.

Memory latencies in nanoseconds - smaller is better
    (WARNING - may not be correct, check graphs)
----------------------------------------------------
Host       Mhz   L1 $   L2 $    Main mem    Rand mem
---------  ---   ----   ----    --------    --------
smt       1665 1.8020   13.2    83.0         1149.7
nosmt     1665 1.8020   13.2    83.0          758.1

Signed-off-by: Laurentiu Tudor <Laurentiu.Tudor@freescale.com>
Cc: Scott Wood <scottwood@freescale.com>
[scottwood@freescale.com: commit message tweak]
Signed-off-by: Scott Wood <scottwood@freescale.com>
arch/powerpc/mm/tlb_low_64e.S