Ubuntu 16.04.1 LTS Kernel 4.10.0-38-общий MB: ASRock X299 Taichi CPU: Intel i7-7820X, без разгона
В этом примере должен воспроизводиться непрерывный звук в течение 10 секунд, но он прерывается на несколько раз.
Компиляция:
g++ pulsefail.cpp -std=c++11 -lpulse-simple -lpulse
./a.out
После добавления следующих параметров командной строки ядра:
clocksource=hpet lapic=notscdeadline
Образец работает как задумано. И общая производительность системы и отзывчивость намного лучше.
Я также пытался измерить частоту TSC в этом примере, используя инструкцию __rdtsc. До добавления опций ядра он рассчитывался до ~ 3,75 ГГц, но после применения обходного пути он стал ~ 3,60 ГГц.
Известные результаты 'dmesg | grep TSC 'после изменения параметров ядра:
[ 0.000000] [Firmware Bug]: TSC ADJUST: CPU0: -2477218568993634 force to 0
[ 0.183572] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU1: 0
[ 0.184601] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU2: 0
[ 0.185638] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU3: 0
[ 0.186669] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU4: 0
[ 0.187698] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU5: 0
[ 0.188724] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU6: 0
[ 0.189807] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU7: 0
[ 0.190802] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU8: 0
[ 0.191845] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU9: 0
[ 0.192869] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU10: 0
[ 0.193901] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU11: 0
[ 0.194928] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU12: 0
[ 0.195960] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU13: 0
[ 0.196986] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU14: 0
[ 0.198070] [Firmware Bug]: TSC ADJUST differs: Reference CPU0: -2477218568993634 CPU15: 0
[ 16.499107] vboxdrv: TSC mode is Invariant, tentative frequency 3600020432 Hz
Без них ничего не будет, кроме изменения источника синхронизации. Здесь нет ошибок или чего-то еще, но частота TSC рассчитывается близко к 3,75 ГГц.
Обновление: исправлено ядро для некорректной проблемы с частотой TSC. Сборка ядра с помощью этого патча устраняет проблему.
] ]