How long can a Sporadic (SS) thread run with AP Scheduling?
First non_AP (i.e. classic Neutrino) scheduling: • If not preemempted by a higher priority thread, a SS thread will run until it voluntarily gives up control. • Because the priority of an SS thread changes from a normal priority to a low priority, it is much more likely to be preempted when running at it’s low priority. With AP scheduling, an SS thread will: • If not preempted by a higher priority thread in the same partition, an SS thread will run until it voluntarily gives up control, or it’s partition runs out of budget. • Some developers set at the higher priority of an SS thread to be the highest in the system in order to make that thread un-preemptable during it’s high-priority mode. With AP scheduling the thread is unpreemptable only as long as it’s partition has not exhausted its budget. In other words, SS behavior is unchanged as long as your partition has budget. On a loaded system it is best to assume that an SS thread may be timesliced every millisecond with threads in othe