diff options
Diffstat (limited to 'include/linux/rcupdate.h')
-rw-r--r-- | include/linux/rcupdate.h | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 87bb0eee665b..b97842ff71d2 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h | |||
@@ -628,21 +628,6 @@ static inline void rcu_preempt_sleep_check(void) | |||
628 | ((typeof(*p) __force __kernel *)(p)); \ | 628 | ((typeof(*p) __force __kernel *)(p)); \ |
629 | }) | 629 | }) |
630 | 630 | ||
631 | #define __rcu_access_index(p, space) \ | ||
632 | ({ \ | ||
633 | typeof(p) _________p1 = READ_ONCE(p); \ | ||
634 | rcu_dereference_sparse(p, space); \ | ||
635 | (_________p1); \ | ||
636 | }) | ||
637 | #define __rcu_dereference_index_check(p, c) \ | ||
638 | ({ \ | ||
639 | /* Dependency order vs. p above. */ \ | ||
640 | typeof(p) _________p1 = lockless_dereference(p); \ | ||
641 | rcu_lockdep_assert(c, \ | ||
642 | "suspicious rcu_dereference_index_check() usage"); \ | ||
643 | (_________p1); \ | ||
644 | }) | ||
645 | |||
646 | /** | 631 | /** |
647 | * RCU_INITIALIZER() - statically initialize an RCU-protected global variable | 632 | * RCU_INITIALIZER() - statically initialize an RCU-protected global variable |
648 | * @v: The value to statically initialize with. | 633 | * @v: The value to statically initialize with. |
@@ -787,41 +772,6 @@ static inline void rcu_preempt_sleep_check(void) | |||
787 | #define rcu_dereference_raw_notrace(p) __rcu_dereference_check((p), 1, __rcu) | 772 | #define rcu_dereference_raw_notrace(p) __rcu_dereference_check((p), 1, __rcu) |
788 | 773 | ||
789 | /** | 774 | /** |
790 | * rcu_access_index() - fetch RCU index with no dereferencing | ||
791 | * @p: The index to read | ||
792 | * | ||
793 | * Return the value of the specified RCU-protected index, but omit the | ||
794 | * smp_read_barrier_depends() and keep the READ_ONCE(). This is useful | ||
795 | * when the value of this index is accessed, but the index is not | ||
796 | * dereferenced, for example, when testing an RCU-protected index against | ||
797 | * -1. Although rcu_access_index() may also be used in cases where | ||
798 | * update-side locks prevent the value of the index from changing, you | ||
799 | * should instead use rcu_dereference_index_protected() for this use case. | ||
800 | */ | ||
801 | #define rcu_access_index(p) __rcu_access_index((p), __rcu) | ||
802 | |||
803 | /** | ||
804 | * rcu_dereference_index_check() - rcu_dereference for indices with debug checking | ||
805 | * @p: The pointer to read, prior to dereferencing | ||
806 | * @c: The conditions under which the dereference will take place | ||
807 | * | ||
808 | * Similar to rcu_dereference_check(), but omits the sparse checking. | ||
809 | * This allows rcu_dereference_index_check() to be used on integers, | ||
810 | * which can then be used as array indices. Attempting to use | ||
811 | * rcu_dereference_check() on an integer will give compiler warnings | ||
812 | * because the sparse address-space mechanism relies on dereferencing | ||
813 | * the RCU-protected pointer. Dereferencing integers is not something | ||
814 | * that even gcc will put up with. | ||
815 | * | ||
816 | * Note that this function does not implicitly check for RCU read-side | ||
817 | * critical sections. If this function gains lots of uses, it might | ||
818 | * make sense to provide versions for each flavor of RCU, but it does | ||
819 | * not make sense as of early 2010. | ||
820 | */ | ||
821 | #define rcu_dereference_index_check(p, c) \ | ||
822 | __rcu_dereference_index_check((p), (c)) | ||
823 | |||
824 | /** | ||
825 | * rcu_dereference_protected() - fetch RCU pointer when updates prevented | 775 | * rcu_dereference_protected() - fetch RCU pointer when updates prevented |
826 | * @p: The pointer to read, prior to dereferencing | 776 | * @p: The pointer to read, prior to dereferencing |
827 | * @c: The conditions under which the dereference will take place | 777 | * @c: The conditions under which the dereference will take place |