37#ifndef _RTEMS_SCORE_PROFILING
38#define _RTEMS_SCORE_PROFILING
65static inline void _Profiling_Thread_dispatch_disable(
67 uint32_t previous_thread_dispatch_disable_level
70#if defined( RTEMS_PROFILING )
71 if ( previous_thread_dispatch_disable_level == 0 ) {
75 ++stats->thread_dispatch_disabled_count;
79 (void) previous_thread_dispatch_disable_level;
94static inline void _Profiling_Thread_dispatch_disable_critical(
96 uint32_t previous_thread_dispatch_disable_level,
100#if defined( RTEMS_PROFILING )
101 if ( previous_thread_dispatch_disable_level == 0 ) {
104 stats->thread_dispatch_disabled_instant = lock_context->ISR_disable_instant;
105 ++stats->thread_dispatch_disabled_count;
109 (void) previous_thread_dispatch_disable_level;
123static inline void _Profiling_Thread_dispatch_enable(
125 uint32_t new_thread_dispatch_disable_level
128#if defined( RTEMS_PROFILING )
129 if ( new_thread_dispatch_disable_level == 0 ) {
132 CPU_Counter_ticks delta = now - stats->thread_dispatch_disabled_instant;
134 stats->total_thread_dispatch_disabled_time += delta;
136 if ( stats->max_thread_dispatch_disabled_time < delta ) {
137 stats->max_thread_dispatch_disabled_time = delta;
142 (void) new_thread_dispatch_disable_level;
152static inline void _Profiling_Update_max_interrupt_delay(
154 CPU_Counter_ticks interrupt_delay
157#if defined( RTEMS_PROFILING )
160 if ( stats->max_interrupt_delay < interrupt_delay ) {
161 stats->max_interrupt_delay = interrupt_delay;
165 (void) interrupt_delay;
181 CPU_Counter_ticks interrupt_entry_instant,
182 CPU_Counter_ticks interrupt_exit_instant
CPU_Counter_ticks _CPU_Counter_read(void)
Gets the current CPU counter value.
Definition: system-clocks.c:130
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:44
This header file provides the interfaces of the ISR Locks.
This header file provides the interfaces of the Per-CPU Information.
Local ISR lock context for acquire and release pairs.
Definition: isrlock.h:94
Per CPU Core Structure.
Definition: percpu.h:384
Per-CPU statistics.
Definition: percpu.h:272