From ceea042aaf3e373b598b3295c256feaef4e4236c Mon Sep 17 00:00:00 2001 From: gdisirio Date: Wed, 31 Jul 2013 12:26:02 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/kernel_3_dev@6056 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/kernel/src/chstats.c | 5 +++-- os/kernel/src/chthreads.c | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'os/kernel/src') diff --git a/os/kernel/src/chstats.c b/os/kernel/src/chstats.c index 93739da17..06ac21d1d 100644 --- a/os/kernel/src/chstats.c +++ b/os/kernel/src/chstats.c @@ -83,11 +83,12 @@ void _stats_increase_irq(void) { } /** - * @brief Increases the context switch counter. + * @brief Updates context switch related statistics. */ -void _stats_increase_ctxswc(void) { +void _stats_ctxswc(thread_t *ntp, thread_t *otp) { kernel_stats.n_ctxswc++; + chTMChainMeasurementToX(&otp->p_stats, &ntp->p_stats); } /** diff --git a/os/kernel/src/chthreads.c b/os/kernel/src/chthreads.c index b707b4562..ff6e5e597 100644 --- a/os/kernel/src/chthreads.c +++ b/os/kernel/src/chthreads.c @@ -124,6 +124,9 @@ thread_t *_thread_init(thread_t *tp, tprio_t prio) { #if CH_DBG_ENABLE_STACK_CHECK tp->p_stklimit = (stkalign_t *)(tp + 1); #endif +#if CH_DBG_STATISTICS || defined(__DOXYGEN__) + chTMStartMeasurementX(&tp->p_stats); +#endif #if defined(CH_CFG_THREAD_INIT_HOOK) CH_CFG_THREAD_INIT_HOOK(tp); #endif -- cgit v1.2.3