← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Bug 2106564] Re: powerpc/ptrace:{ptrace-tm-tar, ptrace-tm-spd-tar} fail with PPR discrepancy on Power9 PowerVM with j/linux

 

** Description changed:

  Failure observed on bionic linux-hwe-5.4 5.4.0-214.234~18.04.1
- (2025.03.17) on metal P9g-LPAR01kernel.
+ (2025.03.17) and jammy linux 5.15.0-139.149 on metal P9g-LPAR01kernel
+ (Power9 PowerVM).
  
  The failure was consistently observed across three runs (3/3. 100%) on
  this machine.
  
  Log output:
  
      [powerpc/ptrace:ptrace-tm-tar]
  
        # selftests: powerpc/ptrace: ptrace-tm-tar
        # test: ptrace_tm_tar
        # tags: git_version:unknown
   (X1) # [User Read (Running)]          TAR: 40 PPR: 4000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 20 PPR: 8000000000000 DSCR: 200
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X2) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-tar # exit=1
  
      [powerpc/ptrace:ptrace-tm-spd-tar]
  
        # selftests: powerpc/ptrace: ptrace-tm-spd-tar
        # test: ptrace_tm_spd_tar
        # tags: git_version:unknown
   (X3) # [User Read (Running)]          TAR: 40 PPR: 18000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 30 PPR: c000000000000 DSCR: 300
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X4) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_spd_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-spd-tar # exit=1
  
  * At (X3) above, PPR shoud've been 10000000000000 (Normal) as set at (X4)
    as the transaction is aborted, but it was read as 18000000000000 (High).
  
    Neither tm_spd_tar() nor trace_tm_spd_tar() (via ptrace) set this value
    (i.e. or 3,3,3) inside or outside the transaction. Given this should be
    an LPAR guest from its naming, its hypervisor side might have done
    something unexpected.
  
  * At (X1) above, PPR should've been 10000000000000 (Normal) as set at (X2),
    but it was read as 4000000000000 (Very low).
  
    Even though (X1) indicates the possibility that only updated CPPR failed to
    be read by tm_tar()'s mfspr(SPRN_PPR) for some reason (*notice that TAR and
    DSCR values are correctly read by mfspr as shown in the log), it's likely
    that this is just a symptom caused by unexpected behavior from the
    hypervisor, as observed at (X3).
  
  Ref. kernel doc on POWER9 TM issues:
  https://www.kernel.org/doc/html/latest/arch/powerpc/transactional_memory.html#power9
  
  P9g-LPAR01kernel is a new test instance type, so this is likely not a regression introduced in this SRU cycle.
  This test passed on other environments over many SRU cycles.

** Description changed:

  Failure observed on bionic linux-hwe-5.4 5.4.0-214.234~18.04.1
- (2025.03.17) and jammy linux 5.15.0-139.149 on metal P9g-LPAR01kernel
- (Power9 PowerVM).
+ (2025.03.17) and jammy linux 5.15.0-139.149 (edited) on metal
+ P9g-LPAR01kernel (Power9 PowerVM).
  
  The failure was consistently observed across three runs (3/3. 100%) on
  this machine.
  
  Log output:
  
      [powerpc/ptrace:ptrace-tm-tar]
  
        # selftests: powerpc/ptrace: ptrace-tm-tar
        # test: ptrace_tm_tar
        # tags: git_version:unknown
   (X1) # [User Read (Running)]          TAR: 40 PPR: 4000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 20 PPR: 8000000000000 DSCR: 200
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X2) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-tar # exit=1
  
      [powerpc/ptrace:ptrace-tm-spd-tar]
  
        # selftests: powerpc/ptrace: ptrace-tm-spd-tar
        # test: ptrace_tm_spd_tar
        # tags: git_version:unknown
   (X3) # [User Read (Running)]          TAR: 40 PPR: 18000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 30 PPR: c000000000000 DSCR: 300
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X4) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_spd_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-spd-tar # exit=1
  
  * At (X3) above, PPR shoud've been 10000000000000 (Normal) as set at (X4)
    as the transaction is aborted, but it was read as 18000000000000 (High).
  
    Neither tm_spd_tar() nor trace_tm_spd_tar() (via ptrace) set this value
    (i.e. or 3,3,3) inside or outside the transaction. Given this should be
    an LPAR guest from its naming, its hypervisor side might have done
    something unexpected.
  
  * At (X1) above, PPR should've been 10000000000000 (Normal) as set at (X2),
    but it was read as 4000000000000 (Very low).
  
    Even though (X1) indicates the possibility that only updated CPPR failed to
    be read by tm_tar()'s mfspr(SPRN_PPR) for some reason (*notice that TAR and
    DSCR values are correctly read by mfspr as shown in the log), it's likely
    that this is just a symptom caused by unexpected behavior from the
    hypervisor, as observed at (X3).
  
  Ref. kernel doc on POWER9 TM issues:
  https://www.kernel.org/doc/html/latest/arch/powerpc/transactional_memory.html#power9
  
  P9g-LPAR01kernel is a new test instance type, so this is likely not a regression introduced in this SRU cycle.
  This test passed on other environments over many SRU cycles.

