RTEMS | draft: Add POSIX msgq priority bucket + bitmap implementation (!1164)

Sebastian Huber (@sebhub) gitlab at rtems.org
Tue Mar 31 02:31:38 UTC 2026




Sebastian Huber started a new discussion on cpukit/include/rtems/score/coremsg.h: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1164#note_147588

 >     *  when it does not contain a pending message.
 >     */
 >    Chain_Control Inactive_messages;
 > +  #if defined( RTEMS_POSIX_API )

I would decouple the provision of the bitmap control from `CORE_message_queue_Control` and instead split the message queue implementation to provide specialized routines for the priority queue support instead. This reduces the memory overhead and complexity for the RTEMS Classic API support.

It allows you to get rid of the dynamic allocation, if you can use something like this:
```c
typedef struct {
  CORE_message_queue_Control Base;
  Priority_bit_map_Control Queue;
  Priority_bit_map_Information Queue_information[ MQ_PRIO_MAX + 1U ];
  Chain_Control Queue_buckets[ MQ_PRIO_MAX + 1U ];
} CORE_priority_message_queue_Control;
```

-- 
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/1164#note_147588
You're receiving this email because of your account on gitlab.rtems.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20260331/f5b6d78f/attachment-0001.htm>


More information about the bugs mailing list