‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, April 2, 2020 1:21 PM, Martin Pieuchot <[email protected]> wrote:
> On 02/04/20(Thu) 12:58, Martin wrote: > > > ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ > > On Tuesday, March 31, 2020 3:27 PM, Martin Pieuchot [email protected] wrote: > > > > > On 31/03/20(Tue) 15:08, Martin wrote: > > > > > > > 1. top -SH -s .3 points me that stutters arrive once process changing > > > > its state from 'idle' to 'active' with related disk activity. > > > > > > What about %spin and %intr? > > > > 1. AMD GX-420CA SOC 4-core 4-thread > > > > CPU0 %spin from 2.0% to 17.0% %intr 30.0%-96.0% > > CPU1-3 %spin 0.0% (always) %intr 15.0%-99.0% > > > > 2. i7-2640m 2-core 4-thread > > > > CPU0 %spin from 0.0% to 3.0% %intr 0.0% (always) > > CPU2 %spin from 0.0% to 2.0% (rare) %intr 0.0% (always) > > Interesting so whatever that is it seems related or amplified by a lot > of time spent dealing with interrupt. > > You can use "systat -s .3" and/or "vmstat -i" to figure out which > interrupt has a higher rate when you observe the symptoms. 1. AMD SOC systat -s .3 seems interrupts too (stutters) when system wide stutter appears. Interrupts 500-1200 total 96-98 clock 155-350,sometimes up to 1100 ipi 7-8 athn0 1-2 em0 1-12 ahci0 100-270 ehci0 1-2 ehci1 vmstat -i irq0/clock rate 386 irq0/ipi rate 2445 irq114/athn0 rate 22 irq115/em0 rate 6 irq100/xhci0 rate 57 irq101/ahci0 rate 23 irq103/ehci0 rate 608 irq103/ehci1 rate 7 2. i7-2640m Interrupts 200-470 total 200 clock 10-77 ipi 3-23 ehci0 15 athn0 2-43 ehci1 3-71 ahci0 vmstat -i irq0/clock rate 399 irq0/ipi rate 683 irq114/athn0 rate 28 irq115/em0 rate 1 irq100/xhci1 rate 4065 irq101/ahci0 rate 116 irq103/ehci0 rate 15 irq103/ehci1 rate 12 > > If nobody has a idea of what that could be, another useful information > would be to produce a flamegraph when you observe the stutters. For that > you need to enable dt(4) in conf/GENERIC build & install a new kernel, > build & install btrace(8) and set kern.allowdt=1 in /etc/sysctl.conf. > After rebooting in the new kernel run the following: > > btrace -e 'profile:hz:15 { printf("%s1\n", kstack); }' > kstack.txt > > ==================================================================== > > and it Ctrl+C to stop the profiling. > > Then you can build the Flamegraph with the tools described below or > provide us the captured stack traces: > https://github.com/brendangregg/FlameGraph
