Merge branches 'cond_resched.2017.12.04a', 'dyntick.2017.11.28a', 'fixes.2017.12.11a', 'srbd.2017.12.05a' and 'torture.2017.12.11a' into HEAD
cond_resched.2017.12.04a: Convert cond_resched_rcu_qs() to cond_resched() dyntick.2017.11.28a: Make RCU dynticks handle interrupts from NMI fixes.2017.12.11a: Miscellaneous fixes srbd.2017.12.05a: Remove now-redundant smp_read_barrier_depends() torture.2017.12.11a: Torture-testing update
This commit is contained in:
@@ -433,12 +433,12 @@ static inline void rcu_preempt_sleep_check(void) { }
|
||||
* @p: The pointer to read
|
||||
*
|
||||
* Return the value of the specified RCU-protected pointer, but omit the
|
||||
* smp_read_barrier_depends() and keep the READ_ONCE(). This is useful
|
||||
* when the value of this pointer is accessed, but the pointer is not
|
||||
* dereferenced, for example, when testing an RCU-protected pointer against
|
||||
* NULL. Although rcu_access_pointer() may also be used in cases where
|
||||
* update-side locks prevent the value of the pointer from changing, you
|
||||
* should instead use rcu_dereference_protected() for this use case.
|
||||
* lockdep checks for being in an RCU read-side critical section. This is
|
||||
* useful when the value of this pointer is accessed, but the pointer is
|
||||
* not dereferenced, for example, when testing an RCU-protected pointer
|
||||
* against NULL. Although rcu_access_pointer() may also be used in cases
|
||||
* where update-side locks prevent the value of the pointer from changing,
|
||||
* you should instead use rcu_dereference_protected() for this use case.
|
||||
*
|
||||
* It is also permissible to use rcu_access_pointer() when read-side
|
||||
* access to the pointer was removed at least one grace period ago, as
|
||||
@@ -521,12 +521,11 @@ static inline void rcu_preempt_sleep_check(void) { }
|
||||
* @c: The conditions under which the dereference will take place
|
||||
*
|
||||
* Return the value of the specified RCU-protected pointer, but omit
|
||||
* both the smp_read_barrier_depends() and the READ_ONCE(). This
|
||||
* is useful in cases where update-side locks prevent the value of the
|
||||
* pointer from changing. Please note that this primitive does *not*
|
||||
* prevent the compiler from repeating this reference or combining it
|
||||
* with other references, so it should not be used without protection
|
||||
* of appropriate locks.
|
||||
* the READ_ONCE(). This is useful in cases where update-side locks
|
||||
* prevent the value of the pointer from changing. Please note that this
|
||||
* primitive does *not* prevent the compiler from repeating this reference
|
||||
* or combining it with other references, so it should not be used without
|
||||
* protection of appropriate locks.
|
||||
*
|
||||
* This function is only for update-side use. Using this function
|
||||
* when protected only by rcu_read_lock() will result in infrequent
|
||||
|
Reference in New Issue
Block a user