When I configure the application with one sporadic thread and one FIFO thread (with lower priority and 100% CPU utilization), budget enforcement works well.
When I configure the application with two sporadic threads and one FIFO thread (with lower priority and 100% CPU utilization) budget enforcement does not work any more. I tested the sporadic scheduling with different budget/period configurations: 10ms/100ms and 1second/10seconds (the internal tick - conversion was correct).
I saw also somewhere the requirement that the buget shall be at most half of the period, so I configured the budget always smaller then half of the period for all individual threads:
thread 1: 20ms/100ms
thread 2: 10ms/100ms
Problem description
I came to the conclusion, that budget enforcement of the NuttX sporadic scheduling only works for one sporadic thread.
For real applications, I would like to use multiple threads with sporadic scheduling.
Created an issue at https://github.com/apache/incubator-nuttx/issues/2935
Link to example
NuttX example for sporadic scheduling in testing/ostest
Test setup:
Observation:
Problem description I came to the conclusion, that budget enforcement of the NuttX sporadic scheduling only works for one sporadic thread. For real applications, I would like to use multiple threads with sporadic scheduling.