Adding periods to SCHED_DEADLINE
Posted Jul 21, 2010 16:03 UTC (Wed) by farnz
In reply to: Adding periods to SCHED_DEADLINE
Parent article: Adding periods to SCHED_DEADLINE
That's the entire problem - kernel-side, spotting that you have to tell P2 that its request for CPU time cannot be met as-is, but could be met if P2 could delay its initial deadline is the hard part. It's easy to tell that we have enough CPU time in total in the 10ms time period, but not (in general) easy to tell if we can't have P2 and P1 both meet their first deadline. If P2 could cope with having its deadline delayed by 2ms, it would say that - IOW, it would ask for first deadline 7ms from now, not 5ms from now.
Note that while this example is rather simple (we have two 4ms processes to fit into 5ms, which isn't going to work), you've also got to cope with more complex examples - e.g. P1 has a deadline of 5ms from now, 4ms of work to do, and a period of 10ms (so deadlines at 5ms from now, 15ms from now, 25ms from now etc), while P2 has a deadline of 3ms from now, 1ms of work to do, and a period of 16ms (so deadlines at 3ms, 19ms, 35ms etc). Can P1 and P2 co-exist on the same CPU, or does P2 have to be told that its demands can't be met?
to post comments)