Hello! This pull request contains Thomas Gleixner's "Make preempt count unconditional" series [1], but with the addition of a kvfree_rcu() bug-fix commit making use of this PREEMPT_COUNT addition. This series reduces the size of the kernel by almost 100 lines of code and is intended for the upcoming v5.10 merge window.
Please note that these commits must go in via the -tip tree [2]. The additional bug-fix commit addresses a bug reported by Sebastian Andrzej Siewior [3]. Please note that with the advent of the new lockdep Kconfig option CONFIG_PROVE_RAW_LOCK_NESTING, this is now also a mainline bug. In happy contrast to the surprisingly large number of earlier versions of this fix, this version uses only pre-existing kernel interfaces, and furthermore uses them in conventional ways. This series has been posted to LKML: https://lore.kernel.org/lkml/20200928233041.GA23230@paulmck-ThinkPad-P72 It has also been exposed to the kernel test robot and to -next testing. Changes since the LKML posting are limited to the addition of a comment block and commit-log changes, the latter including the addition of a Reviewed-by. Additional discussion led to an additional two commits containing small updates, but these two additional commits are deferred to a later pull request, almost certainly for a later merge window. Thanx, Paul [1] https://lore.kernel.org/linux-mm/[email protected]/ [2] https://lore.kernel.org/lkml/[email protected]/ [3] https://lore.kernel.org/lkml/[email protected]/ The following changes since commit 856deb866d16e29bd65952e0289066f6078af773: Linux 5.9-rc5 (2020-09-13 16:06:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git rcu/fix-rt for you to fetch changes up to 849b9c5446ccb0c98c7b11c69f169d22777ab31b: kvfree_rcu(): Fix ifnullfree.cocci warnings (2020-10-01 09:07:24 -0700) ---------------------------------------------------------------- Thomas Gleixner (13): lib/debug: Remove pointless ARCH_NO_PREEMPT dependencies preempt: Make preempt count unconditional preempt: Cleanup PREEMPT_COUNT leftovers lockdep: Cleanup PREEMPT_COUNT leftovers mm/pagemap: Cleanup PREEMPT_COUNT leftovers locking/bitspinlock: Cleanup PREEMPT_COUNT leftovers uaccess: Cleanup PREEMPT_COUNT leftovers sched: Cleanup PREEMPT_COUNT leftovers ARM: Cleanup PREEMPT_COUNT leftovers xtensa: Cleanup PREEMPT_COUNT leftovers drm/i915: Cleanup PREEMPT_COUNT leftovers rcutorture: Cleanup PREEMPT_COUNT leftovers preempt: Remove PREEMPT_COUNT from Kconfig Uladzislau Rezki (Sony) (1): rcu/tree: Allocate a page when caller is preemptible kernel test robot (1): kvfree_rcu(): Fix ifnullfree.cocci warnings arch/arm/include/asm/assembler.h | 11 --- arch/arm/kernel/iwmmxt.S | 2 - arch/arm/mach-ep93xx/crunch-bits.S | 2 - arch/xtensa/kernel/entry.S | 2 +- drivers/gpu/drm/i915/Kconfig.debug | 1 - drivers/gpu/drm/i915/i915_utils.h | 3 +- include/linux/bit_spinlock.h | 4 +- include/linux/lockdep.h | 6 +- include/linux/pagemap.h | 4 +- include/linux/preempt.h | 37 ++-------- include/linux/uaccess.h | 6 +- kernel/Kconfig.preempt | 4 -- kernel/rcu/tree.c | 79 ++++++++-------------- kernel/sched/core.c | 6 +- lib/Kconfig.debug | 3 - .../selftests/rcutorture/configs/rcu/SRCU-t | 1 - .../selftests/rcutorture/configs/rcu/SRCU-u | 1 - .../selftests/rcutorture/configs/rcu/TINY01 | 1 - .../testing/selftests/rcutorture/doc/TINY_RCU.txt | 5 +- .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt | 1 - .../rcutorture/formal/srcu-cbmc/src/config.h | 1 - 21 files changed, 44 insertions(+), 136 deletions(-)

