On Thu, 2009-07-16 at 19:13 -0400, Ted Baker wrote: > To be sure we are using A and B the same way here: > B is holding a lock. > A wants that lock. > A grants its priority B until B releases the lock. > > How to look at the charges for usage seems not to have a perfect > solution. That is, you can't get around the fact that either: > > [...] > > The right way to resolve this conflict seems to depend a lot on > where B runs, as well as whether you are managing budget per-CPU > (partitioned model) or managing it globally (free migration > model). > > 1) In a global scheduling model, it does not matter where B runs. > We want to charge B's critical section to B, since our > schedulability analysis is based on the processor usage of each > task. It would be broken if A could be charged random bits of > time for the execution of other tasks. So, we must charge B. > Mmm... Why can't we make B able to exploit A's bandwidth to speed up critical section completion, to the benefit of A as well? I mean, it depends on how analysis is being carried out, and it is probably good or bad depending on what you care most, e.g., making all task's deadline or isolating the various components between each other... But I wouldn't say it is "broken". Especially because I implemented it once... Very rough, very experimental, far from being ready for anything different than some experiments... But it worked! :-) > 2) In a partitioned scheuling model, we worry about the > CPU utilization of each processor. We have several cases, depending > where B runs when it runs with A's priority: > Ok, I'm not going into this, since I need a little bit more time to figure out the details... I'm concentrating on global scheduling for now! :-D Regards, Dario -- <<This happens because I choose it to happen!>> (Raistlin Majere) ---------------------------------------------------------------------- Dario Faggioli, ReTiS Lab, Scuola Superiore Sant'Anna, Pisa (Italy) http://blog.linux.it/raistlin / raistlin@xxxxxxxxx / dario.faggioli@xxxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part