diff options
author | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-06 14:17:37 +0200 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2013-10-06 14:17:37 +0200 |
commit | 90c4664dce0e3613e545eabb208aa5fbb02d90e9 (patch) | |
tree | 322cf10e5338bf48d30be289dc9124a9c64dbd2b /src/modules/systemlib | |
parent | 4ceddfdd92343277be3c6231cbd2a547e8b7bc57 (diff) | |
parent | 6a784b770e4b9dff24effc2643711c9da2b0efab (diff) | |
download | px4-firmware-90c4664dce0e3613e545eabb208aa5fbb02d90e9.tar.gz px4-firmware-90c4664dce0e3613e545eabb208aa5fbb02d90e9.tar.bz2 px4-firmware-90c4664dce0e3613e545eabb208aa5fbb02d90e9.zip |
Merged status changes
Diffstat (limited to 'src/modules/systemlib')
-rw-r--r-- | src/modules/systemlib/perf_counter.c | 26 | ||||
-rw-r--r-- | src/modules/systemlib/perf_counter.h | 8 |
2 files changed, 34 insertions, 0 deletions
diff --git a/src/modules/systemlib/perf_counter.c b/src/modules/systemlib/perf_counter.c index 3c1e10287..bf84b7945 100644 --- a/src/modules/systemlib/perf_counter.c +++ b/src/modules/systemlib/perf_counter.c @@ -321,6 +321,32 @@ perf_print_counter(perf_counter_t handle) } } +uint64_t +perf_event_count(perf_counter_t handle) +{ + if (handle == NULL) + return 0; + + switch (handle->type) { + case PC_COUNT: + return ((struct perf_ctr_count *)handle)->event_count; + + case PC_ELAPSED: { + struct perf_ctr_elapsed *pce = (struct perf_ctr_elapsed *)handle; + return pce->event_count; + } + + case PC_INTERVAL: { + struct perf_ctr_interval *pci = (struct perf_ctr_interval *)handle; + return pci->event_count; + } + + default: + break; + } + return 0; +} + void perf_print_all(void) { diff --git a/src/modules/systemlib/perf_counter.h b/src/modules/systemlib/perf_counter.h index 4cd8b67a1..e1e3cbe95 100644 --- a/src/modules/systemlib/perf_counter.h +++ b/src/modules/systemlib/perf_counter.h @@ -135,6 +135,14 @@ __EXPORT extern void perf_print_all(void); */ __EXPORT extern void perf_reset_all(void); +/** + * Return current event_count + * + * @param handle The counter returned from perf_alloc. + * @return event_count + */ +__EXPORT extern uint64_t perf_event_count(perf_counter_t handle); + __END_DECLS #endif |