Re: [PATCH v3 03/15] lockdep: Refactor lookup_chain_cache()
From: Nilay Vaish <hidden>
Date: 2016-09-15 15:34:36
Also in:
lkml
On 13 September 2016 at 04:45, Byungchul Park [off-list ref] wrote:
quoted hunk ↗ jump to hunk
@@ -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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>