public inbox for cocci@systeme.lip6.fr
 help / color / mirror / Atom feed
* Re: [cocci] [PATCH] coccinelle: misc: secs_to_jiffies: Implement context and report modes
       [not found] <20250610174521.12294-1-eahariha@linux.microsoft.com>
@ 2025-06-10 17:49 ` Easwar Hariharan
  2025-06-11  7:56   ` Ricardo Ribalda
  2025-06-12 16:08   ` [cocci] [PATCH v?] " Markus Elfring
  0 siblings, 2 replies; 3+ messages in thread
From: Easwar Hariharan @ 2025-06-10 17:49 UTC (permalink / raw)
  To: Andrew Morton, Ricardo Ribalda, Jakub Kicinski
  Cc: eahariha, Julia Lawall, Nicolas Palix, cocci@inria.fr, LKML

On 6/10/2025 10:45 AM, Easwar Hariharan wrote:
> As requested by Ricardo and Jakub, implement report and context  modes
> for the secs_to_jiffies Coccinelle script. While here, add the option to
> look for opportunities to use secs_to_jiffies() in headers.
> 
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Ricardo Ribalda <ribalda@chromium.org>
> Closes: https://lore.kernel.org/all/20250129-secs_to_jiffles-v1-1-35a5e16b9f03@chromium.org/
> Closes: https://lore.kernel.org/all/20250221162107.409ae333@kernel.org/
> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
> ---
>  scripts/coccinelle/misc/secs_to_jiffies.cocci | 49 +++++++++++++++++--
>  1 file changed, 44 insertions(+), 5 deletions(-)
> 
> diff --git a/scripts/coccinelle/misc/secs_to_jiffies.cocci b/scripts/coccinelle/misc/secs_to_jiffies.cocci
> index 416f348174ca..f3241ce75a7b 100644
> --- a/scripts/coccinelle/misc/secs_to_jiffies.cocci
> +++ b/scripts/coccinelle/misc/secs_to_jiffies.cocci
> @@ -7,26 +7,65 @@
>  // Confidence: High
>  // Copyright: (C) 2024 Easwar Hariharan, Microsoft
>  // Keywords: secs, seconds, jiffies
> -//
> +// Options: --include-headers
>  
>  virtual patch
> +virtual report
> +virtual context
>  
> -@depends on patch@ constant C; @@
> +@pconst depends on patch@ constant C; @@
>  
>  - msecs_to_jiffies(C * 1000)
>  + secs_to_jiffies(C)
>  
> -@depends on patch@ constant C; @@
> +@pconstms depends on patch@ constant C; @@
>  
>  - msecs_to_jiffies(C * MSEC_PER_SEC)
>  + secs_to_jiffies(C)
>  
> -@depends on patch@ expression E; @@
> +@pexpr depends on patch@ expression E; @@
>  
>  - msecs_to_jiffies(E * 1000)
>  + secs_to_jiffies(E)
>  
> -@depends on patch@ expression E; @@
> +@pexprms depends on patch@ expression E; @@
>  
>  - msecs_to_jiffies(E * MSEC_PER_SEC)
>  + secs_to_jiffies(E)
> +
> +@r depends on report && !patch@
> +constant C;
> +expression E;
> +position p;
> +@@
> +
> +(
> +  msecs_to_jiffies(C@p * 1000)
> +|
> +  msecs_to_jiffies(C@p * MSEC_PER_SEC)
> +|
> +  msecs_to_jiffies(E@p * 1000)
> +|
> +  msecs_to_jiffies(E@p * MSEC_PER_SEC)
> +)
> +
> +@c depends on context && !patch@
> +constant C;
> +expression E;
> +@@
> +
> +(
> +* msecs_to_jiffies(C * 1000)
> +|
> +* msecs_to_jiffies(C * MSEC_PER_SEC)
> +|
> +* msecs_to_jiffies(E * 1000)
> +|
> +* msecs_to_jiffies(E * MSEC_PER_SEC)
> +)
> +
> +@script:python depends on report@
> +p << r.p;
> +@@
> +
> +coccilib.report.print_report(p[0], "WARNING opportunity for secs_to_jiffies()")

Sorry, I was testing sending this to myself before sending to the list, I've added the mailing lists now.

Thanks,
Easwar (he/him)


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [cocci] [PATCH] coccinelle: misc: secs_to_jiffies: Implement context and report modes
  2025-06-10 17:49 ` [cocci] [PATCH] coccinelle: misc: secs_to_jiffies: Implement context and report modes Easwar Hariharan
