2017-09-15 21 views
0

阅读Linux之后时间更新手册 -如何当勾选中断被禁止

Understanding The Linux Kernel

我留下悬而未决的问题。 tick中断处理程序是内核保持时间数据结构更新的地方。在手动存在关于恢复丢失蜱中断非常有限explenation,用于示例 -

cur_timer指向timer_hpet对象:在这种情况下,芯片HPET是 定时器中断的来源。 mark_offset方法检查自上次打勾以来没有发生过定时器中断 ;在这种不太可能的情况下,它会相应地更新jiffies_64。

所以,任何人都可以摆脱光上如何linux内核的情况下,跟踪时间滴答中断失去了什么? “相应”代表什么?

回答

2

您只能阅读HPET值。中断是有用的,但不是必需的。

“相应地更新jiffies_64”意味着将其设置为它应该有的值,如果中断没有丢失。

+0

好的,但它仍然没有回答主要问题。可以说HPET不是时钟源,内核应该为进程提供可靠的时钟。因此,如果我禁用tick中断,并且与定时器相关的内核数据结构不会更新(jiffies,xtimer ...),mark_offset()函数如何才能恢复丢失的ticks? – user2162550

+0

@ user2162550:如果你想知道*某些*你必须阅读Linux计时器代码。在没有周期性滴答的每种情况下,内核都需要一个外部时间源。这可以是HPET,TSC,或者我认为某种形式的实时时钟。如果什么都不可用,那么任何一个时间都会出错,否则你将无法禁用tick中断。 –

相关问题