mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-19 21:21:09 +00:00
rcu: define __rcu address space modifier for sparse
This commit provides definitions for the __rcu annotation defined earlier. This annotation permits sparse to check for correct use of RCU-protected pointers. If a pointer that is annotated with __rcu is accessed directly (as opposed to via rcu_dereference(), rcu_assign_pointer(), or one of their variants), sparse can be made to complain. To enable such complaints, use the new default-disabled CONFIG_SPARSE_RCU_POINTER kernel configuration option. Please note that these sparse complaints are intended to be a debugging aid, -not- a code-style-enforcement mechanism. There are special rcu_dereference_protected() and rcu_access_pointer() accessors for use when RCU read-side protection is not required, for example, when no other CPU has access to the data structure in question or while the current CPU hold the update-side lock. This patch also updates a number of docbook comments that were showing their age. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Cc: Christopher Li <sparse@chrisli.org> Reviewed-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
parent
d34a16661e
commit
ca5ecddfa8
5 changed files with 260 additions and 148 deletions
|
@ -73,12 +73,14 @@ int debug_lockdep_rcu_enabled(void)
|
|||
EXPORT_SYMBOL_GPL(debug_lockdep_rcu_enabled);
|
||||
|
||||
/**
|
||||
* rcu_read_lock_bh_held - might we be in RCU-bh read-side critical section?
|
||||
* rcu_read_lock_bh_held() - might we be in RCU-bh read-side critical section?
|
||||
*
|
||||
* Check for bottom half being disabled, which covers both the
|
||||
* CONFIG_PROVE_RCU and not cases. Note that if someone uses
|
||||
* rcu_read_lock_bh(), but then later enables BH, lockdep (if enabled)
|
||||
* will show the situation.
|
||||
* will show the situation. This is useful for debug checks in functions
|
||||
* that require that they be called within an RCU read-side critical
|
||||
* section.
|
||||
*
|
||||
* Check debug_lockdep_rcu_enabled() to prevent false positives during boot.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue