arch/x86/Kconfig | 1 + arch/x86/entry/thunk_64.S | 5 ++ arch/x86/include/asm/current.h | 3 + arch/x86/include/asm/rcu_preempt.h | 109 +++++++++++++++++++++++++++++ arch/x86/kernel/cpu/common.c | 7 +- include/linux/rcupdate.h | 36 ++++++++++ kernel/rcu/Kconfig | 8 +++ kernel/rcu/rcu.h | 15 +++- kernel/rcu/tree.c | 2 +- kernel/rcu/tree_exp.h | 2 +- kernel/rcu/tree_plugin.h | 41 +++++++---- kernel/sched/core.c | 2 + lib/locking-selftest.c | 6 +- 13 files changed, 211 insertions(+), 26 deletions(-) create mode 100644 arch/x86/include/asm/rcu_preempt.h