Re: Priority Ceiling for SMP?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 8 Nov 2007, Bernhard Kuhn wrote:
> Luís Henriques wrote:
> 
> > Maybe I didn't completely understood your question, but... if there is a
> > problem with SMP efficiency (I do not really know, but believe you :) ) with
> > priority ceiling (PC) implementation, this problem should have been already
> > identified (and possibly solved) in the current PI implementation, right?
> 
> To make it clear: I'm not aware of any efficiency issues with
> the current PI implementation :-)
> 
> 
> The (potential) efficiency issue with PC on SMP derives from the
> dead-lock avoidance mechanism that you mentioned: If a task
> locks a resource, then it's priority is raised to the ceiling
> (which is typically the highest priority of all task sharing
> that resource). Once that happens, no other task (sharing the
> same resource) could then lock another resource that potentially
> leads to a dead-lock situation.
> 
> Example:
> 
> * A low priority Task A shall share resources X and Y
>   with a high priority Task B.
> 
> * Task A shall execute the following fraction of code:
> 
>     1. lock(X)
>     2. lock(Y)
> 
> * Task B shall execute the following fraction of code:
> 
>     1. lock(Y)
>     2. lock(X)

Classic ABBA deadlock :) Priority ceiling is not designed to allow
that. It's just a coincidence that it does not lead to a deadlock on
UP, but thats not a semantical property.

Thanks,

	tglx

[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux