EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Wait/wound mutexes
From: Michael Davidsaver <[email protected]>
To: [email protected]
Date: Mon, 13 May 2013 10:57:25 -0400
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  <20132014  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  <20132014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·