Basically, to read() all events in one go. I have many of them.Yeah, filters suck.
My current problem is that I have an event (kvm_exit) which I want to
drill down by looking at a field (exit_reason). So I create lots of
separate perf_events with a filter for each reason:
kvm_exit(exit_reason==0), kvm_exit(exit_reason==1), etc. But filters
are fairly slow (can have ~60 such events on AMD), so I want to make
this drill-down optional.
So what you're basically trying to do is create some histogram of
exit_reason?
Being able to make histograms in-kernel has been on the todo list for a
long while, its just that I never could come up with a sane
interface.. :/
Current plan is to have a group for the basic events and another groupMore or less, yeah (the scheduling of software and hardware events isn't
for the drilldown events (each per-cpu), and activate the drilldown
group on user request. perf will be able to schedule both groups
concurrently since they only contain tracepoints, yes?
properly separated atm -- am working on that). Software events have no
scheduling constraints and should always get scheduled.