Page MenuHomeFreeBSD

hwpmc: snapshot grouped counter values and run time
DraftPublic

Authored by afscoelho_gmail.com on Thu, Sep 3, 9:32 PM.
Tags
None
Referenced Files
F170552289: D59360.diff
Sat, Sep 5, 9:16 AM
Unknown Object (File)
Fri, Sep 4, 11:10 AM
Unknown Object (File)
Fri, Sep 4, 11:05 AM
Unknown Object (File)
Fri, Sep 4, 10:19 AM
Unknown Object (File)
Fri, Sep 4, 7:31 AM
Unknown Object (File)
Fri, Sep 4, 5:59 AM
Subscribers
This is a draft revision that has not yet been submitted for review.

Details

Summary

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

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 76454
Build 73337: arc lint + arc unit