Thread (14 messages) 14 messages, 1 author, 1d ago

[RFC 00/12] powerpc/pseries,powernv: Enable clang context analysis

From: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com>
Date: 2026-09-27 14:34:42
Also in: lkml

Enable Clang context analysis checking for PowerPC pseries & powernv platforms.

Lock acquire and release checking used to be done with Sparse. That support was
removed [1] and replaced with Clang context analysis [2].

Note that enabling this caught few real locking races in arch/powerpc/mm.
However, the fixes for those and enablement for the rest of the subsystems will
be done in a follow up patch series. Also the more invasive checkers to check
what each lock protects is again deferred for later enablement.

The series was build tested with Clang 23.x

[1] 5b63d0ae94cc ("compiler-context-analysis: Remove Sparse support")
[2] 3269701cb256 ("compiler-context-analysis: Add infrastructure for Context Analysis with Clang")


Ritesh Harjani (IBM) (12):
  powerpc/pseries: Drop inline from hugepage invalidate
  powerpc/pseries: Rework hugepage invalidate to remove conditional locking
  powerpc/pseries: Rework hash flush to remove conditional locking
  powerpc/pseries: Add context annotations for the DTL worker lock
  powerpc/pseries: Annotate the VPD sequence lock context
  powerpc/pseries: Annotate the RTAS indices sequence lock context
  powerpc/pseries: Annotate the RTAS physical-attestation sequence lock context
  powerpc/pseries: Annotate the DTL debugfs read lock context
  powerpc/pseries: Disable context analysis for the CMM hotplug notifier
  powerpc/pseries: Enable context analysis
  powerpc/powernv: Rework OPAL console write to remove conditional locking
  powerpc/powernv: Enable context analysis

 arch/powerpc/platforms/powernv/Makefile       |  2 +
 arch/powerpc/platforms/powernv/opal.c         | 30 ++++++----
 arch/powerpc/platforms/pseries/Makefile       |  3 +
 arch/powerpc/platforms/pseries/cmm.c          |  1 +
 arch/powerpc/platforms/pseries/dtl.c          |  8 +++
 arch/powerpc/platforms/pseries/lpar.c         | 59 ++++++++++++-------
 arch/powerpc/platforms/pseries/papr-indices.c |  3 +
 .../platforms/pseries/papr-phy-attest.c       |  4 ++
 arch/powerpc/platforms/pseries/papr-vpd.c     |  3 +
 9 files changed, 81 insertions(+), 32 deletions(-)

--
2.39.5

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help