Messages in this thread | | | Date | Mon, 9 May 2022 16:47:12 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH RFC v6 00/21] DEPT(Dependency Tracker) |
| |
On Mon, 9 May 2022 09:16:37 +0900 Byungchul Park <byungchul.park@lge.com> wrote:
> CASE 2. > > lock L with depth n > lock A > lock_nested L' with depth n + 1 > ... > unlock L' > unlock A > unlock L > > This case is allowed by Lockdep. > This case is *NOT* allowed by DEPT cuz it's a *DEADLOCK*. > > --- > > The following scenario would explain why CASE 2 is problematic. > > THREAD X THREAD Y > > lock L with depth n > lock L' with depth n > lock A > lock A > lock_nested L' with depth n + 1
I'm confused by what exactly you are saying is a deadlock above.
Are you saying that lock A and L' are inversed? If so, lockdep had better detect that regardless of L. A nested lock associates the the nesting with the same type of lock. That is, in lockdep nested tells lockdep not to trigger on the L and L' but it will not ignore that A was taken.
-- Steve
> lock_nested L'' with depth n + 1 > ... ... > unlock L' unlock L'' > unlock A unlock A > unlock L unlock L'
| |