Re: perf: odd event scheduling issue

From: Stephane Eranian
Date: Thu May 21 2015 - 08:05:37 EST


On Wed, May 20, 2015 at 9:25 AM, Jiri Olsa <jolsa@xxxxxxxxxx> wrote:
> On Wed, May 20, 2015 at 03:52:09PM +0200, Peter Zijlstra wrote:
>> On Wed, May 20, 2015 at 11:28:42AM +0200, Peter Zijlstra wrote:
>>
>> > ---
>> >
>> > c02cdbf60b51b8d98a49185535f5d527a2965142 is the first bad commit
>> > commit c02cdbf60b51b8d98a49185535f5d527a2965142
>> > Author: Stephane Eranian <eranian@xxxxxxxxxx>
>> > Date: Mon Nov 17 20:07:02 2014 +0100
>> >
>> > perf/x86/intel: Limit to half counters when the HT workaround is enabled, to avoid exclusive mode starvation
>> >
>> > This patch limits the number of counters available to each CPU when
>> > the HT bug workaround is enabled.
>> >
>> > This is necessary to avoid situation of counter starvation. Such can
>> > arise from configuration where one HT thread, HT0, is using all 4 counters
>> > with corrupting events which require exclusion the the sibling HT, HT1.
>> >
>> > In such case, HT1 would not be able to schedule any event until HT0
>> > is done. To mitigate this problem, this patch artificially limits
>> > the number of counters to 2.
>> >
>> > That way, we can gurantee that at least 2 counters are not in exclusive
>> > mode and therefore allow the sibling thread to schedule events of the
>> > same type (system vs. per-thread). The 2 counters are not determined
>> > in advance. We simply set the limit to two events per HT.
>> >
>> > This helps mitigate starvation in case of events with specific counter
>> > constraints such a PREC_DIST.
>> >
>> > Note that this does not elimintate the starvation is all cases. But
>> > it is better than not having it.
>> >
>> > (Solution suggested by Peter Zjilstra.)
>> >
>> > Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx>
>> > Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
>> > Cc: bp@xxxxxxxxx
>> > Cc: jolsa@xxxxxxxxxx
>> > Cc: kan.liang@xxxxxxxxx
>> > Cc: maria.n.dimakopoulou@xxxxxxxxx
>> > Link: http://lkml.kernel.org/r/1416251225-17721-11-git-send-email-eranian@xxxxxxxxxx
>> > Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
>>
>> OK, so if you have the watchdog enabled, that's 1 event, and having a
>> max of 2 GP events, adding another 2 events is fail.
>>
>> Jiri, did you SNB have the watchdog disabled?
>
> watchdog was enabled
>
But maybe HT was disabled on your snb machine.

> jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/