Messages in this thread | | | Date | Thu, 12 Mar 2009 11:10:28 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 3/6] futex: add double_unlock_hb() |
| |
* Peter Zijlstra <peterz@infradead.org> wrote:
> On Thu, 2009-03-12 at 00:55 -0700, Darren Hart wrote: > > The futex code uses double_lock_hb() which locks the hb->lock's in pointer > > value order. There is no parallel unlock routine, and the code unlocks them > > in name order, ignoring pointer value. This opens up a window for an ABBA > > deadlock. This patch adds double_unlock_hb() to remove the window as well > > as refactor the duplicated code segments. > > While I don't mind the patch per-se, I'm hard pressed to see > any deadlock potential in the unordered unlock. > > All sites (at least those in the patch) always release both > locks without taking another in between, therefore one would > think there's no deadlock possible.
yeah.
The patch is still nice (as you mention), it factors out the unlock sequence. I'll change the commit message accordingy.
Ingo
| |