Re: [PATCH v5 06/13] lockdep: Implement crossrelease feature

From: Peter Zijlstra
Date: Fri Mar 03 2017 - 04:45:07 EST


On Fri, Mar 03, 2017 at 10:13:38AM +0100, Peter Zijlstra wrote:
> On Fri, Mar 03, 2017 at 09:14:16AM +0100, Peter Zijlstra wrote:
>
> > That said; I'd be fairly interested in numbers on how many links this
> > avoids, I'll go make a check_redundant() version of the above and put a
> > proper counter in so I can see what it does for a regular boot etc..
>
> Two boots + a make defconfig, the first didn't have the redundant bit
> in, the second did (full diff below still includes the reclaim rework,
> because that was still in that kernel and I forgot to reset the tree).
>
>
> lock-classes: 1168 1169 [max: 8191]
> direct dependencies: 7688 5812 [max: 32768]
> indirect dependencies: 25492 25937
> all direct dependencies: 220113 217512
> dependency chains: 9005 9008 [max: 65536]
> dependency chain hlocks: 34450 34366 [max: 327680]
> in-hardirq chains: 55 51
> in-softirq chains: 371 378
> in-process chains: 8579 8579
> stack-trace entries: 108073 88474 [max: 524288]
> combined max dependencies: 178738560 169094640
>
> max locking depth: 15 15
> max bfs queue depth: 320 329
>
> cyclic checks: 9123 9190
>
> redundant checks: 5046
> redundant links: 1828
>
> find-mask forwards checks: 2564 2599
> find-mask backwards checks: 39521 39789
>

OK, last email, I promise, then I'll go bury myself in futexes.

find-mask forwards checks: 2999
find-mask backwards checks: 56134

Is with a clean kernel, which shows how many __bfs() calls we save by
doing away with that RECLAIM state. OTOH:

lock-classes: 1167 [max: 8191]
direct dependencies: 7254 [max: 32768]
indirect dependencies: 23763
all direct dependencies: 219093

Shows that the added reclaim class isn't entirely free either ;-)