23 #ifndef _RTEMS_SCORE_PROFILING 24 #define _RTEMS_SCORE_PROFILING 43 static inline void _Profiling_Thread_dispatch_disable(
45 uint32_t previous_thread_dispatch_disable_level
48 #if defined( RTEMS_PROFILING ) 49 if ( previous_thread_dispatch_disable_level == 0 ) {
53 ++stats->thread_dispatch_disabled_count;
57 (void) previous_thread_dispatch_disable_level;
61 static inline void _Profiling_Thread_dispatch_disable_critical(
63 uint32_t previous_thread_dispatch_disable_level,
67 #if defined( RTEMS_PROFILING ) 68 if ( previous_thread_dispatch_disable_level == 0 ) {
71 stats->thread_dispatch_disabled_instant = lock_context->ISR_disable_instant;
72 ++stats->thread_dispatch_disabled_count;
76 (void) previous_thread_dispatch_disable_level;
81 static inline void _Profiling_Thread_dispatch_enable(
83 uint32_t new_thread_dispatch_disable_level
86 #if defined( RTEMS_PROFILING ) 87 if ( new_thread_dispatch_disable_level == 0 ) {
90 CPU_Counter_ticks delta = _CPU_Counter_difference(
92 stats->thread_dispatch_disabled_instant
95 stats->total_thread_dispatch_disabled_time += delta;
97 if ( stats->max_thread_dispatch_disabled_time < delta ) {
98 stats->max_thread_dispatch_disabled_time = delta;
103 (void) new_thread_dispatch_disable_level;
107 static inline void _Profiling_Update_max_interrupt_delay(
109 CPU_Counter_ticks interrupt_delay
112 #if defined( RTEMS_PROFILING ) 115 if ( stats->max_interrupt_delay < interrupt_delay ) {
116 stats->max_interrupt_delay = interrupt_delay;
120 (void) interrupt_delay;
132 CPU_Counter_ticks interrupt_entry_instant,
133 CPU_Counter_ticks interrupt_exit_instant
Per-CPU statistics.
Definition: percpu.h:179
CPU_Counter_ticks _CPU_Counter_read(void)
Returns the current CPU counter value.
Definition: system-clocks.c:117
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
Per CPU Core Structure.
Definition: percpu.h:290
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:65