Apa yang Anda coba lakukan adalah cara kerja Linux -- 10 tahun yang lalu.
Ini menjadi lebih rumit sejak saat itu. Beberapa komplikasi yang saya ketahui adalah:
- Ada offset -5 menit sehingga kernel selalu menguji rollover sekejap.
- Baris perintah kernel dapat menetapkan nilai lewati sekejap sehingga kernel 1000 Hz dapat berjalan pada 250 atau 100 atau 10.
- Berbagai upaya di NoHZ sama sekali tidak menggunakan centang pengatur waktu dan hanya mengandalkan dering pengatur waktu dan HPET.
- Saya yakin ada beberapa ekstensi tamu virtual yang menonaktifkan tanda centang dan menanyakan hypervisor host kapan pun tanda centang diperlukan. Seperti build Xen atau UML.
Itu sebabnya kernel memiliki fungsi yang dirancang untuk memberi tahu Anda waktu. Gunakan mereka atau cari tahu apa yang mereka lakukan dan salin.