Message ID | 20241210-converge-secs-to-jiffies-v3-2-ddfefd7e9f2a@linux.microsoft.com |
---|---|
State | New |
Headers | show |
Series | Converge on using secs_to_jiffies() | expand |
On Tue, Dec 10, 2024 at 10:02:33PM +0000, Easwar Hariharan wrote: Hi Easwar, > This script finds and suggests conversions of timeout patterns that > result in seconds-denominated timeouts to use the new secs_to_jiffies() > API in include/linux/jiffies.h for better readability. > > Suggested-by: Anna-Maria Behnsen <anna-maria@linutronix.de> > Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com> > --- > scripts/coccinelle/misc/secs_to_jiffies.cocci | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/scripts/coccinelle/misc/secs_to_jiffies.cocci b/scripts/coccinelle/misc/secs_to_jiffies.cocci > new file mode 100644 > index 0000000000000000000000000000000000000000..8bbb2884ea5db939c63fd4513cf5ca8c977aa8cb > --- /dev/null > +++ b/scripts/coccinelle/misc/secs_to_jiffies.cocci > @@ -0,0 +1,22 @@ > +// SPDX-License-Identifier: GPL-2.0-only > +/// > +/// Find usages of: > +/// - msecs_to_jiffies(value*1000) > +/// - msecs_to_jiffies(value*MSEC_PER_SEC) > +/// > +// Confidence: High > +// Copyright: (C) 2024 Easwar Hariharan, Microsoft > +// Keywords: secs, seconds, jiffies > +// > + > +virtual patch > + > +@depends on patch@ constant C; @@ > + > +- msecs_to_jiffies(C * 1000) > ++ secs_to_jiffies(C) > + > +@depends on patch@ constant C; @@ > + > +- msecs_to_jiffies(C * MSEC_PER_SEC) > ++ secs_to_jiffies(C) If you used this script only, then it did not seem to recognize line arch/s390/mm/cmm.c:207 mod_timer(&cmm_timer, jiffies + msecs_to_jiffies(cmm_timeout_seconds * MSEC_PER_SEC)); Thanks!
On Tue, 17 Dec 2024, Alexander Gordeev wrote: > On Tue, Dec 10, 2024 at 10:02:33PM +0000, Easwar Hariharan wrote: > > Hi Easwar, > > > This script finds and suggests conversions of timeout patterns that > > result in seconds-denominated timeouts to use the new secs_to_jiffies() > > API in include/linux/jiffies.h for better readability. > > > > Suggested-by: Anna-Maria Behnsen <anna-maria@linutronix.de> > > Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com> > > --- > > scripts/coccinelle/misc/secs_to_jiffies.cocci | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/scripts/coccinelle/misc/secs_to_jiffies.cocci b/scripts/coccinelle/misc/secs_to_jiffies.cocci > > new file mode 100644 > > index 0000000000000000000000000000000000000000..8bbb2884ea5db939c63fd4513cf5ca8c977aa8cb > > --- /dev/null > > +++ b/scripts/coccinelle/misc/secs_to_jiffies.cocci > > @@ -0,0 +1,22 @@ > > +// SPDX-License-Identifier: GPL-2.0-only > > +/// > > +/// Find usages of: > > +/// - msecs_to_jiffies(value*1000) > > +/// - msecs_to_jiffies(value*MSEC_PER_SEC) > > +/// > > +// Confidence: High > > +// Copyright: (C) 2024 Easwar Hariharan, Microsoft > > +// Keywords: secs, seconds, jiffies > > +// > > + > > +virtual patch > > + > > +@depends on patch@ constant C; @@ > > + > > +- msecs_to_jiffies(C * 1000) > > ++ secs_to_jiffies(C) > > + > > +@depends on patch@ constant C; @@ > > + > > +- msecs_to_jiffies(C * MSEC_PER_SEC) > > ++ secs_to_jiffies(C) > > If you used this script only, then it did not seem to recognize line arch/s390/mm/cmm.c:207 > > mod_timer(&cmm_timer, jiffies + msecs_to_jiffies(cmm_timeout_seconds * MSEC_PER_SEC)); There is the requirement that C is a constant, and cmm_timeout_seconds is not considered to be a constant, ie it is not all capital letters. Indeed, it doesn't seem to be a constant at all. I don't know if the requirement of being a comstant is really necessary. julia > > Thanks! >
On 12/17/2024 9:33 AM, Julia Lawall wrote: > > > On Tue, 17 Dec 2024, Alexander Gordeev wrote: > >> On Tue, Dec 10, 2024 at 10:02:33PM +0000, Easwar Hariharan wrote: >> >> Hi Easwar, >> >>> This script finds and suggests conversions of timeout patterns that >>> result in seconds-denominated timeouts to use the new secs_to_jiffies() >>> API in include/linux/jiffies.h for better readability. >>> >>> Suggested-by: Anna-Maria Behnsen <anna-maria@linutronix.de> >>> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com> >>> --- >>> scripts/coccinelle/misc/secs_to_jiffies.cocci | 22 ++++++++++++++++++++++ >>> 1 file changed, 22 insertions(+) >>> >>> diff --git a/scripts/coccinelle/misc/secs_to_jiffies.cocci b/scripts/coccinelle/misc/secs_to_jiffies.cocci >>> new file mode 100644 >>> index 0000000000000000000000000000000000000000..8bbb2884ea5db939c63fd4513cf5ca8c977aa8cb >>> --- /dev/null >>> +++ b/scripts/coccinelle/misc/secs_to_jiffies.cocci >>> @@ -0,0 +1,22 @@ >>> +// SPDX-License-Identifier: GPL-2.0-only >>> +/// >>> +/// Find usages of: >>> +/// - msecs_to_jiffies(value*1000) >>> +/// - msecs_to_jiffies(value*MSEC_PER_SEC) >>> +/// >>> +// Confidence: High >>> +// Copyright: (C) 2024 Easwar Hariharan, Microsoft >>> +// Keywords: secs, seconds, jiffies >>> +// >>> + >>> +virtual patch >>> + >>> +@depends on patch@ constant C; @@ >>> + >>> +- msecs_to_jiffies(C * 1000) >>> ++ secs_to_jiffies(C) >>> + >>> +@depends on patch@ constant C; @@ >>> + >>> +- msecs_to_jiffies(C * MSEC_PER_SEC) >>> ++ secs_to_jiffies(C) >> >> If you used this script only, then it did not seem to recognize line arch/s390/mm/cmm.c:207 >> >> mod_timer(&cmm_timer, jiffies + msecs_to_jiffies(cmm_timeout_seconds * MSEC_PER_SEC)); > > There is the requirement that C is a constant, and cmm_timeout_seconds is > not considered to be a constant, ie it is not all capital letters. > Indeed, it doesn't seem to be a constant at all. I don't know if the > requirement of being a comstant is really necessary. > > julia > >> >> Thanks! >> As the cover letter says, this is part 1. I intend to do further parts that address the cases where the multiplicand is an expression, as well as the cases where the timeout provided to msecs_to_jiffies() is denominated in seconds (i.e. ends in 000) Thanks, Easwar
diff --git a/scripts/coccinelle/misc/secs_to_jiffies.cocci b/scripts/coccinelle/misc/secs_to_jiffies.cocci new file mode 100644 index 0000000000000000000000000000000000000000..8bbb2884ea5db939c63fd4513cf5ca8c977aa8cb --- /dev/null +++ b/scripts/coccinelle/misc/secs_to_jiffies.cocci @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: GPL-2.0-only +/// +/// Find usages of: +/// - msecs_to_jiffies(value*1000) +/// - msecs_to_jiffies(value*MSEC_PER_SEC) +/// +// Confidence: High +// Copyright: (C) 2024 Easwar Hariharan, Microsoft +// Keywords: secs, seconds, jiffies +// + +virtual patch + +@depends on patch@ constant C; @@ + +- msecs_to_jiffies(C * 1000) ++ secs_to_jiffies(C) + +@depends on patch@ constant C; @@ + +- msecs_to_jiffies(C * MSEC_PER_SEC) ++ secs_to_jiffies(C)
This script finds and suggests conversions of timeout patterns that result in seconds-denominated timeouts to use the new secs_to_jiffies() API in include/linux/jiffies.h for better readability. Suggested-by: Anna-Maria Behnsen <anna-maria@linutronix.de> Signed-off-by: Easwar Hariharan <eahariha@linux.microsoft.com> --- scripts/coccinelle/misc/secs_to_jiffies.cocci | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+)