Skip to content

powerpc/tm: Abort syscalls in active transactions

Sam Bobroff linuxppc-dev 4 versions – New

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest4 patches 0 repliesNew
  2. v34 patches 0 repliesSuperseded
  3. v24 patches 1 replySuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v13 patches9 repliesSuperseded

Changes in v4 from the cover letter

Patch 3/4: selftests/powerpc: Add transactional syscall test

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4powerpc/tm: Abort syscalls in active transactionsDocumentation/powerpc/transactional_memory.txt arch/powerpc/include/uapi/asm/tm.h arch/powerpc/kernel/entry_64.S+36 -170 replies
2/4selftests/powerpc: Move get_auxv_entry() to harness.ctools/testing/selftests/powerpc/harness.c tools/testing/selftests/powerpc/pmu/lib.c tools/testing/selftests/powerpc/pmu/lib.h +1 more+48 -490 replies
3/4selftests/powerpc: Add transactional syscall testtools/testing/selftests/powerpc/tm/.gitignore tools/testing/selftests/powerpc/tm/Makefile tools/testing/selftests/powerpc/tm/tm-syscall-asm.S +1 more+153 -10 replies
4/4powerpc/tm: Correct minor documentation typosDocumentation/powerpc/transactional_memory.txt+2 -20 replies

Reviews trailers per patch

1 of 4 patches has a Reviewed-by or Acked-by.

PatchMichael Neuling
1/4A-b
2/4
3/4
4/4

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/4] powerpc/tm: Abort syscalls in active transactions

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
Signature · 1 line
1.7.10.4