diff options
author | Julia Lawall <Julia.Lawall@lip6.fr> | 2018-05-21 08:58:48 +0200 |
---|---|---|
committer | Masahiro Yamada <yamada.masahiro@socionext.com> | 2018-05-22 23:00:23 +0900 |
commit | 32d0572a75c81a2c70394f9e110ca080b9a733b1 (patch) | |
tree | e6355b35da23d5818cac3691463a9d32c04d00b4 /scripts/coccinelle | |
parent | 4c1d9bb0b5d3c0b3468ac8e68a05972eb957630f (diff) | |
download | lwn-32d0572a75c81a2c70394f9e110ca080b9a733b1.tar.gz lwn-32d0572a75c81a2c70394f9e110ca080b9a733b1.zip |
coccinelle: mini_lock: improve performance
Replace <+... ...+> by ... when any. <+... ...+> is slow, and in some
obscure cases involving backward jumps it doesn't force the unlock to
actually come after the end of the if.
Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Diffstat (limited to 'scripts/coccinelle')
-rw-r--r-- | scripts/coccinelle/locks/mini_lock.cocci | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/scripts/coccinelle/locks/mini_lock.cocci b/scripts/coccinelle/locks/mini_lock.cocci index 47f649b0ea87..19c6ee5b986b 100644 --- a/scripts/coccinelle/locks/mini_lock.cocci +++ b/scripts/coccinelle/locks/mini_lock.cocci @@ -67,12 +67,14 @@ identifier lock,unlock; @@ *lock(E1@p,...); -<+... when != E1 +... when != E1 + when any if (...) { ... when != E1 * return@r ...; } -...+> +... when != E1 + when any *unlock@up(E1,...); @script:python depends on org@ |