* 4beda543e40e Linux 5.13.1-rt1-xanmod1 * e9d81aaaa078 Merge tag 'v5.13-rt1' into 5.13 * 7e175e6b5997 Add localversion for -RT release * 6f3f622fe87a POWERPC: Allow to enable RT * 646e1ac9bc99 powerpc: Avoid recursive header includes * a1a11e9c8b5c powerpc/stackprotector: work around stack-guard init from atomic * f35ef21b2f18 powerpc/kvm: Disable in-kernel MPIC emulation for PREEMPT_RT * d91a27cdd893 powerpc/pseries/iommu: Use a locallock instead local_irq_save() * 9d22762227ec powerpc: traps: Use PREEMPT_RT * dd5ac564bb5e ARM64: Allow to enable RT * fb140d3f82d4 ARM: Allow to enable RT * 2b7f161a51bc arm64: fpsimd: Delay freeing memory in fpsimd_flush_thread() * b7f7c9df58ce KVM: arm/arm64: downgrade preempt_disable()d region to migrate_disable() * ae21940445d6 ARM: enable irq in translation/section permission fault handlers * 184bec33a00f arch/arm64: Add lazy preempt support * 2f9ba402f708 powerpc: Add support for lazy preemption * 95e00217927c arm: Add support for lazy preemption * f2f9e496208c x86: Support for lazy preemption * 5edd1691b69a x86/entry: Use should_resched() in idtentry_exit_cond_resched() * 2d1c3636a727 sched: Add support for lazy preemption * 4d507329b3b9 x86: Enable RT also on 32bit * 9e6ddccc4933 x86: Allow to enable RT * 60e58fe04abe x86: kvm Require const tsc for RT * 0cf7fc66884a signal/x86: Delay calling signals in atomic * a60399bc57eb sysfs: Add /sys/kernel/realtime entry * 2e2c38e82e2e tpm_tis: fix stall after iowrite*()s * cf646084521d tty/serial/pl011: Make the locking work on RT * b42b6e6889e2 tty/serial/omap: Make the locking RT aware * f5faab2a86dc drm/i915/gt: Only disable interrupts for the timeline lock on !force-threaded * 872271cf52c4 drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with NOTRACE * 4cad3232d7f0 drm/i915: disable tracing on -RT * a2a18b7ffa33 drm/i915: Don't disable interrupts on PREEMPT_RT during atomic updates * 13e2d414eb6f drm,radeon,i915: Use preempt_disable/enable_rt() where recommended * 3ca5dbf1d102 random: Make it work on rt * 4d07cdf96442 x86: stackprotector: Avoid random pool on rt * 625193bb2705 panic: skip get_random_bytes for RT_FULL in init_oops_id * 435b065c36a9 crypto: cryptd - add a lock instead preempt_disable/local_bh_disable * 63297909b77d crypto: limit more FPU-enabled sections * 5190ea9f4447 scsi/fcoe: Make RT aware. * 8b6bd58088fd md: raid5: Make raid5_percpu handling RT aware * 35da1a4242a1 drivers/block/zram: Replace bit spinlocks with rtmutex for -rt * a377dcde718a block/mq: do not invoke preempt_disable() * 8596053f3a47 net: Remove preemption disabling in netif_rx() * 7bcfc0a2920c net: dev: always take qdisc's busylock in __dev_xmit_skb() * b91f0be757d7 net: Dequeue in dev_cpu_dead() without the lock * 08f72cc54912 net: Use skbufhead with raw lock * 34d9adb7cc94 sunrpc: Make svc_xprt_do_enqueue() use get_cpu_light() * cd5a07cc5b4d net/core: use local_bh_disable() in netif_rx_ni() * 256ed200bb58 net: Properly annotate the try-lock for the seqlock * 13f621d9f778 net/Qdisc: use a seqlock instead seqcount * 72d6f4f680bf rcutorture: Avoid problematic critical section nesting on RT * 8abf1b2d2e8f rcu: Delay RCU-selftests * 0b9358cbbc0d fs: namespace: Use cpu_chill() in trylock loops * 3e649cdf24dd rt: Introduce cpu_chill() * 6577676e1025 fs/dcache: disable preemption on i_dir_seq's write side * b6b25f302612 fs/dcache: use swait_queue instead of waitqueue * bbd667d9ef68 ptrace: fix ptrace vs tasklist_lock race * c8d684497432 signal: Revert ptrace preempt magic * c6d6f9cc7f5d mm/scatterlist: Do not disable irqs on RT * d69a7f2680b5 mm/vmalloc: Another preempt disable region which sucks * 4e9fa61b3153 mm/zsmalloc: copy with get_cpu_var() and locking * 782bf4999ae6 mm/memcontrol: Replace local_irq_disable with local locks * 25de25aa3b89 mm/memcontrol: Don't call schedule_work_on in preemption disabled context * 6e041ac24c62 mm: memcontrol: Replace disable-IRQ locking with a local_lock * 858043073a33 mm: memcontrol: Add an argument to refill_stock() to indicate locking * d0964c3449ba u64_stats: Disable preemption on 32bit-UP/SMP with RT during updates * 62888474f4c7 mm/memcontrol: Disable preemption in __mod_memcg_lruvec_state() * fd1745bb1e6a mm/vmstat: Protect per cpu variables with preempt disable on RT * 07be330e9aa8 mm: slub: Don't enable partial CPU caches on PREEMPT_RT by default * 1473115e3d4e mm: page_alloc: Use migrate_disable() in drain_local_pages_wq() * 7b51cfe9736b mm, slub: Duct tape lockdep_assert_held(local_lock_t) on RT * ef1919f3b424 irqwork: push most work into softirq context * 61f56f34c531 softirq: Disable softirq stacks for RT * d98b56489a5c softirq: Check preemption after reenabling interrupts * 6d5928218536 cpuset: Convert callback_lock to raw_spinlock_t * bf37891999a3 sched: Disable TTWU_QUEUE on RT * e1ca6ff2eb5a sched: Do not account rcu_preempt_depth on RT in might_sleep() * 62c341d62dba kernel/sched: move stack + kprobe clean up to __put_task_struct() * 7da87732639e sched: Move mmdrop to RCU on RT * 93fcb6de922b sched: Limit the number of task migrations per batch * efad5fed9c9b kernel/sched: add {put|get}_cpu_light() * 468c014d5e37 preempt: Provide preempt_*_(no)rt variants * 32f3c134a277 lockdep: disable self-test * 63bf6d3149bb lockdep: selftest: fix warnings due to missing PREEMPT_RT conditionals * d73448cc523c lockdep: selftest: Only do hardirq context test for raw spinlock * a89aefc87298 lockdep: Make it RT aware * 5419cc6547b3 locking: don't check for __LINUX_SPINLOCK_TYPES_H on -RT archs * d1184a4a2389 locking/RT: Add might sleeping annotation. * df4f4e03b7ca locking/local_lock: Add RT support * 0fdc3cb86fec locking/local_lock: Prepare for RT support * ba5d7ea8cf4c locking/rtmutex: Add adaptive spinwait mechanism * 8e39f8f9c367 locking/rtmutex: Implement equal priority lock stealing * aa8c4cd5600d preempt: Adjust PREEMPT_LOCK_OFFSET for RT * eaaa5e87721d rtmutex: Prevent lockdep false positive with PI futexes * a796a11915bb futex: Prevent requeue_pi() lock nesting issue on RT * caf90d1280af futex: Clarify comment in futex_requeue() * e67ddc796fc1 futex: Restructure futex_requeue() * f3ffb1c6a2e8 futex: Correct the number of requeued waiters for PI * d8411abc3a26 futex: Cleanup stale comments * 1e1c70cfd49d futex: Validate waiter correctly in futex_proxy_trylock_atomic() * fc6e6a83c2ab lib/test_lockup: Adapt to changed variables. * d64c4ab5d3e8 locking/rtmutex: Add mutex variant for RT * 8cbe9cb30f66 locking/mutex: Exclude non-ww_mutex API for RT * 9e1721dcf72b locking/mutex: Rearrange items in mutex.h * 61df59103205 locking/mutex: Replace struct mutex in core code * 9e38af086bbd locking/ww_mutex: Switch to _mutex_t * 0d00cb96f750 locking/mutex: Rename the ww_mutex relevant functions * c0652713c314 locking/mutex: Introduce _mutex_t * b0bb8d3b97f7 locking/mutex: Make mutex::wait_lock raw * 52f869aee24d locking/ww_mutex: Move ww_mutex declarations into ww_mutex.h * 5e5f46d3edac locking/mutex: Move waiter to core header * 72a31aa31eae locking/mutex: Consolidate core headers * 387b12793ce0 locking/rwlock: Provide RT variant * 3779e68a306b locking/spinlock: Provide RT variant * 052c362a00b3 locking/rtmutex: Provide the spin/rwlock core lock function * a78d15145be2 locking/spinlock: Provide RT variant header * 1d0de8e9dd10 locking/spinlock: Provide RT specific spinlock type * 1eabaec31e25 locking/rtmutex: Include only rbtree types * 3f1005975f9d rbtree: Split out the rbtree type definitions * 98c59a95a146 locking/lockdep: Reduce includes in debug_locks.h * e0594a0d6b0f locking/rtmutex: Prevent future include recursion hell * d1739ad7ce7c locking/spinlock: Split the lock types header * a891c54d9b25 locking/rtmutex: Guard regular sleeping locks specific functions * a7844d974bab locking/rtmutex: Prepare RT rt_mutex_wake_q for RT locks * 908d2944c4eb locking/rtmutex: Use rt_mutex_wake_q_head * a0477bfbc5bb locking/rtmutex: Provide rt_mutex_wake_q and helpers * 5328155b18de locking/rtmutex: Add wake_state to rt_mutex_waiter * 1a83a3b0bb6b locking/rwsem: Add rtmutex based R/W semaphore implementation * 28b867762482 locking: Add base code for RT rw_semaphore and rwlock * e03cbdcf154e locking/rtmutex: Provide lockdep less variants of rtmutex interfaces * fb5c624fe3c5 locking/rtmutex: Provide rt_mutex_slowlock_locked() * d6de1c1adf2d rtmutex: Split API and implementation * 9abf291893bd rtmutex: Convert macros to inlines * 6d3f059f50e4 sched/wake_q: Provide WAKE_Q_HEAD_INITIALIZER * e5cc3ca9494a sched: Provide schedule point for RT locks * bf9603274469 sched: Rework the __schedule() preempt argument * 8b3163b24455 sched: Prepare for RT sleeping spin/rwlocks * e5376079ce19 sched: Introduce TASK_RTLOCK_WAIT * 7b569a8fe497 sched: Split out the wakeup state check * bee357cbbb92 debugobjects: Make RT aware * e1a2ed90bf85 trace: Add migrate-disabled counter to tracing output * f507f34db3d7 pid.h: include atomic.h * 930fe8dd9467 wait.h: include atomic.h * 276abf48d000 efi: Allow efi=runtime * cdfc123edc5e efi: Disable runtime services on RT * 6107960d6569 net/core: disable NET_RX_BUSY_POLL on RT * fdfbb25ebdd3 sched: Disable CONFIG_RT_GROUP_SCHED on RT * 8ec5e355c7e2 mm: Allow only SLUB on RT * 853484ed9104 kconfig: Disable config options which are not RT compatible * b0873a0cd9c4 leds: trigger: disable CPU trigger on -RT * 34809848f72d jump-label: disable if stop_machine() is used * f9bffbde6945 genirq: Disable irqpoll on -rt * bae73e9b444c genirq: update irq_set_irqchip_state documentation * abe17fca7cc1 smp: Wake ksoftirqd on PREEMPT_RT instead do_softirq(). * d7a13455f7f2 samples/kfifo: Rename read_lock/write_lock * 554e55b4eee8 tcp: Remove superfluous BH-disable around listening_hash * 2ba152ee3e8d net: Move lockdep where it belongs * ba75f58059e3 shmem: Use raw_spinlock_t for ->stat_lock * 109e285c64c2 mm: workingset: replace IRQ-off check with a lockdep assert. * 64d8a21476de cgroup: use irqsave in cgroup_rstat_flush_locked() * 8ba34ad86e24 notifier: Make atomic_notifiers use raw_spinlock * 10bc7873d8ce genirq: Move prio assignment into the newly created thread * 35811571bf3a kthread: Move prio/affinite change into the newly created thread * 0585cfb8fbe8 mm, slub: Correct ordering in slab_unlock() * 340e7c4136c3 mm, slub: convert kmem_cpu_slab protection to local_lock * 2180da7ea70a mm, slub: use migrate_disable() on PREEMPT_RT * 98ac7c83f761 mm, slub: make slab_lock() disable irqs with PREEMPT_RT * dde8c73f2bd0 mm, slub: optionally save/restore irqs in slab_[un]lock()/ * de1f2497acfb mm: slub: Make object_map_lock a raw_spinlock_t * 12a3a78defce mm: slub: Move flush_cpu_slab() invocations __free_slab() invocations out of IRQ context * 6e256a70bacc mm, slab: make flush_slab() possible to call with irqs enabled * f66b34cdc3a0 mm, slub: don't disable irqs in slub_cpu_dead() * 15742266f9d3 mm, slub: only disable irq with spin_lock in __unfreeze_partials() * 02194b557292 mm, slub: detach percpu partial list in unfreeze_partials() using this_cpu_cmpxchg() * 62047a84e9eb mm, slub: detach whole partial list at once in unfreeze_partials() * 85fd98f06f02 mm, slub: discard slabs in unfreeze_partials() without irqs disabled * bfcb75f81573 mm, slub: move irq control into unfreeze_partials() * e6acdc5f5fc6 mm, slub: call deactivate_slab() without disabling irqs * fc54ebb41d5d mm, slub: make locking in deactivate_slab() irq-safe * 378a8597511d mm, slub: move reset of c->page and freelist out of deactivate_slab() * a1bedf14b4ef mm, slub: stop disabling irqs around get_partial() * e7fa6bb0ab58 mm, slub: check new pages with restored irqs * 843f16905f66 mm, slub: validate slab from partial list or page allocator before making it cpu slab * 033708e4faa8 mm, slub: restore irqs around calling new_slab() * aa890ddaca1d mm, slub: move disabling irqs closer to get_partial() in ___slab_alloc() * 8c1d368c71c0 mm, slub: do initial checks in ___slab_alloc() with irqs enabled * 12c69bab1ece mm, slub: move disabling/enabling irqs to ___slab_alloc() * 78ed20c1e4aa mm, slub: simplify kmem_cache_cpu and tid setup * ae3b1f17e84e mm, slub: restructure new page checks in ___slab_alloc() * d071b8eed93b mm, slub: return slab page from get_partial() and set c->page afterwards * 1b92ed69ba93 mm, slub: dissolve new_slab_objects() into ___slab_alloc() * 3c7b04f4ae25 mm, slub: extract get_partial() from new_slab_objects() * 49dde93b06d1 mm, slub: unify cmpxchg_double_slab() and __cmpxchg_double_slab() * 26d89006c661 mm, slub: remove redundant unfreeze_partials() from put_cpu_partial() * 8f9b6e2f1301 mm, slub: don't disable irq for debug_check_no_locks_freed() * bec329bbe49d mm, slub: allocate private object map for validate_slab_cache() * cea629879447 mm, slub: allocate private object map for sysfs listings * 0492d5407c2e mm, slub: don't call flush_all() from list_locations() * 72f1ab0179ac mm/page_alloc: Split per cpu page lists and zone stats -fix * 7d4d69cd8788 mm/page_alloc: Update PGFREE outside the zone lock in __free_pages_ok * 8ec908f71c8d mm/page_alloc: Avoid conflating IRQs disabled with zone->lock * b6ff3966dcbf mm/page_alloc: Explicitly acquire the zone lock in __free_pages_ok * 16e165bea08e mm/page_alloc: Reduce duration that IRQs are disabled for VM counters * c7285ff94096 mm/page_alloc: Batch the accounting updates in the bulk allocator * 069f3cf439ee mm/vmstat: Inline NUMA event counter updates * 39642efb7daa mm/vmstat: Convert NUMA statistics to basic NUMA counters * 7e057409dc68 mm/page_alloc: Convert per-cpu list protection to local_lock * b40b27ff9be9 mm/page_alloc: Split per cpu page lists and zone stats * d36c3ebdd165 timers: Move clearing of base::timer_running under base::lock * 1d1164a4e192 highmem: Don't disable preemption on RT in kmap_atomic() * 63cf1e4b564a printk: add pr_flush() * b41f91f573cd printk: add console handover * 4a181ae05c92 printk: remove deferred printing * c4049cfc8a03 printk: move console printing to kthreads * 4b788a578cc2 printk: introduce kernel sync mode * 7995ace9ab04 printk: use seqcount_latch for console_seq * 19aa62406830 printk: combine boot_delay_msec() into printk_delay() * 109255d49bc3 printk: relocate printk_delay() and vprintk_default() * b94b12794bb4 serial: 8250: implement write_atomic * 8d4fe695dbb0 kdb: only use atomic consoles for output mirroring * 735eda8e5ceb console: add write_atomic interface * 8c1c98157afc printk: convert @syslog_lock to spin_lock * 114233f8744c printk: remove safe buffers * 2baa48303c45 printk: track/limit recursion