On Tue, 2007-04-24 at 14:57 -0700, Stephen Hemminger wrote: > On Wed, 25 Apr 2007 06:55:39 +0900 (JST) > YOSHIFUJI Hideaki / 吉藤英明 <[EMAIL PROTECTED]> wrote: > > > In article <[EMAIL PROTECTED]> (at Tue, 24 Apr 2007 10:04:20 -0700), > > Stephen Hemminger <[EMAIL PROTECTED]> says: > > > > > Yoshifuji-san had the right idea, but ktime_to_us needs to be defined > > > in a way that works on both 64 and 32bit platforms. > > > > No, this does not cure. > > > > > > +#define ktime_to_us(kt) ((kt).tv64 / NSEC_PER_SEC) > > > + > > > > NSEC_PER_USEC? > > On 64 bit platforms, ktime stores nano-seconds in a 64 bit value, so > this is correct.
Err, nsec_value / NSEC_PER_SEC results in seconds AFAICS nsec_value / NSEC_PER_USEC gives you microseconds > > > > > +static inline s64 ktime_to_us(const ktime_t kt) > > > +{ > > > + return (s64) kt.tv_sec * USEC_PER_SEC + kt.tv_nsec / NSEC_PER_USEC; > > > +} > > > + > > > > Please do NOT use division here, which was the source of the > > linkage error, and the reason why I posted a patch to use > > ktime_to_timeval(). > > On 32 bit platforms, ktime stores as two 32 bit values. Therefore the > division is only 32bit and therefore okay. Nope. #if BITS_PER_LONG != 64 && !defined(CONFIG_KTIME_SCALAR) .... and on i386 config KTIME_SCALAR bool default y so you take the ktime_to_timeval is probably the right way for it. tglx - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html