time64_t dl_delay_time;
/** baseline to caculate dl_delay_time */
time64_t dl_time_base;
- /** jiffies to send the next delayed message */
- unsigned long dl_msg_send;
+ /** seconds until we send the next delayed message */
+ time64_t dl_msg_send;
/** delayed message list */
struct list_head dl_msg_list;
/** statistic of delayed messages */
msg->msg_delay_send = ktime_get_seconds() + attr->u.delay.la_latency;
if (rule->dl_msg_send == -1) {
rule->dl_msg_send = msg->msg_delay_send;
- mod_timer(&rule->dl_timer, rule->dl_msg_send);
+ mod_timer(&rule->dl_timer,
+ jiffies + cfs_time_seconds(rule->dl_msg_send));
}
spin_unlock(&rule->dl_lock);
msg = list_entry(rule->dl_msg_list.next,
struct lnet_msg, msg_list);
rule->dl_msg_send = msg->msg_delay_send;
- mod_timer(&rule->dl_timer, rule->dl_msg_send);
+ mod_timer(&rule->dl_timer,
+ jiffies + cfs_time_seconds(rule->dl_msg_send));
}
spin_unlock(&rule->dl_lock);
}