[PATCH 0/3] coccinelle: improve performance of mini_lock, double_lock and minmax

From: Sang-Heon Jeon

Date: Sat Jul 25 2026 - 07:37:00 EST


mini_lock, double_lock and minmax spend most of their time
searching files that have nothing to report. This series collects
the candidates first and runs the expensive rules only when one
exists.

For mini_lock and double_lock this also restores lost coverage.
For example, kernel/bpf/verifier.c exceeded the 200 second timeout
set by .cocciconfig, and coccicheck silently skipped the file.

The benchmark environment and command are as follows.
- AMD Ryzen 7 8845HS, 16 threads, 32 GiB RAM
- Ubuntu 24.04, spatch 1.1.1
- spatch -D report --very-quiet --no-includes --include-headers --cocci-file <script> <file>
- timeout 200 is added for the whole tree runs

kernel/bpf/verifier.c whole tree
mini_lock 812s -> 2.6s 1.5h -> 1.4h
double_lock 12.2s -> 0.9s 2.0h -> 1.6h
minmax 9.0s -> 1.7s 10.2h -> 5.5h

A report-mode run over every .c file in the tree produces
identical output for each script.

No functional change.

Sang-Heon Jeon (3):
coccinelle: mini_lock: improve performance when searching loops
coccinelle: double_lock: improve performance when no double lock
exists
coccinelle: misc: minmax: improve performance when no candidate exists

scripts/coccinelle/locks/double_lock.cocci | 15 +++++++++++++-
scripts/coccinelle/locks/mini_lock.cocci | 24 ++++++++++++++++++++--
scripts/coccinelle/misc/minmax.cocci | 24 +++++++++++++++++-----
3 files changed, 55 insertions(+), 8 deletions(-)

--
2.43.0