[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Z3awaFzhgvY3bypu@pathway.suse.cz>
Date: Thu, 2 Jan 2025 16:27:36 +0100
From: Petr Mladek <pmladek@...e.com>
To: Easwar Hariharan <eahariha@...ux.microsoft.com>
Cc: Christophe Leroy <christophe.leroy@...roup.eu>,
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>,
Joe Lawrence <joe.lawrence@...hat.com>, 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()
On Wed 2024-12-18 09:35:46, Easwar Hariharan wrote:
> On 12/18/2024 12:48 AM, Christophe Leroy wrote:
> >
> >
> > Le 18/12/2024 à 09:38, Petr Mladek a écrit :
> >> On Tue 2024-12-17 23:09:59, Easwar Hariharan wrote:
> >>> 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.
> >>>
> >>> --- 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);
> >>
> >> Is it safe to use schedule_work() for struct delayed_work?
> >
> > Should be, but you are right it should then be a standard work not a
> > delayed work.
> >
> > So probably the easiest is to keep
> >
> > schedule_delayed_work(&work, 0)
> >
> > And eventually changing it to a not delayed work could be a follow-up
> > patch.
> >
> >>
>
> Thanks for the catch, Petr! This suggestion would effectively revert
> this patch to the v3 version, albeit with some extra explanation in the
> commit message. I'd propose just keeping the v3 in the next branch where
> it is.
>
> Andrew, Petr, Christophe, what do you think?
I am fine with keeping v3 in next.
Best Regards,
Petr
Powered by blists - more mailing lists