[all-commits] [llvm/llvm-project] 0407f6: [lldb][AArch64] Use atomics to sync threads in SVE...

David Spickett via All-commits all-commits at lists.llvm.org
Thu Aug 31 02:06:32 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0407f681a7efa61f81f885e186c25ed99aecb8d4
      https://github.com/llvm/llvm-project/commit/0407f681a7efa61f81f885e186c25ed99aecb8d4
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-08-31 (Thu, 31 Aug 2023)

  Changed paths:
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
    M lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/main.c

  Log Message:
  -----------
  [lldb][AArch64] Use atomics to sync threads in SVE threading test

Previously we would "process continue" then wait for the number of
threads to be 3 before proceeding with the test.

Testing this on QEMU I saw it would sometimes get stuck at this check,
with one of the threads on a breakpoint before the other had started.
We do want it to be on a breakpoint, but we need the other thread to have
at least started so lldb can interact with both.

I've also seen it timeout on the Graviton buildbot, likely the same
cause.

To fix this add 2 variables to stall either thread until the other
has started up. Then it doesn't matter which one hits its breakpoint
first, the test will just continue the one that didn't, until both
are on the expected breakpoint.

Differential Revision: https://reviews.llvm.org/D157967




More information about the All-commits mailing list