[PERF_EVENT 3.11] Group Multiplexing not Working Properly

From: Luís Taniça
Date: Tue Jun 24 2014 - 13:36:32 EST


Hi,

I am trying to configure 8 events in a machine which supports only 4 (so, using multiplexing). I tried different approaches:

1) Configure 8 events independently (works as expected)
2) Configure 2 event-sets of 4 events each in counting mode (works as expected)
3) Configure 2 event-sets of 4 events each in sampling mode (not working right)

In case 3) I also tried different approaches:

3.a) 1 ring-buffer for each event-set and a callback for the POLL signal
- only the first ring-buffer was detecting samples
- the second ring-buffer was empty

3.b) 1 ring-buffer shared between event-sets (using PERF_EVENT_IOC_SET_OUTPUT)
- both event-sets were writing to the ring-buffer
- 1st event-set only writes 2 samples while 2nd event-set writes like 20+ samples
- samples from 1st event-set report time_enabled=time_running while samples from 2nd don’t

Moreover, in both cases the wakeup_events parameter is not working.
I believe there must be some programming bugs in perf_event while profiling in sampling mode with multiple event-sets (groups).

Regards,
matallui


--
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/