23 #ifndef _RTEMS_SCORE_PROFILING 24 #define _RTEMS_SCORE_PROFILING 41 static inline void _Profiling_Thread_dispatch_disable(
43 uint32_t previous_thread_dispatch_disable_level
46 #if defined( RTEMS_PROFILING ) 47 if ( previous_thread_dispatch_disable_level == 0 ) {
50 stats->thread_dispatch_disabled_instant = _CPU_Counter_read();
51 ++stats->thread_dispatch_disabled_count;
55 (void) previous_thread_dispatch_disable_level;
59 static inline void _Profiling_Thread_dispatch_disable_critical(
61 uint32_t previous_thread_dispatch_disable_level,
65 #if defined( RTEMS_PROFILING ) 66 if ( previous_thread_dispatch_disable_level == 0 ) {
69 stats->thread_dispatch_disabled_instant = lock_context->ISR_disable_instant;
70 ++stats->thread_dispatch_disabled_count;
74 (void) previous_thread_dispatch_disable_level;
79 static inline void _Profiling_Thread_dispatch_enable(
81 uint32_t new_thread_dispatch_disable_level
84 #if defined( RTEMS_PROFILING ) 85 if ( new_thread_dispatch_disable_level == 0 ) {
87 CPU_Counter_ticks now = _CPU_Counter_read();
90 stats->thread_dispatch_disabled_instant
93 stats->total_thread_dispatch_disabled_time += delta;
95 if ( stats->max_thread_dispatch_disabled_time < delta ) {
96 stats->max_thread_dispatch_disabled_time = delta;
101 (void) new_thread_dispatch_disable_level;
105 static inline void _Profiling_Update_max_interrupt_delay(
107 CPU_Counter_ticks interrupt_delay
110 #if defined( RTEMS_PROFILING ) 113 if ( stats->max_interrupt_delay < interrupt_delay ) {
114 stats->max_interrupt_delay = interrupt_delay;
118 (void) interrupt_delay;
122 void _Profiling_Outer_most_interrupt_entry_and_exit(
124 CPU_Counter_ticks interrupt_entry_instant,
125 CPU_Counter_ticks interrupt_exit_instant
Per-CPU statistics.
Definition: percpu.h:159
This include file defines the per CPU information required by RTEMS.
Per CPU Core Structure.
Definition: percpu.h:233
CPU_Counter_ticks _CPU_Counter_difference(CPU_Counter_ticks second, CPU_Counter_ticks first)
Returns the difference between the second and first CPU counter value.
Definition: cpu.h:1160
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65