0
我想明白了,核函数:lock_timer_base(结构timer_list *,无符号长*)
__mod_timer(struct timer_list *timer, unsigned long expires,
bool pending_only, int pinned)
这在呼唤lock_timer_base
方法。我不确定它究竟想做什么?任何想法?
我想明白了,核函数:lock_timer_base(结构timer_list *,无符号长*)
__mod_timer(struct timer_list *timer, unsigned long expires,
bool pending_only, int pinned)
这在呼唤lock_timer_base
方法。我不确定它究竟想做什么?任何想法?
它试图重新安排计时器。
timer
指向计时器对象,该计时器对象可能被设置为将来某个时间过期。
此功能要改变它,所以它会在另一时间过期(expires
)。需要
锁,以确保数据不会损坏。
例如,旧的到期时间可能是刚才的时间,而另一个CPU正在同时处理同一个计时器。锁在那里,以确保事情仍然有效。
感谢ugoren,对于Linux用户空间定时器的任何想法(设置定时器时没有同时阻塞调用过程)。从我所知道的是jst 2 sys调用:timer_settime,Alarm。 – 2012-04-30 15:40:56
在用户空间中,定时器并不是那么受欢迎。他们随时弹出,让你的代码具有多线程的特点。偶尔检查时间并做你想做的事情会更好。如果你使用'select' /'poll' /'epoll',你可以告诉他们什么时候醒来。 – ugoren 2012-04-30 17:31:16