Messages in this thread | | | Subject | Re: [PATCH v2] scripts: coccinelle: check for !(un)?likely usage | From | Denis Efremov <> | Date | Fri, 6 Sep 2019 23:55:39 +0300 |
| |
Hi,
On 06.09.2019 23:19, Julia Lawall wrote: > > > On Thu, 29 Aug 2019, Denis Efremov wrote: > >> This patch adds coccinelle script for detecting !likely and >> !unlikely usage. These notations are confusing. It's better >> to replace !likely(x) with unlikely(!x) and !unlikely(x) with >> likely(!x) for readability. >> >> The rule transforms !likely(x) to unlikely(!x) based on this logic: >> !likely(x) iff >> !__builtin_expect(!!(x), 1) iff >> __builtin_expect(!!!(x), 0) iff >> unlikely(!x) >> >> For !unlikely(x) to likely(!x): >> !unlikely(x) iff >> !__builtin_expect(!!(x), 0) iff >> __builtin_expect(!!!(x), 1) iff >> likely(!x) >> >> Signed-off-by: Denis Efremov <efremov@linux.com> >> Cc: Julia Lawall <Julia.Lawall@lip6.fr> >> Cc: Gilles Muller <Gilles.Muller@lip6.fr> >> Cc: Nicolas Palix <nicolas.palix@imag.fr> >> Cc: Michal Marek <michal.lkml@markovi.net> >> Cc: Markus Elfring <Markus.Elfring@web.de> >> Cc: Joe Perches <joe@perches.com> >> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> > > Acked-by: Julia Lawall <julia.lawall@lip6.fr> > > A small improvement though would be to improve the explicit dependency of > the last four python rules on r1 and r2. Those rules won't execute unless > the inherited metavariable has a value, which makes the same dependency. > > julia
I think I will resend this patch as a part of patchset with all warnings fixed in a couple of days. Hope this will help to create a discussion point with other developers about readability of "!likely" and "!unlikely".
Thanks, Denis
| |