]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "powerpc/tm: Abort syscalls in active transactions"
authorMichael Ellerman <mpe@ellerman.id.au>
Thu, 30 Apr 2015 05:13:14 +0000 (15:13 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 30 Apr 2015 05:24:58 +0000 (15:24 +1000)
commit68fc378ce332cc4efd7f314d3e6e15e83f53ebf2
tree5a539c138cad206146296eaf0c6e0ea81655d4ee
parentd33047fd7e7d93662622888681861ba84d43c506
Revert "powerpc/tm: Abort syscalls in active transactions"

This reverts commit feba40362b11341bee6d8ed58d54b896abbd9f84.

Although the principle of this change is good, the implementation has a
few issues.

Firstly we can sometimes fail to abort a syscall because r12 may have
been clobbered by C code if we went down the virtual CPU accounting
path, or if syscall tracing was enabled.

Secondly we have decided that it is safer to abort the syscall even
earlier in the syscall entry path, so that we avoid the syscall tracing
path when we are transactional.

So that we have time to thoroughly test those changes we have decided to
revert this for this merge window and will merge the fixed version in
the next window.

NB. Rather than reverting the selftest we just drop tm-syscall from
TEST_PROGS so that it's not run by default.

Fixes: feba40362b11 ("powerpc/tm: Abort syscalls in active transactions")
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Documentation/powerpc/transactional_memory.txt
arch/powerpc/include/uapi/asm/tm.h
arch/powerpc/kernel/entry_64.S
tools/testing/selftests/powerpc/tm/Makefile