• Linus Torvalds's avatar
    Merge tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f6dcffb
    Linus Torvalds authored
    Pull preempt RT updates from Thomas Gleixner:
     "Introduce preempt_[dis|enable_nested() and use it to clean up various
      places which have open coded PREEMPT_RT conditionals.
    
      On PREEMPT_RT enabled kernels, spinlocks and rwlocks are neither
      disabling preemption nor interrupts. Though there are a few places
      which depend on the implicit preemption/interrupt disable of those
      locks, e.g. seqcount write sections, per CPU statistics updates etc.
    
      PREEMPT_RT added open coded CONFIG_PREEMPT_RT conditionals to
      disable/enable preemption in the related code parts all over the
      place. That's hard to read and does not really explain why this is
      necessary.
    
      Linus suggested to use helper functions (preempt_disable_nested() and
      preempt_enable_nested()) and use those in the affected places. On !RT
      enabled kernels these functions are NOPs, but contain a lockdep assert
      to validate that preemption is actually disabled to catch call sites
      which do not have preemption disabled.
    
      Clean up the affected code paths in mm, dentry and lib"
    
    * tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      u64_stats: Streamline the implementation
      flex_proportions: Disable preemption entering the write section.
      mm/compaction: Get rid of RT ifdeffery
      mm/memcontrol: Replace the PREEMPT_RT conditionals
      mm/debug: Provide VM_WARN_ON_IRQS_ENABLED()
      mm/vmstat: Use preempt_[dis|en]able_nested()
      dentry: Use preempt_[dis|en]able_nested()
      preempt: Provide preempt_[dis|en]able_nested()
    7f6dcffb
Kconfig.debug 90.3 KB