23 #ifndef _RTEMS_SCORE_PROFILING 24 #define _RTEMS_SCORE_PROFILING 51 static inline void _Profiling_Thread_dispatch_disable(
53 uint32_t previous_thread_dispatch_disable_level
56 #if defined( RTEMS_PROFILING ) 57 if ( previous_thread_dispatch_disable_level == 0 ) {
61 ++stats->thread_dispatch_disabled_count;
65 (void) previous_thread_dispatch_disable_level;
80 static inline void _Profiling_Thread_dispatch_disable_critical(
82 uint32_t previous_thread_dispatch_disable_level,
86 #if defined( RTEMS_PROFILING ) 87 if ( previous_thread_dispatch_disable_level == 0 ) {
90 stats->thread_dispatch_disabled_instant = lock_context->ISR_disable_instant;
91 ++stats->thread_dispatch_disabled_count;
95 (void) previous_thread_dispatch_disable_level;
109 static inline void _Profiling_Thread_dispatch_enable(
111 uint32_t new_thread_dispatch_disable_level
114 #if defined( RTEMS_PROFILING ) 115 if ( new_thread_dispatch_disable_level == 0 ) {
118 CPU_Counter_ticks delta = _CPU_Counter_difference(
120 stats->thread_dispatch_disabled_instant
123 stats->total_thread_dispatch_disabled_time += delta;
125 if ( stats->max_thread_dispatch_disabled_time < delta ) {
126 stats->max_thread_dispatch_disabled_time = delta;
131 (void) new_thread_dispatch_disable_level;
141 static inline void _Profiling_Update_max_interrupt_delay(
143 CPU_Counter_ticks interrupt_delay
146 #if defined( RTEMS_PROFILING ) 149 if ( stats->max_interrupt_delay < interrupt_delay ) {
150 stats->max_interrupt_delay = interrupt_delay;
154 (void) interrupt_delay;
170 CPU_Counter_ticks interrupt_entry_instant,
171 CPU_Counter_ticks interrupt_exit_instant
Per-CPU statistics.
Definition: percpu.h:236
CPU_Counter_ticks _CPU_Counter_read(void)
Returns the current CPU counter value.
Definition: system-clocks.c:117
Per CPU Core Structure.
Definition: percpu.h:347
void _Profiling_Outer_most_interrupt_entry_and_exit(Per_CPU_Control *cpu, CPU_Counter_ticks interrupt_entry_instant, CPU_Counter_ticks interrupt_exit_instant)
Updates the interrupt profiling statistics.
Definition: profilingisrentryexit.c:22
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65