[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <b06505de-e119-40a2-acc8-b0ac47d6c941@csgroup.eu>
Date: Wed, 18 Dec 2024 07:30:03 +0100
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Easwar Hariharan <eahariha@...ux.microsoft.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Alexander Gordeev <agordeev@...ux.ibm.com>,
Gerald Schaefer <gerald.schaefer@...ux.ibm.com>,
Heiko Carstens <hca@...ux.ibm.com>, Vasily Gorbik <gor@...ux.ibm.com>,
Christian Borntraeger <borntraeger@...ux.ibm.com>,
Sven Schnelle <svens@...ux.ibm.com>, Josh Poimboeuf <jpoimboe@...nel.org>,
Jiri Kosina <jikos@...nel.org>, Miroslav Benes <mbenes@...e.cz>,
Petr Mladek <pmladek@...e.com>, Joe Lawrence <joe.lawrence@...hat.com>
Cc: linux-s390@...r.kernel.org, linux-kernel@...r.kernel.org,
live-patching@...r.kernel.org
Subject: Re: [PATCH v4 2/2] livepatch: Convert timeouts to secs_to_jiffies()
Le 18/12/2024 à 00:09, Easwar Hariharan a écrit :
> Commit b35108a51cf7 ("jiffies: Define secs_to_jiffies()") introduced
> secs_to_jiffies(). As the value here is a multiple of 1000, use
> secs_to_jiffies() instead of msecs_to_jiffies to avoid the multiplication.
>
> This is converted using scripts/coccinelle/misc/secs_to_jiffies.cocci with
> the following Coccinelle rules:
>
> @@ constant C; @@
>
> - msecs_to_jiffies(C * 1000)
> + secs_to_jiffies(C)
>
> @@ constant C; @@
>
> - msecs_to_jiffies(C * MSEC_PER_SEC)
> + secs_to_jiffies(C)
>
> While here, replace the schedule_delayed_work() call with a 0 timeout
> with an immediate schedule_work() call.
>
> Signed-off-by: Easwar Hariharan <eahariha@...ux.microsoft.com>
Reviewed-by: Christophe Leroy <christophe.leroy@...roup.eu>
> ---
> samples/livepatch/livepatch-callbacks-busymod.c | 3 +--
> samples/livepatch/livepatch-shadow-fix1.c | 3 +--
> samples/livepatch/livepatch-shadow-mod.c | 15 +++++----------
> 3 files changed, 7 insertions(+), 14 deletions(-)
>
> diff --git a/samples/livepatch/livepatch-callbacks-busymod.c b/samples/livepatch/livepatch-callbacks-busymod.c
> index 378e2d40271a..0220f7715fcc 100644
> --- a/samples/livepatch/livepatch-callbacks-busymod.c
> +++ b/samples/livepatch/livepatch-callbacks-busymod.c
> @@ -44,8 +44,7 @@ static void busymod_work_func(struct work_struct *work)
> static int livepatch_callbacks_mod_init(void)
> {
> pr_info("%s\n", __func__);
> - schedule_delayed_work(&work,
> - msecs_to_jiffies(1000 * 0));
> + schedule_work(&work);
> return 0;
> }
>
> diff --git a/samples/livepatch/livepatch-shadow-fix1.c b/samples/livepatch/livepatch-shadow-fix1.c
> index 6701641bf12d..f3f153895d6c 100644
> --- a/samples/livepatch/livepatch-shadow-fix1.c
> +++ b/samples/livepatch/livepatch-shadow-fix1.c
> @@ -72,8 +72,7 @@ static struct dummy *livepatch_fix1_dummy_alloc(void)
> if (!d)
> return NULL;
>
> - d->jiffies_expire = jiffies +
> - msecs_to_jiffies(1000 * EXPIRE_PERIOD);
> + d->jiffies_expire = jiffies + secs_to_jiffies(EXPIRE_PERIOD);
>
> /*
> * Patch: save the extra memory location into a SV_LEAK shadow
> diff --git a/samples/livepatch/livepatch-shadow-mod.c b/samples/livepatch/livepatch-shadow-mod.c
> index 7e753b0d2fa6..5d83ad5a8118 100644
> --- a/samples/livepatch/livepatch-shadow-mod.c
> +++ b/samples/livepatch/livepatch-shadow-mod.c
> @@ -101,8 +101,7 @@ static __used noinline struct dummy *dummy_alloc(void)
> if (!d)
> return NULL;
>
> - d->jiffies_expire = jiffies +
> - msecs_to_jiffies(1000 * EXPIRE_PERIOD);
> + d->jiffies_expire = jiffies + secs_to_jiffies(EXPIRE_PERIOD);
>
> /* Oops, forgot to save leak! */
> leak = kzalloc(sizeof(*leak), GFP_KERNEL);
> @@ -152,8 +151,7 @@ static void alloc_work_func(struct work_struct *work)
> list_add(&d->list, &dummy_list);
> mutex_unlock(&dummy_list_mutex);
>
> - schedule_delayed_work(&alloc_dwork,
> - msecs_to_jiffies(1000 * ALLOC_PERIOD));
> + schedule_delayed_work(&alloc_dwork, secs_to_jiffies(ALLOC_PERIOD));
> }
>
> /*
> @@ -184,16 +182,13 @@ static void cleanup_work_func(struct work_struct *work)
> }
> mutex_unlock(&dummy_list_mutex);
>
> - schedule_delayed_work(&cleanup_dwork,
> - msecs_to_jiffies(1000 * CLEANUP_PERIOD));
> + schedule_delayed_work(&cleanup_dwork, secs_to_jiffies(CLEANUP_PERIOD));
> }
>
> static int livepatch_shadow_mod_init(void)
> {
> - schedule_delayed_work(&alloc_dwork,
> - msecs_to_jiffies(1000 * ALLOC_PERIOD));
> - schedule_delayed_work(&cleanup_dwork,
> - msecs_to_jiffies(1000 * CLEANUP_PERIOD));
> + schedule_delayed_work(&alloc_dwork, secs_to_jiffies(ALLOC_PERIOD));
> + schedule_delayed_work(&cleanup_dwork, secs_to_jiffies(CLEANUP_PERIOD));
>
> return 0;
> }
Powered by blists - more mailing lists