mirror of
https://github.com/apache/nuttx.git
synced 2026-06-05 15:58:59 +08:00
sched/mqueue: Make the pre-allocated irq messages configurable
the message can't be dynamically allocated in any irq handler so it's important to let the user extend the number as needed Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com> Change-Id: Ia26584c3815bac6cf24de4c88be0844ac8e8fba2
This commit is contained in:
committed by
Abdelatif Guettouche
parent
9ea229cea0
commit
c079760777
@@ -1536,6 +1536,12 @@ config PREALLOC_MQ_MSGS
|
|||||||
The number of pre-allocated message structures. The system manages
|
The number of pre-allocated message structures. The system manages
|
||||||
a pool of preallocated message structures to minimize dynamic allocations
|
a pool of preallocated message structures to minimize dynamic allocations
|
||||||
|
|
||||||
|
config PREALLOC_MQ_IRQ_MSGS
|
||||||
|
int "Number of pre-allocated irq messages"
|
||||||
|
default 8
|
||||||
|
---help---
|
||||||
|
The number of pre-allocated irq message structures.
|
||||||
|
|
||||||
config MQ_MAXMSGSIZE
|
config MQ_MAXMSGSIZE
|
||||||
int "Maximum message size"
|
int "Maximum message size"
|
||||||
default 32
|
default 32
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ void nxmq_initialize(void)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
g_msgfreeirqalloc =
|
g_msgfreeirqalloc =
|
||||||
mq_msgblockalloc(&g_msgfreeirq, NUM_INTERRUPT_MSGS,
|
mq_msgblockalloc(&g_msgfreeirq, CONFIG_PREALLOC_MQ_IRQ_MSGS,
|
||||||
MQ_ALLOC_IRQ);
|
MQ_ALLOC_IRQ);
|
||||||
|
|
||||||
/* Allocate a block of message queue descriptors */
|
/* Allocate a block of message queue descriptors */
|
||||||
|
|||||||
@@ -53,12 +53,6 @@
|
|||||||
|
|
||||||
#define NUM_MSG_DESCRIPTORS 4
|
#define NUM_MSG_DESCRIPTORS 4
|
||||||
|
|
||||||
/* This defines the number of messages to set aside for exclusive use by
|
|
||||||
* interrupt handlers
|
|
||||||
*/
|
|
||||||
|
|
||||||
#define NUM_INTERRUPT_MSGS 8
|
|
||||||
|
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Public Type Definitions
|
* Public Type Definitions
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|||||||
Reference in New Issue
Block a user