** Description changed:

  Failure observed on bionic linux-hwe-5.4 5.4.0-214.234~18.04.1
  (2025.03.17) and jammy linux 5.15.0-139.149 (edited) on metal
  P9g-LPAR01kernel (Power9 PowerVM).
  
  The failure was consistently observed across three runs (3/3. 100%) on
  this machine.
  
- Log output:
+ Log output on j/linux:
+  # selftests: powerpc/ptrace: ptrace-tm-tar
+  # test: ptrace_tm_tar
+  # tags: git_version:unknown
+  # [User Read (Running)] TAR: 40 PPR: 18000000000000 DSCR: 400
+  # [Ptrace Read (Running)] TAR: 20 PPR: 8000000000000 DSCR: 200
+  # [Ptrace Read (Checkpointed)] TAR: 10 PPR: 4000000000000 DSCR: 100
+  # [Ptrace Write (Checkpointed)] TAR: 40 PPR: 10000000000000 DSCR: 400
+  # failure: ptrace_tm_tar
+ 
+  # selftests: powerpc/ptrace: ptrace-tm-spd-tar
+  # test: ptrace_tm_spd_tar
+  # tags: git_version:unknown
+  # [User Read (Running)] TAR: 40 PPR: 18000000000000 DSCR: 400
+  # [Ptrace Read (Running)] TAR: 30 PPR: c000000000000 DSCR: 300
+  # [Ptrace Read (Checkpointed)] TAR: 10 PPR: 4000000000000 DSCR: 100
+  # [Ptrace Write (Checkpointed)] TAR: 40 PPR: 10000000000000 DSCR: 400
+  # failure: ptrace_tm_spd_tar
+ 
+ Log output on b/hwe-5.4:
  
      [powerpc/ptrace:ptrace-tm-tar]
  
        # selftests: powerpc/ptrace: ptrace-tm-tar
        # test: ptrace_tm_tar
        # tags: git_version:unknown
   (X1) # [User Read (Running)]          TAR: 40 PPR: 4000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 20 PPR: 8000000000000 DSCR: 200
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X2) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-tar # exit=1
  
      [powerpc/ptrace:ptrace-tm-spd-tar]
  
        # selftests: powerpc/ptrace: ptrace-tm-spd-tar
        # test: ptrace_tm_spd_tar
        # tags: git_version:unknown
   (X3) # [User Read (Running)]          TAR: 40 PPR: 18000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 30 PPR: c000000000000 DSCR: 300
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X4) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_spd_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-spd-tar # exit=1
  
  * At (X3) above, PPR shoud've been 10000000000000 (Normal) as set at (X4)
    as the transaction is aborted, but it was read as 18000000000000 (High).
  
    Neither tm_spd_tar() nor trace_tm_spd_tar() (via ptrace) set this value
    (i.e. or 3,3,3) inside or outside the transaction. Given this should be
    an LPAR guest from its naming, its hypervisor side might have done
    something unexpected.
  
  * At (X1) above, PPR should've been 10000000000000 (Normal) as set at (X2),
    but it was read as 4000000000000 (Very low).
  
    Even though (X1) indicates the possibility that only updated CPPR failed to
    be read by tm_tar()'s mfspr(SPRN_PPR) for some reason (*notice that TAR and
    DSCR values are correctly read by mfspr as shown in the log), it's likely
    that this is just a symptom caused by unexpected behavior from the
    hypervisor, as observed at (X3).
  
  Ref. kernel doc on POWER9 TM issues:
  https://www.kernel.org/doc/html/latest/arch/powerpc/transactional_memory.html#power9
  
  P9g-LPAR01kernel is a new test instance type, so this is likely not a regression introduced in this SRU cycle.
  This test passed on other environments over many SRU cycles.

