Messages in this thread | | | Subject | Re: [PATCH v2 2/6] locking/lockdep: Throw away all lock chains with zapped class | From | Waiman Long <> | Date | Mon, 13 Jan 2020 10:44:37 -0500 |
| |
On 1/13/20 10:18 AM, Peter Zijlstra wrote: > On Mon, Dec 16, 2019 at 10:15:13AM -0500, Waiman Long wrote: >> If a lock chain contains a class that is zapped, the whole lock chain is >> now invalid. > Possibly. But I'm thinking that argument can/should be made mode elaborate. > > Suppose we have A->B->C, and we're about to remove B. > > Now, I suppose the trivial argument goes that if we remove the text that > causes A->B, then so B->C will no longer happen. However, that doesn't > mean A->C won't still occur. > > OTOH, we might already have A->C and so our resulting chain would be a > duplicate. Conversely, if we didn't already have A->C and it does indeed > still occur (say it was omitted due to the redundant logic), then we > will create this dependency the next time we'll encounter it. I will prefer having it only when it actually happens rather than leaving a partial chain behind assuming that it may happen. > > Bart, do you see a problem with this reasoning? > > In short, yes, I think you're right and we can remove the whole thing. > But please, expand the Changelog a bit, possibly add some of this > reasoning into a comment. > Yes, I will elaborate more in the changelog.
Cheers, Longman
| |