Comment 13 for bug 1708399

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2017-08-18 07:05 EDT-------
I have added three patches to replace the test patch that Heiko already
marked as invalid:

0001-s390-mm-no-local-TLB-flush-for-clearing-by-ASCE-IDTE.patch
0002-s390-mm-fix-local-TLB-flushing-vs.-detach-of-an-mm-a.patch
0003-s390-mm-fix-race-on-mm-context.flush_mm.patch

The first is an upstream patch which removes the code that tries to
use the local flushing option on an IDTE clearing-by-ASCE instruction.
The local flushing option only exists for IDTE invalidation-and-clearing.

Patches #2 and #3 fix race conditions in the architecture specific TLB
flushing code. I have run my TLB stress tests on a z/VM guest with 4 CPUs
for a few hours with the three patches applied. Nothing undue happened,
but my TLB stress did run without these patches as well. Seems like
we need the specific timing of the workload to trigger the problem.

Now, if you could run a test for us with these patches applied and the bug
does not show up again, I would declare these patches as final solution.