Sorry for been not clear. Here is a better description:
2 DMA channels accountable by a counting semaphore.
The semaphore is posted by DMA completion interrupt.
TaskA with priority 10 allocates DMA0 channel and starts DMA activity.
TaskB with priority 20 allocates DMA1 channel and starts DMA activity.
TaskC with priority 30 wants to allocate a DMA channel, so boosts priority
of TaskA and TaskB to 30 (even if that will not lead to fasted DMA
operation completion).

No, but it will result in a more real time, deterministic to the completion of a DMA which is a critical event to the healthy behavior of the system.  That is the gold of an RTOS -- NOT faster response, but a deterministic response.  That is the meaing of "real time"

This is EXTREMELY important to the viability of NuttX as an RTOS.  If the OS cannot respond deterministically in cases like this then the RTOS is a total failure as an RTOS.  Might as well remove the RT from the beginning.

This is key.  This is absolutely critical to the existence of NuttX as an RTOS.  If we remove this capability then the OS is a pile of shit and never be used by anyone.

DMA1 completes and posts semaphore, so TaskC gets it and TaskA and TaskB
priorities are restored.
Yes, that sounds correct.

Reply via email to