You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2021/04/05 16:54:31 UTC

[GitHub] [incubator-nuttx] v01d opened a new issue #3339: PRIORITY INHERITANCE WITH SPORADIC SCHEDULER

v01d opened a new issue #3339:
URL: https://github.com/apache/incubator-nuttx/issues/3339


   ```
     Description: The sporadic scheduler manages CPU utilization by a task by
                  alternating between a high and a low priority.  In either
                  state, it may have its priority boosted.  However, under
                  some circumstances, it is impossible in the current design to
                  switch to the correct priority if a semaphore held by the
                  sporadic thread is participating in priority inheritance:
   
                  There is an issue when switching from the high to the low
                  priority state.  If the priority was NOT boosted above the
                  higher priority, it still may still need to boosted with
                  respect to the lower priority.  If the highest priority
                  thread waiting on a semaphore held by the sporadic thread is
                  higher in priority than the low priority but less than the
                  higher priority, then new thread priority should be set to
                  that middle priority, not to the lower priority.
   
                  In order to do this we would need to know the highest
                  priority from among all tasks waiting for the all semaphores
                  held by the sporadic task.  That information could be
                  retained by the priority inheritance logic for use by the
                  sporadic scheduler.  The boost priority could be retained in
                  a new field of the TCB (say, pend_priority).  That
                  pend_priority could then be used when switching from the
                  higher to the lower priority.
     Status:      Open
     Priority:    Low.  Does anyone actually use the sporadic scheduler?
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org