Skip to content

RFC powerpc/pseries,powernv: Enable clang context analysis

Ritesh Harjani (IBM) linuxppc-dev lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest12 patches 1 replyIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/12powerpc/pseries: Drop inline from hugepage invalidatearch/powerpc/platforms/pseries/lpar.c+1 -10 replies
2/12powerpc/pseries: Rework hugepage invalidate to remove conditional lockingarch/powerpc/platforms/pseries/lpar.c+16 -90 replies
3/12powerpc/pseries: Rework hash flush to remove conditional lockingarch/powerpc/platforms/pseries/lpar.c+18 -130 replies
4/12powerpc/pseries: Add context annotations for the DTL worker lockarch/powerpc/platforms/pseries/lpar.c+3 -00 replies
5/12powerpc/pseries: Annotate the VPD sequence lock contextarch/powerpc/platforms/pseries/papr-vpd.c+3 -00 replies
6/12powerpc/pseries: Annotate the RTAS indices sequence lock contextarch/powerpc/platforms/pseries/papr-indices.c+3 -00 replies
7/12powerpc/pseries: Annotate the RTAS physical-attestation sequence lock contextarch/powerpc/platforms/pseries/papr-phy-attest.c+4 -00 replies
8/12powerpc/pseries: Annotate the DTL debugfs read lock contextarch/powerpc/platforms/pseries/dtl.c+8 -01 reply
9/12powerpc/pseries: Disable context analysis for the CMM hotplug notifierarch/powerpc/platforms/pseries/cmm.c+1 -00 replies
10/12powerpc/pseries: Enable context analysisarch/powerpc/platforms/pseries/Makefile+3 -00 replies
11/12powerpc/powernv: Rework OPAL console write to remove conditional lockingarch/powerpc/platforms/powernv/opal.c+20 -100 replies
12/12powerpc/powernv: Enable context analysisarch/powerpc/platforms/powernv/Makefile+2 -00 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

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