diff options
author | fabient <fabient@FreeBSD.org> | 2012-03-28 20:58:30 +0000 |
---|---|---|
committer | fabient <fabient@FreeBSD.org> | 2012-03-28 20:58:30 +0000 |
commit | 5edfb77dd3a164bb9d2d40c6604faa6c9f3dce15 (patch) | |
tree | fadff08d26576c3d5c1cef9d47abd784602b237a /lib/libpmc/pmclog.h | |
parent | 9a7982e5a0267c0421856f3a43a1ae75880058f3 (diff) | |
download | FreeBSD-src-5edfb77dd3a164bb9d2d40c6604faa6c9f3dce15.zip FreeBSD-src-5edfb77dd3a164bb9d2d40c6604faa6c9f3dce15.tar.gz |
Add software PMC support.
New kernel events can be added at various location for sampling or counting.
This will for example allow easy system profiling whatever the processor is
with known tools like pmcstat(8).
Simultaneous usage of software PMC and hardware PMC is possible, for example
looking at the lock acquire failure, page fault while sampling on
instructions.
Sponsored by: NETASQ
MFC after: 1 month
Diffstat (limited to 'lib/libpmc/pmclog.h')
-rw-r--r-- | lib/libpmc/pmclog.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/libpmc/pmclog.h b/lib/libpmc/pmclog.h index b7c9c84..2a50945 100644 --- a/lib/libpmc/pmclog.h +++ b/lib/libpmc/pmclog.h @@ -88,6 +88,13 @@ struct pmclog_ev_pmcallocate { pmc_id_t pl_pmcid; }; +struct pmclog_ev_pmcallocatedyn { + uint32_t pl_event; + char pl_evname[PMC_NAME_MAX]; + uint32_t pl_flags; + pmc_id_t pl_pmcid; +}; + struct pmclog_ev_pmcattach { pmc_id_t pl_pmcid; pid_t pl_pid; @@ -146,6 +153,7 @@ struct pmclog_ev { struct pmclog_ev_map_out pl_mo; struct pmclog_ev_pcsample pl_s; struct pmclog_ev_pmcallocate pl_a; + struct pmclog_ev_pmcallocatedyn pl_ad; struct pmclog_ev_pmcattach pl_t; struct pmclog_ev_pmcdetach pl_d; struct pmclog_ev_proccsw pl_c; |