2017-09-15 83 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中斷。 –

相關問題