В Linux переменная xtime (структура типа timepec внутри ядра Linux) хранит текущее время и дату. У него есть два поля - tv_sec, в котором хранится количество секунд с 1 января 1970 года, и tv_nsec, в котором хранится количество наносекунд, прошедших в течение последней секунды.
Значение xtime обновляется как часть процедуры обработки прерывания для прерывания, генерируемого программируемым таймером интервала на борту. По умолчанию ядро Linux программирует это каждые 1 миллисекунду (это называется тик).
Я понимаю, что ядро зависит от прерывания для множества других вещей, помимо обновления системных часов, но почему мы на самом деле редактируем переменную xtime на каждом тике? Разве это не бессмысленно, поскольку мы будем в основном перезаписывать его с тем же значением?