Re: [PATCH v4 15/15] lockdep: Crossrelease feature documentation
From: Byungchul Park
Date: Wed Jan 18 2017 - 06:16:27 EST
On Wed, Jan 18, 2017 at 02:42:30PM +0800, Boqun Feng wrote:
> On Fri, Dec 09, 2016 at 02:12:11PM +0900, Byungchul Park wrote:
> [...]
> > +Example 1:
> > +
> > + CONTEXT X CONTEXT Y
> > + --------- ---------
> > + mutext_lock A
> > + lock_page B
> > + lock_page B
> > + mutext_lock A /* DEADLOCK */
>
> s/mutext_lock/mutex_lock
Thank you.
> > +Example 3:
> > +
> > + CONTEXT X CONTEXT Y
> > + --------- ---------
> > + mutex_lock A
> > + mutex_lock A
> > + mutex_unlock A
> > + wait_for_complete B /* DEADLOCK */
>
> I think this part better be:
>
> CONTEXT X CONTEXT Y
> --------- ---------
> mutex_lock A
> mutex_lock A
> wait_for_complete B /* DEADLOCK */
> mutex_unlock A
>
> , right? Because Y triggers DEADLOCK before X could run mutex_unlock().
There's no different between two examples.
No matter which one is chosen, mutex_lock A in CONTEXT X cannot be passed.
>
> Regards,
> Boqun