-- 
You received this bug notification because you are a member of Canonical
Platform QA Team, which is subscribed to ubuntu-kernel-tests.
https://bugs.launchpad.net/bugs/2106564

Title:
  powerpc/ptrace:{ptrace-tm-tar, ptrace-tm-spd-tar} fail with PPR
  discrepancy on Power9 PowerVM with j/linux

Status in ubuntu-kernel-tests:
  New

Bug description:
  Failure observed on bionic linux-hwe-5.4 5.4.0-214.234~18.04.1
  (2025.03.17) and jammy linux 5.15.0-139.149 (edited) on metal
  P9g-LPAR01kernel (Power9 PowerVM).

  The failure was consistently observed across three runs (3/3. 100%) on
  this machine.

  Log output on j/linux:
   # selftests: powerpc/ptrace: ptrace-tm-tar
   # test: ptrace_tm_tar
   # tags: git_version:unknown
   # [User Read (Running)] TAR: 40 PPR: 18000000000000 DSCR: 400
   # [Ptrace Read (Running)] TAR: 20 PPR: 8000000000000 DSCR: 200
   # [Ptrace Read (Checkpointed)] TAR: 10 PPR: 4000000000000 DSCR: 100
   # [Ptrace Write (Checkpointed)] TAR: 40 PPR: 10000000000000 DSCR: 400
   # failure: ptrace_tm_tar

   # selftests: powerpc/ptrace: ptrace-tm-spd-tar
   # test: ptrace_tm_spd_tar
   # tags: git_version:unknown
   # [User Read (Running)] TAR: 40 PPR: 18000000000000 DSCR: 400
   # [Ptrace Read (Running)] TAR: 30 PPR: c000000000000 DSCR: 300
   # [Ptrace Read (Checkpointed)] TAR: 10 PPR: 4000000000000 DSCR: 100
   # [Ptrace Write (Checkpointed)] TAR: 40 PPR: 10000000000000 DSCR: 400
   # failure: ptrace_tm_spd_tar

  Log output on b/hwe-5.4:

      [powerpc/ptrace:ptrace-tm-tar]

        # selftests: powerpc/ptrace: ptrace-tm-tar
        # test: ptrace_tm_tar
        # tags: git_version:unknown
   (X1) # [User Read (Running)]          TAR: 40 PPR: 4000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 20 PPR: 8000000000000 DSCR: 200
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X2) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-tar # exit=1

      [powerpc/ptrace:ptrace-tm-spd-tar]

        # selftests: powerpc/ptrace: ptrace-tm-spd-tar
        # test: ptrace_tm_spd_tar
        # tags: git_version:unknown
   (X3) # [User Read (Running)]          TAR: 40 PPR: 18000000000000 DSCR: 400
        # [Ptrace Read (Running)]        TAR: 30 PPR: c000000000000 DSCR: 300
        # [Ptrace Read (Checkpointed)]   TAR: 10 PPR: 4000000000000 DSCR: 100
   (X4) # [Ptrace Write (Checkpointed)]  TAR: 40 PPR: 10000000000000 DSCR: 400
        # failure: ptrace_tm_spd_tar
        not ok 1 selftests: powerpc/ptrace: ptrace-tm-spd-tar # exit=1

  * At (X3) above, PPR shoud've been 10000000000000 (Normal) as set at (X4)
    as the transaction is aborted, but it was read as 18000000000000 (High).

    Neither tm_spd_tar() nor trace_tm_spd_tar() (via ptrace) set this value
    (i.e. or 3,3,3) inside or outside the transaction. Given this should be
    an LPAR guest from its naming, its hypervisor side might have done
    something unexpected.

  * At (X1) above, PPR should've been 10000000000000 (Normal) as set at (X2),
    but it was read as 4000000000000 (Very low).

    Even though (X1) indicates the possibility that only updated CPPR failed to
    be read by tm_tar()'s mfspr(SPRN_PPR) for some reason (*notice that TAR and
    DSCR values are correctly read by mfspr as shown in the log), it's likely
    that this is just a symptom caused by unexpected behavior from the
    hypervisor, as observed at (X3).

  Ref. kernel doc on POWER9 TM issues:
  https://www.kernel.org/doc/html/latest/arch/powerpc/transactional_memory.html#power9

  P9g-LPAR01kernel is a new test instance type, so this is likely not a regression introduced in this SRU cycle.
  This test passed on other environments over many SRU cycles.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2106564/+subscriptions



References