Files
kernel_xiaomi_cepheus/include/linux
Peter Zijlstra c3c87e7704 perf: Tighten (and fix) the grouping condition
The fix from 9fc81d8742 ("perf: Fix events installation during
moving group") was incomplete in that it failed to recognise that
creating a group with events for different CPUs is semantically
broken -- they cannot be co-scheduled.

Furthermore, it leads to real breakage where, when we create an event
for CPU Y and then migrate it to form a group on CPU X, the code gets
confused where the counter is programmed -- triggered in practice
as well by me via the perf fuzzer.

Fix this by tightening the rules for creating groups. Only allow
grouping of counters that can be co-scheduled in the same context.
This means for the same task and/or the same cpu.

Fixes: 9fc81d8742 ("perf: Fix events installation during moving group")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20150123125834.090683288@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2015-01-28 13:17:35 +01:00
..
2014-09-22 16:48:47 +09:00
2014-12-02 16:20:59 -08:00
2014-11-24 17:24:08 -05:00
2014-12-15 18:19:03 -08:00
2014-11-25 20:11:12 -08:00
2014-12-18 19:08:10 -08:00
2014-12-19 22:55:06 +01:00
2014-07-08 13:36:52 -07:00
2014-11-10 09:27:30 -07:00
2014-11-04 17:34:15 -08:00
2014-10-09 11:35:48 +03:00
2014-10-08 16:01:41 -04:00
2014-08-07 14:40:08 -04:00
2014-08-06 18:01:24 -07:00
2014-06-06 16:08:13 -07:00
2014-09-29 15:37:01 -04:00
2014-06-02 14:56:01 -07:00
2014-07-22 21:55:45 +01:00
2014-12-18 09:39:51 +01:00
2014-12-17 08:26:51 -05:00
2014-10-09 22:25:58 -04:00
2014-10-24 00:14:36 +02:00
2014-11-25 16:38:32 -05:00
2014-11-25 16:38:32 -05:00
2014-11-04 13:18:52 -07:00
2014-11-04 13:29:38 +00:00
2014-07-09 14:58:37 +01:00
2014-08-08 15:57:26 -07:00
2014-08-08 15:57:31 -07:00
2014-06-12 00:21:11 -04:00
2014-06-04 16:53:57 -07:00
2014-08-08 15:57:24 -07:00
2014-06-04 16:53:56 -07:00
2014-11-06 14:57:27 -08:00
2014-12-17 06:43:56 -05:00
2014-09-23 21:40:48 -07:00
2014-11-28 16:08:16 +01:00
2014-09-16 15:02:55 -06:00
2014-12-09 12:05:24 +02:00
2014-06-04 16:53:57 -07:00
2014-12-15 23:49:28 +02:00