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@xxxxxxxxxxxxx> >>> Signed-off-by: Easwar Hariharan <eahariha@xxxxxxxxxxxxxxxxxxx> >>> --- >>> 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