@ 2025-06-11  7:56   ` Ricardo Ribalda
  2025-06-12 16:08   ` [cocci] [PATCH v?] " Markus Elfring
  1 sibling, 0 replies; 3+ messages in thread
From: Ricardo Ribalda @ 2025-06-11  7:56 UTC (permalink / raw)
  To: Easwar Hariharan
  Cc: Andrew Morton, Jakub Kicinski, Julia Lawall, Nicolas Palix,
	cocci@inria.fr, LKML

On Tue, 10 Jun 2025 at 19:49, Easwar Hariharan
<eahariha@linux.microsoft.com> wrote:
>
> On 6/10/2025 10:45 AM, Easwar Hariharan wrote:
> > As requested by Ricardo and Jakub, implement report and context  modes
> > for the secs_to_jiffies Coccinelle script. While here, add the option to
> > look for opportunities to use secs_to_jiffies() in headers.
> >
> > Cc: Andrew Morton <akpm@linux-foundation.org>
> > Cc: Jakub Kicinski <kuba@kernel.org>
> > Cc: Ricardo Ribalda <ribalda@chromium.org>
Tested-by: Ricardo Ribalda <ribalda@chromium.org>

With this patch I can run coccicheck MODE=report with no error.

Thanks!


> > Closes: https://lore.kernel.org/all/20250129-secs_to_jiffles-v1-1-35a5e16b9f03@chromium.org/
> > Closes: https://lore.kernel.org/all/20250221162107.409ae333@kernel.org/
> > Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com>
> > ---
> >  scripts/coccinelle/misc/secs_to_jiffies.cocci | 49 +++++++++++++++++--
> >  1 file changed, 44 insertions(+), 5 deletions(-)
> >
> > diff --git a/scripts/coccinelle/misc/secs_to_jiffies.cocci b/scripts/coccinelle/misc/secs_to_jiffies.cocci
> > index 416f348174ca..f3241ce75a7b 100644
> > --- a/scripts/coccinelle/misc/secs_to_jiffies.cocci
> > +++ b/scripts/coccinelle/misc/secs_to_jiffies.cocci
> > @@ -7,26 +7,65 @@
> >  // Confidence: High
> >  // Copyright: (C) 2024 Easwar Hariharan, Microsoft
> >  // Keywords: secs, seconds, jiffies
> > -//
> > +// Options: --include-headers
> >
> >  virtual patch
> > +virtual report
> > +virtual context
> >
> > -@depends on patch@ constant C; @@
> > +@pconst depends on patch@ constant C; @@
> >
> >  - msecs_to_jiffies(C * 1000)
> >  + secs_to_jiffies(C)
> >
> > -@depends on patch@ constant C; @@
> > +@pconstms depends on patch@ constant C; @@
> >
> >  - msecs_to_jiffies(C * MSEC_PER_SEC)
> >  + secs_to_jiffies(C)
> >
> > -@depends on patch@ expression E; @@
> > +@pexpr depends on patch@ expression E; @@
> >
> >  - msecs_to_jiffies(E * 1000)
> >  + secs_to_jiffies(E)
> >
> > -@depends on patch@ expression E; @@
> > +@pexprms depends on patch@ expression E; @@
> >
> >  - msecs_to_jiffies(E * MSEC_PER_SEC)
> >  + secs_to_jiffies(E)
> > +
> > +@r depends on report && !patch@
> > +constant C;
> > +expression E;
> > +position p;
> > +@@
> > +
> > +(
> > +  msecs_to_jiffies(C@p * 1000)
> > +|
> > +  msecs_to_jiffies(C@p * MSEC_PER_SEC)
> > +|
> > +  msecs_to_jiffies(E@p * 1000)
> > +|
> > +  msecs_to_jiffies(E@p * MSEC_PER_SEC)
> > +)
> > +
> > +@c depends on context && !patch@
> > +constant C;
> > +expression E;
> > +@@
> > +
> > +(
> > +* msecs_to_jiffies(C * 1000)
> > +|
> > +* msecs_to_jiffies(C * MSEC_PER_SEC)
> > +|
> > +* msecs_to_jiffies(E * 1000)
> > +|
> > +* msecs_to_jiffies(E * MSEC_PER_SEC)
> > +)
> > +
> > +@script:python depends on report@
> > +p << r.p;
> > +@@
> > +
> > +coccilib.report.print_report(p[0], "WARNING opportunity for secs_to_jiffies()")
>
> Sorry, I was testing sending this to myself before sending to the list, I've added the mailing lists now.
>
> Thanks,
> Easwar (he/him)
>


