diff --git a/libcfs/include/libcfs/linux/linux-time.h b/libcfs/include/libcfs/linux/linux-time.h index 2dd750ff7ec5467577ec47c963a1366d9a63d26d..dc8438544ee6d9471799f1211a6d107b3d39c89f 100644 --- a/libcfs/include/libcfs/linux/linux-time.h +++ b/libcfs/include/libcfs/linux/linux-time.h @@ -237,31 +237,6 @@ static inline time_t cfs_duration_sec(cfs_duration_t d) return d / msecs_to_jiffies(MSEC_PER_SEC); } -static inline void cfs_duration_usec(cfs_duration_t d, struct timeval *s) -{ -#if (BITS_PER_LONG == 32) - if (msecs_to_jiffies(MSEC_PER_SEC) > 4096) { - __u64 t; - - s->tv_sec = d / msecs_to_jiffies(MSEC_PER_SEC); - t = (d - (cfs_duration_t)s->tv_sec * - msecs_to_jiffies(MSEC_PER_SEC)) * USEC_PER_SEC; - do_div(t, msecs_to_jiffies(MSEC_PER_SEC)); - s->tv_usec = t; - } else { - s->tv_sec = d / msecs_to_jiffies(MSEC_PER_SEC); - s->tv_usec = ((d - (cfs_duration_t)s->tv_sec * - msecs_to_jiffies(MSEC_PER_SEC)) * - USEC_PER_SEC) / msecs_to_jiffies(MSEC_PER_SEC); - } -#else - s->tv_sec = d / msecs_to_jiffies(MSEC_PER_SEC); - s->tv_usec = ((d - (cfs_duration_t)s->tv_sec * - msecs_to_jiffies(MSEC_PER_SEC)) * - USEC_PER_SEC) / msecs_to_jiffies(MSEC_PER_SEC); -#endif -} - static inline void cfs_duration_nsec(cfs_duration_t d, struct timespec *s) { #if (BITS_PER_LONG == 32) diff --git a/lnet/selftest/conrpc.c b/lnet/selftest/conrpc.c index b445183097a09896a32d9ee809d2d77534936658..749714af20c0e39396d7c410022e933b21b640d0 100644 --- a/lnet/selftest/conrpc.c +++ b/lnet/selftest/conrpc.c @@ -503,7 +503,7 @@ lstcon_rpc_trans_interpreter(lstcon_rpc_trans_t *trans, dur = (cfs_duration_t)cfs_time_sub(crpc->crp_stamp, (cfs_time_t)console_session.ses_id.ses_stamp); - cfs_duration_usec(dur, &tv); + jiffies_to_timeval(dur, &tv); if (copy_to_user(&ent->rpe_peer, &nd->nd_id, sizeof(struct lnet_process_id)) || diff --git a/lnet/selftest/framework.c b/lnet/selftest/framework.c index da0c01214dbe4f3b62ea8b584f6864c9fdd677c9..032d95ef3492bc9aa03d498025ad2281b449d579 100644 --- a/lnet/selftest/framework.c +++ b/lnet/selftest/framework.c @@ -376,7 +376,6 @@ sfw_get_stats (srpc_stat_reqst_t *request, srpc_stat_reply_t *reply) sfw_session_t *sn = sfw_data.fw_session; struct sfw_counters *cnt = &reply->str_fw; sfw_batch_t *bat; - struct timeval tv; reply->str_sid = (sn == NULL) ? LST_INVALID_SID : sn->sn_id; @@ -395,10 +394,7 @@ sfw_get_stats (srpc_stat_reqst_t *request, srpc_stat_reply_t *reply) /* send over the msecs since the session was started - with 32 bits to send, this is ~49 days */ - cfs_duration_usec(cfs_time_sub(cfs_time_current(), - sn->sn_started), &tv); - - cnt->running_ms = (__u32)(tv.tv_sec * 1000 + tv.tv_usec / 1000); + cnt->running_ms = jiffies_to_msecs(jiffies - sn->sn_started); cnt->brw_errors = atomic_read(&sn->sn_brw_errors); cnt->ping_errors = atomic_read(&sn->sn_ping_errors); cnt->zombie_sessions = atomic_read(&sfw_data.fw_nzombies);