summaryrefslogtreecommitdiff
path: root/firmware/bnx2x
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2014-05-20 04:04:55 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-05-21 13:29:27 (GMT)
commitcf01d1a17c2a5269f6b65c338f534cacb236e2c8 (patch)
treec3cfb1c667506f6f8df348a9805cc6bf3910e780 /firmware/bnx2x
parent589b6bc9b283455d83290d6986cac9914f1c4d5f (diff)
downloadlinux-fsl-qoriq-cf01d1a17c2a5269f6b65c338f534cacb236e2c8.tar.xz
powerpc/e6500: hw tablewalk: clear TID in kernel indirect entries
Previously TID was being cleared before the tlbsx, but not after. This can lead to a multiway hit between a TLB entry with TID=0 (previously inserted when PID=0) and a TLB entry with TID!=0 that matches PID. This can theoretically result in undefined behavior, though we probably get lucky due to the details of the overlap. It also results in the inability to use multihit detection to detect other conflicting TLB entries, as well as poorer TLB utilization due to duplicating kernel TLB entries. Rather than try to patch up MAS1 after tlbsx, the entire value is saved/restored as with MAS2. I observed a slight improvement in TLB miss performance with this patch applied. Signed-off-by: Scott Wood <scottwood@freescale.com> Reported-by: Ed Swarthout <ed.swarthout@freescale.com> Change-Id: Ia756411e110c245781357a3b1985fade648d791a Reviewed-on: http://git.am.freescale.net:8181/12509 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Edward L Swarthout <ed.swarthout@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'firmware/bnx2x')
0 files changed, 0 insertions, 0 deletions