On 05/11/2013 11:30 PM, Andrew Johnson wrote:
I've just been reading an interesting LWN article about a mutex design that allows random locking order of multiple mutexes without danger of deadlocks. This might be a useful approach for the multi-channel additions.
http://lwn.net/Articles/548909/
More details at the link in the first Conclusions paragraph.
This is similar to the first algorithm I came up with. The part I was
missing was the idea of "reservation ids" to avoid live lock. For epics
lock sets this would need to be extended to include some idea of
priority as well.
Because this didn't occur to me I came up with the idea of maintaining
the locks in a global order. This does guarantee forward progress, but
is more complex then the scheme described in the LWN article. global
ordering does avoids the need to make explicit decisions based on thread
priority though.
Definitely food for thought :)
- References:
- Wait/wound mutexes Andrew Johnson
- Navigate by Date:
- Prev:
Wait/wound mutexes Andrew Johnson
- Next:
[Bug 697413] Re: Index is not bookmarked Ralph Lange
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Wait/wound mutexes Andrew Johnson
- Next:
[Bug 697413] Re: Index is not bookmarked Ralph Lange
- Index:
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
<2013>
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|