mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU updates from Ingo Molnar:
"The main RCU changes in this cycle were:
- Updates to use cond_resched() instead of cond_resched_rcu_qs()
where feasible (currently everywhere except in kernel/rcu and in
kernel/torture.c). Also a couple of fixes to avoid sending IPIs to
offline CPUs.
- Updates to simplify RCU's dyntick-idle handling.
- Updates to remove almost all uses of smp_read_barrier_depends() and
read_barrier_depends().
- Torture-test updates.
- Miscellaneous fixes"
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (72 commits)
torture: Save a line in stutter_wait(): while -> for
torture: Eliminate torture_runnable and perf_runnable
torture: Make stutter less vulnerable to compilers and races
locking/locktorture: Fix num reader/writer corner cases
locking/locktorture: Fix rwsem reader_delay
torture: Place all torture-test modules in one MAINTAINERS group
rcutorture/kvm-build.sh: Skip build directory check
rcutorture: Simplify functions.sh include path
rcutorture: Simplify logging
rcutorture/kvm-recheck-*: Improve result directory readability check
rcutorture/kvm.sh: Support execution from any directory
rcutorture/kvm.sh: Use consistent help text for --qemu-args
rcutorture/kvm.sh: Remove unused variable, `alldone`
rcutorture: Remove unused script, config2frag.sh
rcutorture/configinit: Fix build directory error message
rcutorture: Preempt RCU-preempt readers more vigorously
torture: Reduce #ifdefs for preempt_schedule()
rcu: Remove have_rcu_nocb_mask from tree_plugin.h
rcu: Add comment giving debug strategy for double call_rcu()
tracing, rcu: Hide trace event rcu_nocb_wake when not used
...
This commit is contained in:
commit
d772794637
81 changed files with 501 additions and 748 deletions
|
|
@ -713,7 +713,6 @@ descend_to_keyring:
|
|||
* doesn't contain any keyring pointers.
|
||||
*/
|
||||
shortcut = assoc_array_ptr_to_shortcut(ptr);
|
||||
smp_read_barrier_depends();
|
||||
if ((shortcut->index_key[0] & ASSOC_ARRAY_FAN_MASK) != 0)
|
||||
goto not_this_keyring;
|
||||
|
||||
|
|
@ -723,8 +722,6 @@ descend_to_keyring:
|
|||
}
|
||||
|
||||
node = assoc_array_ptr_to_node(ptr);
|
||||
smp_read_barrier_depends();
|
||||
|
||||
ptr = node->slots[0];
|
||||
if (!assoc_array_ptr_is_meta(ptr))
|
||||
goto begin_node;
|
||||
|
|
@ -736,7 +733,6 @@ descend_to_node:
|
|||
kdebug("descend");
|
||||
if (assoc_array_ptr_is_shortcut(ptr)) {
|
||||
shortcut = assoc_array_ptr_to_shortcut(ptr);
|
||||
smp_read_barrier_depends();
|
||||
ptr = READ_ONCE(shortcut->next_node);
|
||||
BUG_ON(!assoc_array_ptr_is_node(ptr));
|
||||
}
|
||||
|
|
@ -744,7 +740,6 @@ descend_to_node:
|
|||
|
||||
begin_node:
|
||||
kdebug("begin_node");
|
||||
smp_read_barrier_depends();
|
||||
slot = 0;
|
||||
ascend_to_node:
|
||||
/* Go through the slots in a node */
|
||||
|
|
@ -792,14 +787,12 @@ ascend_to_node:
|
|||
|
||||
if (ptr && assoc_array_ptr_is_shortcut(ptr)) {
|
||||
shortcut = assoc_array_ptr_to_shortcut(ptr);
|
||||
smp_read_barrier_depends();
|
||||
ptr = READ_ONCE(shortcut->back_pointer);
|
||||
slot = shortcut->parent_slot;
|
||||
}
|
||||
if (!ptr)
|
||||
goto not_this_keyring;
|
||||
node = assoc_array_ptr_to_node(ptr);
|
||||
smp_read_barrier_depends();
|
||||
slot++;
|
||||
|
||||
/* If we've ascended to the root (zero backpointer), we must have just
|
||||
|
|
|
|||
Loading…
Reference in a new issue