-- 
Ricardo Ribalda

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [cocci] [PATCH v?] coccinelle: misc: secs_to_jiffies: Implement context and report modes
  2025-06-10 17:49 ` [cocci] [PATCH] coccinelle: misc: secs_to_jiffies: Implement context and report modes Easwar Hariharan
  2025-06-11  7:56   ` Ricardo Ribalda
@ 2025-06-12 16:08   ` Markus Elfring
  1 sibling, 0 replies; 3+ messages in thread
From: Markus Elfring @ 2025-06-12 16:08 UTC (permalink / raw)
  To: Easwar Hariharan, cocci
  Cc: LKML, Andrew Morton, Jakub Kicinski, Julia Lawall, Nicolas Palix,
	Ricardo Ribalda

>> ---
>> scripts/coccinelle/misc/secs_to_jiffies.cocci | 49 +++++++++++++++++--
…

Did you overlook the addition of patch version descriptions?
https://lore.kernel.org/all/?q=%22This+looks+like+a+new+version+of+a+previously+submitted+patch%22
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.15#n310

Will any information from previous patch review approaches trigger more desirable effects
also for such an SmPL script variant?


>> -@depends on patch@ constant C; @@
>> +@pconst depends on patch@ constant C; @@
>>  
>>  - msecs_to_jiffies(C * 1000)
>>  + secs_to_jiffies(C)
>>  
>> -@depends on patch@ constant C; @@
>> +@pconstms depends on patch@ constant C; @@
>>  
>>  - msecs_to_jiffies(C * MSEC_PER_SEC)
>>  + secs_to_jiffies(C)
>>  
>> -@depends on patch@ expression E; @@
>> +@pexpr depends on patch@ expression E; @@
>>  
>>  - msecs_to_jiffies(E * 1000)
>>  + secs_to_jiffies(E)
>>  
>> -@depends on patch@ expression E; @@
>> +@pexprms depends on patch@ expression E; @@
>>  
>>  - msecs_to_jiffies(E * MSEC_PER_SEC)
>>  + secs_to_jiffies(E)

Please reduce duplicate code for such SmPL rules.


>> +@r depends on report && !patch@
…

Please reconsider the condition selection once more.
SmPL code can probably be shared between the operation modes “orq” and “report”.
Would you get further development ideas from previous contributions?

Regards,
Markus

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-06-12 16:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20250610174521.12294-1-eahariha@linux.microsoft.com>
2025-06-10 17:49 ` [cocci] [PATCH] coccinelle: misc: secs_to_jiffies: Implement context and report modes Easwar Hariharan
2025-06-11  7:56   ` Ricardo Ribalda
2025-06-12 16:08   ` [cocci] [PATCH v?] " Markus Elfring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox