2015-05-23 13:52:12

by Nicholas Mc Guire

[permalink] [raw]
Subject: [PATCH] net: use msecs_to_jiffies for conversion to jiffies

API compliance scanning with coccinelle flagged:
./net/irda/timer.c:63:35-37: use of msecs_to_jiffies probably perferable

Converting milliseconds to jiffies by "val * HZ / 1000" technically
is not a clean solution as it does not handle all corner cases correctly.
By changing the conversion to use msecs_to_jiffies(val) conversion is
correct in all cases. Further the () around the arithmetic expression
was dropped.

Patch was compile tested for x86_64_defconfig + CONFIG_IRDA=m

Patch is against 4.1-rc4 (localversion-next is -next-20150522)

Signed-off-by: Nicholas Mc Guire <[email protected]>
---

Should the Status note at the top of the file be updated ? it seems
the file has been marked experimental since atleast 1999 ?

net/irda/timer.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/irda/timer.c b/net/irda/timer.c
index 0c4c115..f2280f7 100644
--- a/net/irda/timer.c
+++ b/net/irda/timer.c
@@ -60,8 +60,8 @@ void irlap_start_query_timer(struct irlap_cb *self, int S, int s)
* to avoid messing with for incoming connections requests and
* to accommodate devices that perform discovery slower than us.
* Jean II */
- timeout = ((sysctl_slot_timeout * HZ / 1000) * (S - s)
- + XIDEXTRA_TIMEOUT + SMALLBUSY_TIMEOUT);
+ timeout = msecs_to_jiffies(sysctl_slot_timeout) * (S - s)
+ + XIDEXTRA_TIMEOUT + SMALLBUSY_TIMEOUT;

/* Set or re-set the timer. We reset the timer for each received
* discovery query, which allow us to automatically adjust to
--
1.7.10.4


2015-05-24 20:10:32

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] net: use msecs_to_jiffies for conversion to jiffies

From: Nicholas Mc Guire <[email protected]>
Date: Sat, 23 May 2015 15:43:36 +0200

> API compliance scanning with coccinelle flagged:
> ./net/irda/timer.c:63:35-37: use of msecs_to_jiffies probably perferable
>
> Converting milliseconds to jiffies by "val * HZ / 1000" technically
> is not a clean solution as it does not handle all corner cases correctly.
> By changing the conversion to use msecs_to_jiffies(val) conversion is
> correct in all cases. Further the () around the arithmetic expression
> was dropped.
>
> Patch was compile tested for x86_64_defconfig + CONFIG_IRDA=m
>
> Patch is against 4.1-rc4 (localversion-next is -next-20150522)
>
> Signed-off-by: Nicholas Mc Guire <[email protected]>

The appropriate subsystem prefix for this change is not "net: "
but rather "irda: ", please update your Subject line accordingly
and resubmit.

Thanks.

2015-05-25 05:50:29

by Nicholas Mc Guire

[permalink] [raw]
Subject: Re: [PATCH] net: use msecs_to_jiffies for conversion to jiffies

On Sun, 24 May 2015, David Miller wrote:

> From: Nicholas Mc Guire <[email protected]>
> Date: Sat, 23 May 2015 15:43:36 +0200
>
> > API compliance scanning with coccinelle flagged:
> > ./net/irda/timer.c:63:35-37: use of msecs_to_jiffies probably perferable
> >
> > Converting milliseconds to jiffies by "val * HZ / 1000" technically
> > is not a clean solution as it does not handle all corner cases correctly.
> > By changing the conversion to use msecs_to_jiffies(val) conversion is
> > correct in all cases. Further the () around the arithmetic expression
> > was dropped.
> >
> > Patch was compile tested for x86_64_defconfig + CONFIG_IRDA=m
> >
> > Patch is against 4.1-rc4 (localversion-next is -next-20150522)
> >
> > Signed-off-by: Nicholas Mc Guire <[email protected]>
>
> The appropriate subsystem prefix for this change is not "net: "
> but rather "irda: ", please update your Subject line accordingly
> and resubmit.
>
sorry - the net: cam from looking at the output of
hofrat@debian:~/git/linux-next$ git log --oneline net/irda/timer.c
d82603c treewide: Replace incomming with incoming in all comments and strings
9ffc93f Remove all #inclusions of asm/system.h
25985ed Fix common misspellings
5eaa65b net: Make static
db955170 more UTF-8 conversions
6819bc2 [NET] IRDA: Fix whitespace errors.
6ab3d56 Remove obsolete #include <linux/config.h>

where it was not really clear what prefix to use - and net: seemed the most
fitting. will fix it up and resend.

thx!
hofrat