Messages in this thread | | | From | Kyle Huey <> | Date | Tue, 20 Nov 2018 08:19:39 -0800 | Subject | [REGRESSION] x86, perf: counter freezing breaks rr |
| |
tl;dr: rr is currently broken on 4.20rc2, which I bisected to af3bdb991a5cb57c189d34aadbd3aa88995e0d9f. I further confirmed that booting the 4.20rc2 kernel with `disable_counter_freezing=true` allows rr to work.
rr, a userspace record and replay debugger[0], uses the PMU interrupt (PMI) to stop a program during replay to inject asynchronous events such as signals. With perf counter freezing enabled we are reliably seeing perf event overcounts during replay. This behavior is easily demonstrated by attempting to record and replay the `alarm` test from rr's test suite. Through bisection I determined that [1] is the first bad commit, and further testing showed that booting the kernel with `disable_counter_freezing=true` fixes rr.
This behavior has been observed on two different CPUs (a Core i7-6700K and a Xeon E3-1505M v5). We have no reason to believe it is limited to specific CPU models, this information is included only for completeness.
Given that we're already at rc3, and that this renders rr unusable, we'd ask that counter freezing be disabled for the 4.20 release.
Thanks,
- Kyle
[0] https://rr-project.org/ [1] https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=af3bdb991a5cb57c189d34aadbd3aa88995e0d9f
| |