为什么我们必须使用 hrtimers 指定两次 hrtimer_mode
Why do we have to specify hrtimer_mode twice using hrtimers
为什么我们在使用hrtimers时需要指定两次hrtimer_mode
:
1.Timer初始化:
void hrtimer_init(struct hrtimer *timer, clockid_t which_clock,
enum hrtimer_mode mode);
2.Starting一个定时器:
void hrtimer_start(struct hrtimer *timer, ktime_t tim,
const enum hrtimer_mode mode);
如果我在两个函数中指定不同的模式会怎样?
HRTIMER_MODE_REL
影响 hrtimer_init()
中的时钟选择和 hrtimer_start()
中的超时解释。
如果您将 CLOCK_REALTIME 计时器初始化为绝对计时器,然后使用相对超时,则超时可能会受到时钟修改的影响(从用户空间的角度来看,这违反了 POSIX) .
为什么我们在使用hrtimers时需要指定两次hrtimer_mode
:
1.Timer初始化:
void hrtimer_init(struct hrtimer *timer, clockid_t which_clock,
enum hrtimer_mode mode);
2.Starting一个定时器:
void hrtimer_start(struct hrtimer *timer, ktime_t tim,
const enum hrtimer_mode mode);
如果我在两个函数中指定不同的模式会怎样?
HRTIMER_MODE_REL
影响 hrtimer_init()
中的时钟选择和 hrtimer_start()
中的超时解释。
如果您将 CLOCK_REALTIME 计时器初始化为绝对计时器,然后使用相对超时,则超时可能会受到时钟修改的影响(从用户空间的角度来看,这违反了 POSIX) .