next up previous
Next: Use of Slack Time Up: The Atropos Scheduler Previous: The Atropos Scheduler

Interrupts and Latency hint

In fact, when unblocking an sdom which as been asleep for more than its period, the scheduler sets r := s and d := t + l, where l is the latency hint. The default behaviour just described is then achieved by setting l := p for most domains. However, in the case of device drivers reacting to an interrupt, faster response is sometimes required. If the device domain is using less than its share or processor capacity, the unblocking latency hint l provides a means for a device driver domain to respond to an interrupt with low latency.

The consequences of reducing l in this way are that if such an sdom is woken up when the complete system is under heavy load, some sdoms may miss their deadline for one of their periods. The scheduler's behaviour in these circumstances is to truncate the running time of the sdoms: they lose part of their slice for that period. Thereafter, things settle down.

At a high interrupt rate from a given device, at most one processor interrupt is taken per activation of the driver domain, so that the scheduling mechanism is enforcing a maximum interrupt and context switch rate. Hence, as the activity in the device approaches the maximum that the driver domain has time to process with its CPU allocation, the driver rarely has time to block before the next action in the device that would cause an interrupt, and so converges to a situation where the driver polls the device whenever it has the CPU.

When device activity is more than the driver can process, overrun occurs. Device activity which would normally cause interrupts is ignored by the system since the driver cannot keep up with the device. This is deemed to be more desirable than having the device schedule the processor: if the driver has all the CPU cycles, the `clients' of the device wouldn't be able to do anything with the data anyway. If they could, then the driver is not being given enough processor time by the domain manager. The system can detect such a condition over a longer period of time and reallocate processor bandwidth in the system to adapt to conditions.


next up previous
Next: Use of Slack Time Up: The Atropos Scheduler Previous: The Atropos Scheduler

I. Leslie, D. McAuley, R. Black, T. Roscoe, P. Barham, D. Evers, R. Fairbairns & E. Hyden