Add PMCGROUPREAD, which returns the counts of every member of a group
and the run time of the group in one call.
A caller that reads the members one at a time with PMCRW gets values
from different intervals, and cannot tell how long the group actually
ran. That makes the counts of a multiplexed group meaningless: the
reader cannot scale them.
PMCGROUPREAD takes the values of all members at one point. It stops the
members on the CPUs that hold them, reads them, and reports the enabled
time and the running time of the group with the counts. A reader scales
a multiplexed count by the ratio of the two.
A caller that passes a zero member capacity gets the member count and
the times, and can then size its buffer.
Sponsored by: AMD