@@ -487,7 +487,7 @@ struct lnet_delay_rule {
/** baseline to caculate dl_delay_time */
time64_t dl_time_base;
/** jiffies to send the next delayed message */
- unsigned long dl_msg_send;
+ time64_t dl_msg_send;
/** delayed message list */
struct list_head dl_msg_list;
/** statistic of delayed messages */
@@ -592,7 +592,7 @@ struct delay_daemon_data {
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 + rule->dl_msg_send * HZ);
}
spin_unlock(&rule->dl_lock);
@@ -664,7 +664,7 @@ struct delay_daemon_data {
msg = list_first_entry(&rule->dl_msg_list,
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 + rule->dl_msg_send * HZ);
}
spin_unlock(&rule->dl_lock);
}