Thread (10 messages) flat view 10 messages, 5 authors, 2004-03-29

Re: [PATCH] Consolidate multiple implementations of jiffies-msecs conversions.

From: Sridhar Samudrala <hidden>
Date: 2004-03-26 18:50:49
Also in: lkml

On Fri, 26 Mar 2004, Edgar Toernig wrote:
Sridhar Samudrala wrote:
quoted
The following patch to 2.6.5-rc2 consolidates 6 different implementations
of msecs to jiffies and 3 different implementation of jiffies to msecs.
All of them now use the generic msecs_to_jiffies() and jiffies_to_msecs()
that are added to include/linux/time.h
[...]
-#define MSECS(ms)  (((ms)*HZ/1000)+1)
-return (((ms)*HZ+999)/1000);
+return (msecs / 1000) * HZ + (msecs % 1000) * HZ / 1000;
Did you check that all users of the new version will work correctly
with your rounding?  Explicit round-up of delays is often required,
especially when talking to hardware...
I don't see any issues with the 2.6 default HZ value of 1000 as they become
no-ops and there is no need for any rounding.
I guess you are referring to cases when HZ < 1000(ex: 100) and msecs is
less than 10. In those cases, the new version returns 0, whereas some of the
older versions return 1.

If i am not mistaken, Jeff Garjik/David Miller are the maintainers for most
of the users of these routines and i have got an OK from them.
   drivers/block/carmel.c
   drivers/net/tulip/de204x.c
   include/linux/libata.h
   include/net/irda/irda.h
   drivers/atm/fore200e.c
   include/net/sctp/sctp.h

The only other place where the older version is different is
   drivers/char/watchdot/shwdt.c

Dave, Jeff
  Do you see any issues with the new generic versions of these routines?

Thanks
Sridhar
Ciao, ET.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help