提交 27c3b232 编写于 作者: I Ingo Molnar 提交者: Linus Torvalds

[PATCH] lockdep: use chain hash on CONFIG_DEBUG_LOCKDEP too

CONFIG_DEBUG_LOCKDEP is unacceptably slow because it does not utilize
the chain-hash. Turn the chain-hash back on in this case too.
Signed-off-by: NIngo Molnar <mingo@elte.hu>
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 33e94e96
...@@ -1276,14 +1276,6 @@ static inline int lookup_chain_cache(u64 chain_key, struct lock_class *class) ...@@ -1276,14 +1276,6 @@ static inline int lookup_chain_cache(u64 chain_key, struct lock_class *class)
if (chain->chain_key == chain_key) { if (chain->chain_key == chain_key) {
cache_hit: cache_hit:
debug_atomic_inc(&chain_lookup_hits); debug_atomic_inc(&chain_lookup_hits);
/*
* In the debugging case, force redundant checking
* by returning 1:
*/
#ifdef CONFIG_DEBUG_LOCKDEP
__raw_spin_lock(&hash_lock);
return 1;
#endif
if (very_verbose(class)) if (very_verbose(class))
printk("\nhash chain already cached, key: %016Lx tail class: [%p] %s\n", chain_key, class->key, class->name); printk("\nhash chain already cached, key: %016Lx tail class: [%p] %s\n", chain_key, class->key, class->name);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册