Re: perf: bisected sampling bug in Linux 4.11-rc1

From: Ingo Molnar
Date: Tue Jul 18 2017 - 08:13:31 EST



* Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> wrote:

> Vince Weaver <vincent.weaver@xxxxxxxxx> writes:
>
> > I was tracking down some regressions in my perf_event_test testsuite.
> > Some of the tests broke in the 4.11-rc1 timeframe.
> >
> > I've bisected one of them, this report is about
> > tests/overflow/simul_oneshot_group_overflow
> > This test creates an event group containing two sampling events, set
> > to overflow to a signal handler (which disables and then refreshes the
> > event).
> >
> > On a good kernel you get the following:
> > Event perf::instructions with period 1000000
> > Event perf::instructions with period 2000000
> > fd 3 overflows: 946 (perf::instructions/1000000)
> > fd 4 overflows: 473 (perf::instructions/2000000)
> > Ending counts:
> > Count 0: 946379875
> > Count 1: 946365218
> >
> > With the broken kernels you get:
> > Event perf::instructions with period 1000000
> > Event perf::instructions with period 2000000
> > fd 3 overflows: 938 (perf::instructions/1000000)
> > fd 4 overflows: 318 (perf::instructions/2000000)
> > Ending counts:
> > Count 0: 946373080
> > Count 1: 653373058
> >
> >
> > 487f05e18aa4efacee6357480f293a5afe6593b5 is the first bad commit
> >
> > commit 487f05e18aa4efacee6357480f293a5afe6593b5
> > Author: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> > Date: Thu Jan 19 18:43:30 2017 +0200
>
> Ok, there was a bug there indeed. This patch should take care of it and
> should also be backportable in case it's stable-worthy.
>
> From 187d67c9908cb126656c34546772089c17a8e6c5 Mon Sep 17 00:00:00 2001
> From: Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx>
> Date: Tue, 18 Jul 2017 13:53:01 +0300
> Subject: [PATCH] perf: Fix scheduling regression of pinned groups

Ok, great - if this works then I'll pick up this fix instead of the revert that
I've queued up earlier today.

Thanks,

Ingo