Messages in this thread | | | Date | Tue, 19 Feb 2008 14:13:30 -0800 | From | Randy Dunlap <> | Subject | Re: [PATCH] Provide u64 version of jiffies_to_usecs() in |
| |
On Tue, 19 Feb 2008 13:59:27 -0800 (PST) Jonathan Lim wrote:
> On Tue Feb 19 13:25:25 2008, randy.dunlap@oracle.com wrote: > > > > > +u64 inline jiffies_64_to_usecs(const u64 j) > > > +{ > > > + u64 tmp = j*HZ_TO_USEC_NUM + HZ_TO_USEC_DEN-1; > > > + do_div(tmp, HZ_TO_USEC_DEN); > > > > do_div() is: > > * The semantics of do_div() are: > > * > > * uint32_t do_div(uint64_t *n, uint32_t base) > > > > Maybe you want div64_64(). > > > > > + return tmp; > > > +} > > > +EXPORT_SYMBOL(jiffies_64_to_usecs); > > > + > > In include/asm-generic/div64.h, div64_64(uint64_t dividend, uint64_t divisor) > just returns (dividend / divisor). Isn't this the same as what I had before > in jiffies_64_to_usecs(), except that the arguments are of type u64?
but the (linker) problem is with X86_32, so don't look at asm-generic/div64.h. Look at lib/div64.c.
Or use div64() with the correct parameter types.
--- ~Randy
| |