October 2017
Intermediate to advanced
354 pages
9h 28m
English
The clock_event_device abstraction is for the core timing framework; we need a separate abstraction for tick devices per CPU; this is achieved through the structure struct tick_device and macro DEFINE_PER_CPU(), defined in kernel/time/tick-sched.h and include/linux/percpu-defs.h, respectively:
enum tick_device_mode { TICKDEV_MODE_PERIODIC, TICKDEV_MODE_ONESHOT,};struct tick_device { struct clock_event_device *evtdev; enum tick_device_mode mode;}
A tick_device could be either periodic or one shot. It's set through the enum tick_device_mode.