From 18d45d9d25beceedcc3e34eea3d28f87fa200e76 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 11 Apr 2019 12:10:53 +0200 Subject: score: Add _ISR_lock_Set_name() Add _ISR_lock_Set_name() to optimize the initialization of zero-initialized locks. --- cpukit/include/rtems/score/smplock.h | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'cpukit/include/rtems/score/smplock.h') diff --git a/cpukit/include/rtems/score/smplock.h b/cpukit/include/rtems/score/smplock.h index 1c37db465b..b1f5a6de28 100644 --- a/cpukit/include/rtems/score/smplock.h +++ b/cpukit/include/rtems/score/smplock.h @@ -149,7 +149,7 @@ static inline void _SMP_lock_Initialize_inline( #if defined(RTEMS_SMP_LOCK_DO_NOT_INLINE) void _SMP_lock_Initialize( SMP_lock_Control *lock, - const char * name + const char *name ); #else #define _SMP_lock_Initialize( lock, name ) \ @@ -176,6 +176,25 @@ void _SMP_lock_Destroy( SMP_lock_Control *lock ); _SMP_lock_Destroy_inline( lock ) #endif +/** + * @brief Sets the name of an SMP lock. + * + * @param[out] lock The SMP lock control. + * @param name The name for the SMP lock statistics. This name must be + * persistent throughout the life time of this statistics block. + */ +static inline void _SMP_lock_Set_name( + SMP_lock_Control *lock, + const char *name +) +{ +#if defined(RTEMS_PROFILING) + lock->Stats.name = name; +#else + (void) name; +#endif +} + #if defined(RTEMS_DEBUG) static inline uint32_t _SMP_lock_Who_am_I( void ) { -- cgit v1.2.3