]> 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)
commit9f9b52b4bf0d111101e05114541a375b57aa5ad6
tree5a539c138cad206146296eaf0c6e0ea81655d4ee
parente2b2107b9a7813e1fa71bbae3d99a86603571422
Revert "powerpc/tm: Abort syscalls in active transactions"

This reverts commit 3c43d5e5ba3c8012d32a0fb1354e83667379315b.

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: 3c43d5e5ba3c ("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