From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751663AbdCCJop (ORCPT ); Fri, 3 Mar 2017 04:44:45 -0500 Received: from merlin.infradead.org ([205.233.59.134]:33802 "EHLO merlin.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751323AbdCCJoo (ORCPT ); Fri, 3 Mar 2017 04:44:44 -0500 Date: Fri, 3 Mar 2017 10:32:38 +0100 From: Peter Zijlstra To: Byungchul Park Cc: mingo@kernel.org, tglx@linutronix.de, walken@google.com, boqun.feng@gmail.com, kirill@shutemov.name, linux-kernel@vger.kernel.org, linux-mm@kvack.org, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, npiggin@gmail.com, kernel-team@lge.com, Michal Hocko , Nikolay Borisov , Mel Gorman Subject: Re: [PATCH v5 06/13] lockdep: Implement crossrelease feature Message-ID: <20170303093238.GI6536@twins.programming.kicks-ass.net> References: <1484745459-2055-1-git-send-email-byungchul.park@lge.com> <1484745459-2055-7-git-send-email-byungchul.park@lge.com> <20170228134018.GK5680@worktop> <20170301054323.GE11663@X58A-UD3R> <20170301122843.GF6515@twins.programming.kicks-ass.net> <20170302134031.GG6536@twins.programming.kicks-ass.net> <20170303001737.GF28562@X58A-UD3R> <20170303081416.GT6515@twins.programming.kicks-ass.net> <20170303091338.GH6536@twins.programming.kicks-ass.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170303091338.GH6536@twins.programming.kicks-ass.net> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 ;-)