|From:||"Paul E. McKenney" <email@example.com>|
|Subject:||[PATCH tip/core/rcu 0/9] rcu: v3 add lockdep-based diagnostics to rcu_dereference()|
|Date:||Thu, 14 Jan 2010 17:01:57 -0800|
|Cc:||firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org, Valdis.Kletnieks@vt.edu, email@example.com|
Hello! This patch series adds lockdep-based checking to the rcu_dereference() primitive in order to flag misuses of RCU. The first three patches put the RCU infrastructure in place, the next five use this infrastructure in the net, sched, vfs, radix-tree, and idr subsystems, and the last patch documents how to use the new lockdep-checked rcu_dereference() primitives. The new (and default-disabled) CONFIG_PROVE_RCU makes this safe to include in tip/core/rcu -- unlike v2, your system won't complain about RCU misuse unless you ask it to. There are still several situations that trigger on systems I have access to (and I have email out on a couple of them), some of the remaining will be triggered only by hardware I don't have access to and kernel features I am unfamiliar with. So this is ready for some more-general testing. Changes since v2 (http://lkml.org/lkml/2010/1/4/496): o Removed references to the check condition for the non-lockdep version of rcu_dereference_check(), thus preventing numerous build errors. o Create a CONFIG_PROVE_RCU (default disabled) so that developers who want to use lockdep only to debug locks aren't bothered by RCU-specific lockdep complaints that will no doubt persist for a little bit while some of the more obscure uses of RCU are reverse-engineered. o Fix a few more issues identified by the checking. o Add documentation in Documentation/RCU/lockdep.txt. Changes since v1 (http://lkml.org/lkml/2009/12/15/553): o Made SRCU have per-srcu_struct lockdep maps to prevent lockdep from conflating independent uses of SRCU, and updated the rcu_dereference() checking in rcutorture to match. o Fix a few issues identified by the checking. o Disable checking within RCU list macros, RCU radix trees, and IDR. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to firstname.lastname@example.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds