* Esben Nielsen <[email protected]> wrote:
> > in short: wow do you ensure that the boosting is still part of the same
> > dependency chain where it started off?
>
> I don't insure that. But does it matter?!?
yes.
> If the task is still blocked on a lock and the owner of that lock
> might need boosting. The boosting operation itself will always be
> _correct_ as the pi_lock is held when it is done. But the task doing
> the boosting might have preempted for so long that there is nothing
> left to do - and then it simply stops unless deadlock detection is on.
well, another possibility is that the task got blocked again, and we'll
continue boosting _the wrong chain_. I.e. we'll add extra priority to
task(s) that might not deserve it at all (it doesnt own the lock we are
interested in anymore).
i.e. we must observe the boosting chain in a time-coherent form. We must
observe an actual "frozen" (all locks held) state of the system that we
_know_ forms a correct dependency chain at that moment, to be able to
propagate the priority one step forward. The act of 'boosting' must be
atomic.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]