score: Add Thread_queue_Queue::name

Update #2858.
This commit is contained in:
Sebastian Huber
2017-01-12 10:15:56 +01:00
parent b8bcebea18
commit 2b72162b81
7 changed files with 46 additions and 21 deletions

View File

@@ -420,6 +420,11 @@ struct Thread_queue_Queue {
* @brief The thread queue owner.
*/
Thread_Control *owner;
/**
* @brief The thread queue name.
*/
const char *name;
};
/**

View File

@@ -1014,44 +1014,58 @@ size_t _Thread_queue_Flush_critical(
void _Thread_queue_Initialize( Thread_queue_Control *the_thread_queue );
#if defined(RTEMS_SMP) && defined(RTEMS_DEBUG) && defined(RTEMS_PROFILING)
#define THREAD_QUEUE_INITIALIZER( name ) \
#define THREAD_QUEUE_INITIALIZER( _name ) \
{ \
.Lock_stats = SMP_LOCK_STATS_INITIALIZER( name ), \
.Lock_stats = SMP_LOCK_STATS_INITIALIZER( _name ), \
.owner = SMP_LOCK_NO_OWNER, \
.Queue = { \
.heads = NULL, \
.Lock = SMP_TICKET_LOCK_INITIALIZER, \
.heads = NULL, \
.owner = NULL, \
.name = _name \
} \
}
#elif defined(RTEMS_SMP) && defined(RTEMS_DEBUG)
#define THREAD_QUEUE_INITIALIZER( name ) \
#define THREAD_QUEUE_INITIALIZER( _name ) \
{ \
.owner = SMP_LOCK_NO_OWNER, \
.Queue = { \
.heads = NULL, \
.Lock = SMP_TICKET_LOCK_INITIALIZER, \
.heads = NULL, \
.owner = NULL, \
.name = _name \
} \
}
#elif defined(RTEMS_SMP) && defined(RTEMS_PROFILING)
#define THREAD_QUEUE_INITIALIZER( name ) \
#define THREAD_QUEUE_INITIALIZER( _name ) \
{ \
.Lock_stats = SMP_LOCK_STATS_INITIALIZER( name ), \
.Lock_stats = SMP_LOCK_STATS_INITIALIZER( _name ), \
.Queue = { \
.heads = NULL, \
.Lock = SMP_TICKET_LOCK_INITIALIZER, \
.heads = NULL, \
.owner = NULL, \
.name = _name \
} \
}
#elif defined(RTEMS_SMP)
#define THREAD_QUEUE_INITIALIZER( name ) \
#define THREAD_QUEUE_INITIALIZER( _name ) \
{ \
.Queue = { \
.heads = NULL, \
.Lock = SMP_TICKET_LOCK_INITIALIZER, \
.heads = NULL, \
.owner = NULL, \
.name = _name \
} \
}
#else
#define THREAD_QUEUE_INITIALIZER( name ) \
{ .Queue = { .heads = NULL } }
#define THREAD_QUEUE_INITIALIZER( _name ) \
{ \
.Queue = { \
.heads = NULL, \
.owner = NULL, \
.name = _name \
} \
}
#endif
RTEMS_INLINE_ROUTINE void _Thread_queue_Destroy(

View File

@@ -41,7 +41,7 @@ RTEMS_STATIC_ASSERT(
);
RTEMS_STATIC_ASSERT(
sizeof( Condition_Control ) <= sizeof( struct _Condition_Control ),
sizeof( Condition_Control ) == sizeof( struct _Condition_Control ),
CONDITION_CONTROL_SIZE
);

View File

@@ -39,7 +39,7 @@ RTEMS_STATIC_ASSERT(
);
RTEMS_STATIC_ASSERT(
sizeof( Futex_Control ) <= sizeof( struct _Futex_Control ),
sizeof( Futex_Control ) == sizeof( struct _Futex_Control ),
FUTEX_CONTROL_SIZE
);

View File

@@ -39,7 +39,7 @@ RTEMS_STATIC_ASSERT(
);
RTEMS_STATIC_ASSERT(
sizeof( Mutex_Control ) <= sizeof( struct _Mutex_Control ),
sizeof( Mutex_Control ) == sizeof( struct _Mutex_Control ),
MUTEX_CONTROL_SIZE
);
@@ -50,19 +50,19 @@ typedef struct {
RTEMS_STATIC_ASSERT(
offsetof( Mutex_recursive_Control, Mutex )
<= offsetof( struct _Mutex_recursive_Control, _Mutex ),
== offsetof( struct _Mutex_recursive_Control, _Mutex ),
MUTEX_RECURSIVE_CONTROL_MUTEX
);
RTEMS_STATIC_ASSERT(
offsetof( Mutex_recursive_Control, nest_level )
<= offsetof( struct _Mutex_recursive_Control, _nest_level ),
== offsetof( struct _Mutex_recursive_Control, _nest_level ),
MUTEX_RECURSIVE_CONTROL_NEST_LEVEL
);
RTEMS_STATIC_ASSERT(
sizeof( Mutex_recursive_Control )
<= sizeof( struct _Mutex_recursive_Control ),
== sizeof( struct _Mutex_recursive_Control ),
MUTEX_RECURSIVE_CONTROL_SIZE
);

View File

@@ -39,12 +39,12 @@ RTEMS_STATIC_ASSERT(
RTEMS_STATIC_ASSERT(
offsetof( Semaphore_Control, count )
<= offsetof( struct _Semaphore_Control, _count ),
== offsetof( struct _Semaphore_Control, _count ),
SEMAPHORE_CONTROL_COUNT
);
RTEMS_STATIC_ASSERT(
sizeof( Semaphore_Control ) <= sizeof( struct _Semaphore_Control ),
sizeof( Semaphore_Control ) == sizeof( struct _Semaphore_Control ),
SEMAPHORE_CONTROL_SIZE
);

View File

@@ -56,9 +56,15 @@ RTEMS_STATIC_ASSERT(
THREAD_QUEUE_SYSLOCK_QUEUE_OWNER
);
RTEMS_STATIC_ASSERT(
offsetof( Thread_queue_Syslock_queue, Queue.name )
== offsetof( struct _Thread_queue_Queue, _name ),
THREAD_QUEUE_SYSLOCK_QUEUE_NAME
);
RTEMS_STATIC_ASSERT(
sizeof( Thread_queue_Syslock_queue )
<= sizeof( struct _Thread_queue_Queue ),
== sizeof( struct _Thread_queue_Queue ),
THREAD_QUEUE_SYSLOCK_QUEUE_SIZE
);