From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753265AbcIOPeg (ORCPT ); Thu, 15 Sep 2016 11:34:36 -0400 Received: from mail-it0-f50.google.com ([209.85.214.50]:37815 "EHLO mail-it0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750922AbcIOPe2 (ORCPT ); Thu, 15 Sep 2016 11:34:28 -0400 MIME-Version: 1.0 In-Reply-To: <1473759914-17003-4-git-send-email-byungchul.park@lge.com> References: <1473759914-17003-1-git-send-email-byungchul.park@lge.com> <1473759914-17003-4-git-send-email-byungchul.park@lge.com> From: Nilay Vaish Date: Thu, 15 Sep 2016 10:33:46 -0500 Message-ID: Subject: Re: [PATCH v3 03/15] lockdep: Refactor lookup_chain_cache() To: Byungchul Park Cc: peterz@infradead.org, mingo@kernel.org, tglx@linutronix.de, walken@google.com, boqun.feng@gmail.com, kirill@shutemov.name, Linux Kernel list , linux-mm@kvack.org, iamjoonsoo.kim@lge.com, akpm@linux-foundation.org, npiggin@gmail.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 13 September 2016 at 04:45, Byungchul Park wrote: > @@ -2215,6 +2178,75 @@ cache_hit: > return 1; > } > > +/* > + * Look up a dependency chain. > + */ > +static inline struct lock_chain *lookup_chain_cache(u64 chain_key) > +{ > + struct hlist_head *hash_head = chainhashentry(chain_key); > + struct lock_chain *chain; > + > + /* > + * We can walk it lock-free, because entries only get added > + * to the hash: > + */ > + hlist_for_each_entry_rcu(chain, hash_head, entry) { > + if (chain->chain_key == chain_key) { > + debug_atomic_inc(chain_lookup_hits); > + return chain; > + } > + } > + return NULL; > +} Byungchul, do you think we should increment chain_lookup_misses before returning NULL from the above function? -- Nilay