summaryrefslogtreecommitdiff
path: root/sound/mips
diff options
context:
space:
mode:
authorPaul Burton <paul.burton@imgtec.com>2017-06-03 01:38:02 +0300
committerRalf Baechle <ralf@linux-mips.org>2017-06-29 03:42:29 +0300
commitf39878cc5b09c75d35eaf52131e920b872e3feb4 (patch)
tree1e033d3bd1f29a4a59cd0fb2be4ec5d52989cb2a /sound/mips
parente7bc8557428f069eaa613b3676ea6931c0f7fe43 (diff)
downloadlinux-f39878cc5b09c75d35eaf52131e920b872e3feb4.tar.xz
MIPS: Handle tlbex-tlbp race condition
In systems where there are multiple actors updating the TLB, the potential exists for a race condition wherein a CPU hits a TLB exception but by the time it reaches a TLBP instruction the affected TLB entry may have been replaced. This can happen if, for example, a CPU shares the TLB between hardware threads (VPs) within a core and one of them replaces the entry that another has just taken a TLB exception for. We handle this race in the case of the Hardware Table Walker (HTW) being the other actor already, but didn't take into account the potential for multiple threads racing. Include the code for aborting TLB exception handling in affected multi-threaded systems, those being the I6400 & I6500 CPUs which share TLB entries between VPs. In the case of using RiXi without dedicated exceptions we have never handled this race even for HTW. This patch adds WARN()s to these cases which ought never to be hit because all CPUs with either HTW or shared FTLB RAMs also include dedicated RiXi exceptions, but the WARN()s will ensure this is always the case. Signed-off-by: Paul Burton <paul.burton@imgtec.com> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/16203/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'sound/mips')
0 files changed, 0 insertions, 0 deletions