1

Ubuntu 16.04.1 LTS Kernel 4.10.0-38-generic MB: ASRock X299 Taichi CPU: Intel i7-7820X, no overclocking

This example should produce contiguous sound for 10 seconds, but it breaks several times.

https://pastebin.com/3gptM47z

Compiling:

g++ pulsefail.cpp -std=c++11 -lpulse-simple -lpulse
./a.out

After adding the following kernel command line options:

clocksource=hpet lapic=notscdeadline

The sample works as intended. And the overall system performance and responsiveness is much better.

I also tried to measure TSC frequency in this sample using __rdtsc instruction. Before adding kernel options, it calculated to ~3,75 GHz, but after applying the workaround it became ~3,60 GHz.

Notable results of 'dmesg | grep TSC' after changing kernel options:

[    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

Without them, there isn't much more, except changing clocksource. There are no errors or anything, but TSC frequency is calculated close to 3,75 GHz.

Ivan G.
  • 113
  • 1
  • 7

1 Answers1

0

Update: the kernel patch for incorrect TSC frequency issue has been merged. Building a kernel with this patch fixes the issue.

https://patchwork.kernel.org/patch/10177619/ https://github.com/torvalds/linux/commit/b511203093489eb1829cb4de86e8214752205ac6#diff-96989d5a06fa45e5014d1613838a4f86

Ivan G.
  • 113
  • 1
  • 7