Po apdejcie Ubuntu do wersji 9.04 zaczęły się problemy z "czasem". Na początku opóźnienie zegara do 3h w ciągu doby nie bardzo mi przeszkadzały (a może to brak czasu na zajęcie się tym...? ;) ) - ot, odsłuchane utworki submitowały się na lasta jakby z opóźnieniem. Szybkie obejście w postaci aktualizacji czasu po NTP dodane do /etc/cron.hourly chwilowo rozwiązało problem.
Po kilku dniach sytuacja jakby się pogorszyła (nie wiem, czy to możliwe z technicznego punktu widzenia), ale w momencie, gdy zegar zaczął stawać na 5min, przez co nie dało się nic zrobić na kompie (a próby commita do SVNa wieszały oczywiście Eclipse'a), a połowa odsłuchanych utworków przestała się submitować (lastmp twierdził, że słuchanie zaczęło się od środka), trzeba było zapoznać się ze źródłami czasu.
cat /sys/devices/system/clocksource/clocksource0/available_clocksource
hpet acpi_pm jiffies tsc
cat /sys/devices/system/clocksource/clocksource0/current_clocksource
hpet
Wpisywanie kolejnych wartości do current_closksource nie dawało widocznych objawów poprawy, przy czym użycie Jiffy'ego powodowało całkowite zatrzymanie się zegara, co po chwili musiało się kończyć resetem (w sumie całkiem zabawnie to wyglądało ;) ). Mimo, że jak widać, komp używał źródła HPET, w dmesg znalazł się następujący wpis:
dmesg | grep tsc
Clocksource tsc unstable (delta = -<jakaś liczba> ns)
Rozwiązaniem okazało się wyłączenie TSC przy bootowaniu kompa:
cat /boot/grub/menu.lst | grep kernel
kernel <bla bla> clocksource=acpi_pm hpet=disable
Jak widać, zgodnie z radami znalezionymi na forach, przełączyłem także źródło czasu na ACPI PM. Rezultat jest niezły, choć nie idealny: w tej chwili, ok. 6h po synchronizacji czasu, spóźnienie zegara wynosi ~30sek. Jak dla mnie może być. ;)