[PATCH v4 0/4] powerpc/tm: Abort syscalls in active transactions
Sam Bobroff
sam.bobroff at au1.ibm.com
Fri Apr 10 14:16:46 AEST 2015
See the first patch for a description of the reasoning behind this
change.
This set includes the change, a kernel selftest for it and
some slight refactoring of the selftest code.
v4:
Patch 3/4: selftests/powerpc: Add transactional syscall test
Incorporated changes suggested by Michael Ellerman:
I added a GPL header, fixed up some formatting, and switched to
__builtin_get_texasru() which works for 32-bit.
v3:
Patch 1/4: powerpc/tm: Abort syscalls in active transactions
Use "TABORT()" macro to allow building on versions of gcc that don't support
the "tabort." instruction.
v2:
Patch 1/4: powerpc/tm: Abort syscalls in active transactions
Also update the failure code table.
Patch 3/4: selftests/powerpc: Add transactional syscall test
Further testing has shown that the success or failure of the transactions was
affected by minor changes to the code, compiler optimisation and linker
settings.
To address this, I've moved the transactional part of the test to a separate
function, written in assembly. I've also extended the test to as many
transactions as it can fit into ten seconds, to better test for failures that
occur more rarely. This has stabilised the results, and it's no longer
necessary to use special compiler or linker flags.
Patch 4/4: powerpc/tm: Correct minor documentation typos
Discovered some typos while updating the documentation.
Sam Bobroff (4):
powerpc/tm: Abort syscalls in active transactions
selftests/powerpc: Move get_auxv_entry() to harness.c
selftests/powerpc: Add transactional syscall test
powerpc/tm: Correct minor documentation typos
Documentation/powerpc/transactional_memory.txt | 36 +++---
arch/powerpc/include/uapi/asm/tm.h | 2 +-
arch/powerpc/kernel/entry_64.S | 19 +++
tools/testing/selftests/powerpc/harness.c | 47 ++++++++
tools/testing/selftests/powerpc/pmu/lib.c | 47 --------
tools/testing/selftests/powerpc/pmu/lib.h | 1 -
tools/testing/selftests/powerpc/tm/.gitignore | 1 +
tools/testing/selftests/powerpc/tm/Makefile | 5 +-
.../testing/selftests/powerpc/tm/tm-syscall-asm.S | 27 +++++
tools/testing/selftests/powerpc/tm/tm-syscall.c | 121 ++++++++++++++++++++
tools/testing/selftests/powerpc/utils.h | 2 +-
11 files changed, 239 insertions(+), 69 deletions(-)
create mode 100644 tools/testing/selftests/powerpc/tm/tm-syscall-asm.S
create mode 100644 tools/testing/selftests/powerpc/tm/tm-syscall.c
--
1.7.10.4
More information about the Linuxppc-dev
mailing list