HZ
jiffies
例如:
unsigned long timeout = jiffies + (3*HZ) ;
}
return SUCCESS;
timeout这个值,被赋值成了当前的时钟中断数目 加上 3秒钟时钟中断的次数。
当time_after成功返回时,表示已经发生了这么多次的时钟中断,即过了三秒钟。
if (stream->rescheduled) {
ehci_info(ehci, "ep%ds-iso rescheduled " "%lu times in %lu
}
而这段代码则计算出了 开始到现在 所经历的时间,以秒为单位。
time_after用的是忙等,这样对cpu资源时钟浪费,用schedule_timeout()可以将cpu让给其他人使用
unsigned long timeout = jiffies + HZ;
set_current_state(TASK_UNINTERRUPTIBLE);
schedule_timeout(timeout);
这样就可以让出一秒钟给别人。