summaryrefslogtreecommitdiffstats
path: root/debian/patches-rt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch4
-rw-r--r--debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch6
-rw-r--r--debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch4
-rw-r--r--debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch4
-rw-r--r--debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch4
-rw-r--r--debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch4
-rw-r--r--debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch4
-rw-r--r--debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch4
-rw-r--r--debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch4
-rw-r--r--debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch4
-rw-r--r--debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch6
-rw-r--r--debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch4
-rw-r--r--debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch4
-rw-r--r--debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch4
-rw-r--r--debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch4
-rw-r--r--debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch4
-rw-r--r--debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch4
-rw-r--r--debian/patches-rt/0018-efi-Allow-efi-runtime.patch4
-rw-r--r--debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch4
-rw-r--r--debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch4
-rw-r--r--debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch4
-rw-r--r--debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch4
-rw-r--r--debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch4
-rw-r--r--debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch4
-rw-r--r--debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch6
-rw-r--r--debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch14
-rw-r--r--debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch6
-rw-r--r--debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch4
-rw-r--r--debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch6
-rw-r--r--debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch8
-rw-r--r--debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch4
-rw-r--r--debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch4
-rw-r--r--debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch4
-rw-r--r--debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch4
-rw-r--r--debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch4
-rw-r--r--debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch4
-rw-r--r--debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch8
-rw-r--r--debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch8
-rw-r--r--debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch6
-rw-r--r--debian/patches-rt/0040-lockdep-disable-self-test.patch4
-rw-r--r--debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch4
-rw-r--r--debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch4
-rw-r--r--debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch4
-rw-r--r--debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch4
-rw-r--r--debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch4
-rw-r--r--debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch8
-rw-r--r--debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch8
-rw-r--r--debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch6
-rw-r--r--debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch4
-rw-r--r--debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch8
-rw-r--r--debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch8
-rw-r--r--debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch8
-rw-r--r--debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch4
-rw-r--r--debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch4
-rw-r--r--debian/patches-rt/0055-md-disable-bcache.patch4
-rw-r--r--debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch4
-rw-r--r--debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch6
-rw-r--r--debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch4
-rw-r--r--debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch6
-rw-r--r--debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch6
-rw-r--r--debian/patches-rt/0061-rt-Add-local-irq-locks.patch4
-rw-r--r--debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch4
-rw-r--r--debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch4
-rw-r--r--debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch4
-rw-r--r--debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch4
-rw-r--r--debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch4
-rw-r--r--debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch4
-rw-r--r--debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch4
-rw-r--r--debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch4
-rw-r--r--debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch4
-rw-r--r--debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch4
-rw-r--r--debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch4
-rw-r--r--debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch4
-rw-r--r--debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch8
-rw-r--r--debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch6
-rw-r--r--debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch4
-rw-r--r--debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch6
-rw-r--r--debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch6
-rw-r--r--debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch4
-rw-r--r--debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch4
-rw-r--r--debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch6
-rw-r--r--debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch6
-rw-r--r--debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch4
-rw-r--r--debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch6
-rw-r--r--debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch6
-rw-r--r--debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch4
-rw-r--r--debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch4
-rw-r--r--debian/patches-rt/0088-radix-tree-use-local-locks.patch6
-rw-r--r--debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch4
-rw-r--r--debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch8
-rw-r--r--debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch4
-rw-r--r--debian/patches-rt/0092-wait.h-include-atomic.h.patch4
-rw-r--r--debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch4
-rw-r--r--debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch4
-rw-r--r--debian/patches-rt/0095-completion-Use-simple-wait-queues.patch6
-rw-r--r--debian/patches-rt/0096-fs-aio-simple-simple-work.patch4
-rw-r--r--debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch4
-rw-r--r--debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch14
-rw-r--r--debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch24
-rw-r--r--debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch20
-rw-r--r--debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch6
-rw-r--r--debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch6
-rw-r--r--debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch6
-rw-r--r--debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch4
-rw-r--r--debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch4
-rw-r--r--debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch4
-rw-r--r--debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch4
-rw-r--r--debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch4
-rw-r--r--debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch4
-rw-r--r--debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch6
-rw-r--r--debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch6
-rw-r--r--debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch4
-rw-r--r--debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch4
-rw-r--r--debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch4
-rw-r--r--debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch8
-rw-r--r--debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch12
-rw-r--r--debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch6
-rw-r--r--debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch4
-rw-r--r--debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch16
-rw-r--r--debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch4
-rw-r--r--debian/patches-rt/0121-softirq-Split-softirq-locks.patch10
-rw-r--r--debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch8
-rw-r--r--debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch4
-rw-r--r--debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch4
-rw-r--r--debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch4
-rw-r--r--debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch4
-rw-r--r--debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch4
-rw-r--r--debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch4
-rw-r--r--debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch6
-rw-r--r--debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch4
-rw-r--r--debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch6
-rw-r--r--debian/patches-rt/0132-pid.h-include-atomic.h.patch4
-rw-r--r--debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch4
-rw-r--r--debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch4
-rw-r--r--debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch4
-rw-r--r--debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch4
-rw-r--r--debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch4
-rw-r--r--debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch4
-rw-r--r--debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch70
-rw-r--r--debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch4
-rw-r--r--debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch4
-rw-r--r--debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch6
-rw-r--r--debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch4
-rw-r--r--debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch4
-rw-r--r--debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch4
-rw-r--r--debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch4
-rw-r--r--debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch4
-rw-r--r--debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch4
-rw-r--r--debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch4
-rw-r--r--debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch4
-rw-r--r--debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch4
-rw-r--r--debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch4
-rw-r--r--debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch4
-rw-r--r--debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch6
-rw-r--r--debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch6
-rw-r--r--debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch4
-rw-r--r--debian/patches-rt/0157-rcu-Frob-softirq-test.patch4
-rw-r--r--debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch10
-rw-r--r--debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch4
-rw-r--r--debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch4
-rw-r--r--debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch4
-rw-r--r--debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch4
-rw-r--r--debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch4
-rw-r--r--debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch4
-rw-r--r--debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch4
-rw-r--r--debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch4
-rw-r--r--debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch4
-rw-r--r--debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch8
-rw-r--r--debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch4
-rw-r--r--debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch4
-rw-r--r--debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch4
-rw-r--r--debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch6
-rw-r--r--debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch4
-rw-r--r--debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch4
-rw-r--r--debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch4
-rw-r--r--debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch4
-rw-r--r--debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch4
-rw-r--r--debian/patches-rt/0178-block-mq-use-cpu_light.patch4
-rw-r--r--debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch4
-rw-r--r--debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch4
-rw-r--r--debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch6
-rw-r--r--debian/patches-rt/0182-rt-Introduce-cpu_chill.patch6
-rw-r--r--debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch6
-rw-r--r--debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch6
-rw-r--r--debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch4
-rw-r--r--debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch4
-rw-r--r--debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch4
-rw-r--r--debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch10
-rw-r--r--debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch12
-rw-r--r--debian/patches-rt/0190-workqueue-Use-normal-rcu.patch48
-rw-r--r--debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch30
-rw-r--r--debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch8
-rw-r--r--debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch12
-rw-r--r--debian/patches-rt/0194-debugobjects-Make-RT-aware.patch8
-rw-r--r--debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch12
-rw-r--r--debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch4
-rw-r--r--debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch20
-rw-r--r--debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch20
-rw-r--r--debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch8
-rw-r--r--debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch6
-rw-r--r--debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch8
-rw-r--r--debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch4
-rw-r--r--debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch4
-rw-r--r--debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch14
-rw-r--r--debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch4
-rw-r--r--debian/patches-rt/0206-printk-Make-rt-aware.patch4
-rw-r--r--debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch4
-rw-r--r--debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch4
-rw-r--r--debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch4
-rw-r--r--debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch4
-rw-r--r--debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch4
-rw-r--r--debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch4
-rw-r--r--debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch8
-rw-r--r--debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch4
-rw-r--r--debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch4
-rw-r--r--debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch4
-rw-r--r--debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch4
-rw-r--r--debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch4
-rw-r--r--debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch10
-rw-r--r--debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch4
-rw-r--r--debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch4
-rw-r--r--debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch4
-rw-r--r--debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch4
-rw-r--r--debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch4
-rw-r--r--debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch4
-rw-r--r--debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch4
-rw-r--r--debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch6
-rw-r--r--debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch4
-rw-r--r--debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch6
-rw-r--r--debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch10
-rw-r--r--debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch6
-rw-r--r--debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch6
-rw-r--r--debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch6
-rw-r--r--debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch4
-rw-r--r--debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch4
-rw-r--r--debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch20
-rw-r--r--debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch8
-rw-r--r--debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch8
-rw-r--r--debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch4
-rw-r--r--debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch4
-rw-r--r--debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch8
-rw-r--r--debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch12
-rw-r--r--debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch4
-rw-r--r--debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch4
-rw-r--r--debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch4
-rw-r--r--debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch4
-rw-r--r--debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch4
-rw-r--r--debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch4
-rw-r--r--debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch4
-rw-r--r--debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch4
-rw-r--r--debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch4
-rw-r--r--debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch4
-rw-r--r--debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch4
-rw-r--r--debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch12
-rw-r--r--debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch4
-rw-r--r--debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch4
-rw-r--r--debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch18
-rw-r--r--debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch6
-rw-r--r--debian/patches-rt/0259-Add-localversion-for-RT-release.patch4
-rw-r--r--debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch4
-rw-r--r--debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch4
-rw-r--r--debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch4
-rw-r--r--debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch4
-rw-r--r--debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch4
-rw-r--r--debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch10
-rw-r--r--debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch4
-rw-r--r--debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch4
-rw-r--r--debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch4
-rw-r--r--debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch4
-rw-r--r--debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch20
-rw-r--r--debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch6
-rw-r--r--debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch4
-rw-r--r--debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch6
-rw-r--r--debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch6
-rw-r--r--debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch6
-rw-r--r--debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch6
-rw-r--r--debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch4
-rw-r--r--debian/patches-rt/0278-revert-aio.patch4
-rw-r--r--debian/patches-rt/0279-fs-aio-simple-simple-work.patch4
-rw-r--r--debian/patches-rt/0280-revert-thermal.patch4
-rw-r--r--debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch4
-rw-r--r--debian/patches-rt/0282-revert-block.patch4
-rw-r--r--debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch4
-rw-r--r--debian/patches-rt/0284-workqueue-rework.patch194
-rw-r--r--debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch4
-rw-r--r--debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch4
-rw-r--r--debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch4
-rw-r--r--debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch4
-rw-r--r--debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch4
-rw-r--r--debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch4
-rw-r--r--debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch4
-rw-r--r--debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch6
-rw-r--r--debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch6
-rw-r--r--debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch6
-rw-r--r--debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch6
-rw-r--r--debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch4
-rw-r--r--debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch6
-rw-r--r--debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch4
-rw-r--r--debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch4
-rw-r--r--debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch4
-rw-r--r--debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch4
-rw-r--r--debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch6
-rw-r--r--debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch4
-rw-r--r--debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch4
-rw-r--r--debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch4
-rw-r--r--debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch4
-rw-r--r--debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch8
-rw-r--r--debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch4
-rw-r--r--debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch4
-rw-r--r--debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch4
-rw-r--r--debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch6
-rw-r--r--debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch4
-rw-r--r--debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch4
-rw-r--r--debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch4
-rw-r--r--debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch4
-rw-r--r--debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch4
-rw-r--r--debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch6
-rw-r--r--debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch4
-rw-r--r--debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch4
-rw-r--r--debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch8
-rw-r--r--debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch4
-rw-r--r--debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch4
-rw-r--r--debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch4
-rw-r--r--debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch6
-rw-r--r--debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch6
-rw-r--r--debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch6
-rw-r--r--debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch4
-rw-r--r--debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch4
-rw-r--r--debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch4
-rw-r--r--debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch4
-rw-r--r--debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch4
-rw-r--r--debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch4
-rw-r--r--debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch4
-rw-r--r--debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch6
-rw-r--r--debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch4
-rw-r--r--debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch4
-rw-r--r--debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch4
-rw-r--r--debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch4
-rw-r--r--debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch16
-rw-r--r--debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch4
-rw-r--r--debian/patches-rt/0341-random-Bring-back-the-local_locks.patch4
-rw-r--r--debian/patches-rt/0342-local_lock-Provide-INIT_LOCAL_LOCK.patch4
-rw-r--r--debian/patches-rt/0343-Revert-workqueue-Use-local-irq-lock-instead-of-irq-d.patch8
-rw-r--r--debian/patches-rt/0344-timers-Keep-interrupts-disabled-for-TIMER_IRQSAFE-ti.patch4
-rw-r--r--debian/patches-rt/0345-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch4
-rw-r--r--debian/patches-rt/0346-rcu-Update-rcuwait.patch6
-rw-r--r--debian/patches-rt/0347-workqueue-Use-rcuwait-for-wq_manager_wait.patch12
-rw-r--r--debian/patches-rt/0348-timers-Prepare-support-for-PREEMPT_RT.patch4
-rw-r--r--debian/patches-rt/0349-timers-Move-clearing-of-base-timer_running-under-bas.patch4
-rw-r--r--debian/patches-rt/0350-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch4
-rw-r--r--debian/patches-rt/0351-Revert-percpu-include-irqflags.h-for-raw_local_irq_s.patch4
-rw-r--r--debian/patches-rt/0352-workqueue-Fix-deadlock-due-to-recursive-locking-of-p.patch8
-rw-r--r--debian/patches-rt/0353-Revert-sched-rt-Provide-migrate_disable-enable-inlin.patch58
-rw-r--r--debian/patches-rt/0354-Linux-4.19.302-rt131-REBASE.patch (renamed from debian/patches-rt/0353-Linux-4.19.284-rt125-REBASE.patch)10
-rw-r--r--debian/patches-rt/rcupdate-delete-duplicated-macros.patch67
-rw-r--r--debian/patches-rt/series4
356 files changed, 1216 insertions, 1137 deletions
diff --git a/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch b/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch
index fef3029d3..63ab657b2 100644
--- a/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch
+++ b/debian/patches-rt/0001-ARM-at91-add-TCB-registers-definitions.patch
@@ -1,7 +1,7 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:18 +0200
-Subject: [PATCH 001/353] ARM: at91: add TCB registers definitions
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d5cb3db0db4af2d71851e972bde6defcd16e3d57
+Subject: [PATCH 001/354] ARM: at91: add TCB registers definitions
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6bf97db6a22f57ff49dd88286bd67c1f746ae82e
Add registers and bits definitions for the timer counter blocks found on
Atmel ARM SoCs.
diff --git a/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch b/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch
index 5ac210598..8468f1e69 100644
--- a/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch
+++ b/debian/patches-rt/0002-clocksource-drivers-Add-a-new-driver-for-the-Atmel-A.patch
@@ -1,8 +1,8 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:19 +0200
-Subject: [PATCH 002/353] clocksource/drivers: Add a new driver for the Atmel
+Subject: [PATCH 002/354] clocksource/drivers: Add a new driver for the Atmel
ARM TC blocks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0043104c9ea190cfd4f18e03d31379ba173b14c3
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=22b86bcd097361e683ce2156edc1b6f845fcb8ea
Add a driver for the Atmel Timer Counter Blocks. This driver provides a
clocksource and two clockevent devices.
@@ -50,7 +50,7 @@ index 06504384c376..9422ea3a52ac 100644
bool "Exynos multi core timer driver" if COMPILE_TEST
depends on ARM || ARM64
diff --git a/drivers/clocksource/Makefile b/drivers/clocksource/Makefile
-index db51b2427e8a..0df9384a1230 100644
+index e33b21d3f9d8..9841a45293e3 100644
--- a/drivers/clocksource/Makefile
+++ b/drivers/clocksource/Makefile
@@ -3,7 +3,8 @@ obj-$(CONFIG_TIMER_OF) += timer-of.o
diff --git a/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch b/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch
index be67d6de9..463824e67 100644
--- a/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch
+++ b/debian/patches-rt/0003-clocksource-drivers-timer-atmel-tcb-add-clockevent-d.patch
@@ -1,8 +1,8 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:20 +0200
-Subject: [PATCH 003/353] clocksource/drivers: timer-atmel-tcb: add clockevent
+Subject: [PATCH 003/354] clocksource/drivers: timer-atmel-tcb: add clockevent
device on separate channel
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4e8db0c861ea79c7d74cf1dbc062edb0e89b0afd
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=936bc406a7637a1bae905a544ac1940a216be130
Add an other clockevent device that uses a separate TCB channel when
available.
diff --git a/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch b/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch
index 38dbdc5da..b0d696f0e 100644
--- a/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch
+++ b/debian/patches-rt/0004-clocksource-drivers-atmel-pit-make-option-silent.patch
@@ -1,7 +1,7 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:21 +0200
-Subject: [PATCH 004/353] clocksource/drivers: atmel-pit: make option silent
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8f7428d3f6ffc0509868983b6c335c1501a6fb5c
+Subject: [PATCH 004/354] clocksource/drivers: atmel-pit: make option silent
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8a13f7aa4cc2d8401185eee4461a6f9d27e603a7
To conform with the other option, make the ATMEL_PIT option silent so it
can be selected from the platform
diff --git a/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch b/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch
index 27abb0473..59ad4745f 100644
--- a/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch
+++ b/debian/patches-rt/0005-ARM-at91-Implement-clocksource-selection.patch
@@ -1,7 +1,7 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:22 +0200
-Subject: [PATCH 005/353] ARM: at91: Implement clocksource selection
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b6e573dad69145114e6fbfb9b10ed033e8d5023d
+Subject: [PATCH 005/354] ARM: at91: Implement clocksource selection
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e801ae7f668cd169f8d460d72f35f94c6d5b911d
Allow selecting and unselecting the PIT clocksource driver so it doesn't
have to be compile when unused.
diff --git a/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch b/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch
index ee5b16005..20ef93a34 100644
--- a/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch
+++ b/debian/patches-rt/0006-ARM-configs-at91-use-new-TCB-timer-driver.patch
@@ -1,7 +1,7 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:23 +0200
-Subject: [PATCH 006/353] ARM: configs: at91: use new TCB timer driver
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7edca352b55054fcb7a53bdc57bcef99c54ea7c
+Subject: [PATCH 006/354] ARM: configs: at91: use new TCB timer driver
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7226807183c1b4b56a28783e444055de25e18c3a
Unselecting ATMEL_TCLIB switches the TCB timer driver from tcb_clksrc to
timer-atmel-tcb.
diff --git a/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch b/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch
index 1540c11d9..440c4c366 100644
--- a/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch
+++ b/debian/patches-rt/0007-ARM-configs-at91-unselect-PIT.patch
@@ -1,7 +1,7 @@
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
Date: Thu, 13 Sep 2018 13:30:24 +0200
-Subject: [PATCH 007/353] ARM: configs: at91: unselect PIT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6912e32d8641eaf3192f4af0473470c26f0a9cd7
+Subject: [PATCH 007/354] ARM: configs: at91: unselect PIT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=55e819d88a02bae2e03ad8727e5b4e4d9cd07652
The PIT is not required anymore to successfully boot and may actually harm
in case preempt-rt is used because the PIT interrupt is shared.
diff --git a/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch b/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
index f0ec996b8..739f0621c 100644
--- a/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
+++ b/debian/patches-rt/0008-irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
@@ -1,8 +1,8 @@
From: Marc Zyngier <marc.zyngier@arm.com>
Date: Fri, 27 Jul 2018 13:38:54 +0100
-Subject: [PATCH 008/353] irqchip/gic-v3-its: Move pending table allocation to
+Subject: [PATCH 008/354] irqchip/gic-v3-its: Move pending table allocation to
init time
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7eb7d255b9739de589d1a2d546c8c1daf5633957
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d4e6b70ea06e3e38867c8881d2f396bbfb99d4d5
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch b/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch
index 3f9100f87..7ba33e617 100644
--- a/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch
+++ b/debian/patches-rt/0009-kthread-convert-worker-lock-to-raw-spinlock.patch
@@ -1,7 +1,7 @@
From: Julia Cartwright <julia@ni.com>
Date: Fri, 28 Sep 2018 21:03:51 +0000
-Subject: [PATCH 009/353] kthread: convert worker lock to raw spinlock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=426a6ad0a12bab66c4e88d71655e74d17e898091
+Subject: [PATCH 009/354] kthread: convert worker lock to raw spinlock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d93945b78abb460e9d8216be8c84d0e2e0eebcf4
In order to enable the queuing of kthread work items from hardirq
context even when PREEMPT_RT_FULL is enabled, convert the worker
diff --git a/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch b/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch
index 3c7dbbab5..ec1944e7f 100644
--- a/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch
+++ b/debian/patches-rt/0010-crypto-caam-qi-simplify-CGR-allocation-freeing.patch
@@ -1,10 +1,10 @@
From: =?UTF-8?q?Horia=20Geant=C4=83?= <horia.geanta@nxp.com>
Date: Mon, 8 Oct 2018 14:09:37 +0300
-Subject: [PATCH 010/353] crypto: caam/qi - simplify CGR allocation, freeing
+Subject: [PATCH 010/354] crypto: caam/qi - simplify CGR allocation, freeing
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=40431aa00beeaaf1d2e1f64b45e33a5da2bffb1a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8080c28d1eaf81d1ea79c5edc41dc05ba2fb774a
[Upstream commit 29e83c757006fd751966bdc53392bb22d74179c6]
diff --git a/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch b/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch
index 80da6cd54..d0f4dd605 100644
--- a/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch
+++ b/debian/patches-rt/0011-sched-fair-Robustify-CFS-bandwidth-timer-locking.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 7 Jan 2019 13:52:31 +0100
-Subject: [PATCH 011/353] sched/fair: Robustify CFS-bandwidth timer locking
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=23a5dc393375842c47361eba6404190b31263bfb
+Subject: [PATCH 011/354] sched/fair: Robustify CFS-bandwidth timer locking
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3d179a735692f4f5484e6a3bddee1363a64b9015
Traditionally hrtimer callbacks were run with IRQs disabled, but with
the introduction of HRTIMER_MODE_SOFT it is possible they run from
@@ -29,7 +29,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index eb67f42fb96b..d19981efd980 100644
+index 09f82c84474b..2814b6b085bc 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4644,7 +4644,7 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b, u64 remaining)
diff --git a/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch b/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch
index ae495296f..68cdd6ad5 100644
--- a/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch
+++ b/debian/patches-rt/0012-arm-Convert-arm-boot_lock-to-raw.patch
@@ -1,7 +1,7 @@
From: Frank Rowand <frank.rowand@am.sony.com>
Date: Mon, 19 Sep 2011 14:51:14 -0700
-Subject: [PATCH 012/353] arm: Convert arm boot_lock to raw
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9c17a706b066459255d4cc288052f9ebda6c9ab5
+Subject: [PATCH 012/354] arm: Convert arm boot_lock to raw
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86ef4efef85945fbeb65ced345c39a5e2f08085f
The arm boot_lock is used by the secondary processor startup code. The locking
task is the idle thread, which has idle->sched_class == &idle_sched_class.
diff --git a/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch b/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch
index 181ea4ef4..7ce31b185 100644
--- a/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch
+++ b/debian/patches-rt/0013-x86-ioapic-Don-t-let-setaffinity-unmask-threaded-EOI.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 17 Jul 2018 18:25:31 +0200
-Subject: [PATCH 013/353] x86/ioapic: Don't let setaffinity unmask threaded EOI
+Subject: [PATCH 013/354] x86/ioapic: Don't let setaffinity unmask threaded EOI
interrupt too early
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a012e6bfc9f9eee8339a470aedd643034212801
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f52d12d2c35ccba46699bf943a40c95d96ed99da
There is an issue with threaded interrupts which are marked ONESHOT
and using the fasteoi handler.
diff --git a/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch b/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch
index 368e55003..4dab77b08 100644
--- a/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch
+++ b/debian/patches-rt/0014-cgroup-use-irqsave-in-cgroup_rstat_flush_locked.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 3 Jul 2018 18:19:48 +0200
-Subject: [PATCH 014/353] cgroup: use irqsave in cgroup_rstat_flush_locked()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c4d45fc5437cdc3df495f053b7d44a079d97bc19
+Subject: [PATCH 014/354] cgroup: use irqsave in cgroup_rstat_flush_locked()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=70bfad37d0f39ecbf8b404a822c1d4673a575f54
All callers of cgroup_rstat_flush_locked() acquire cgroup_rstat_lock
either with spin_lock_irq() or spin_lock_irqsave().
diff --git a/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch b/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch
index 2f3ede44c..b44cda153 100644
--- a/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch
+++ b/debian/patches-rt/0015-fscache-initialize-cookie-hash-table-raw-spinlocks.patch
@@ -1,7 +1,7 @@
From: Clark Williams <williams@redhat.com>
Date: Tue, 3 Jul 2018 13:34:30 -0500
-Subject: [PATCH 015/353] fscache: initialize cookie hash table raw spinlocks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d03db0ce50498e8f1128f15f1a7fff44e93dd108
+Subject: [PATCH 015/354] fscache: initialize cookie hash table raw spinlocks
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fc6bd06feaaf1c2b40eb717811372015b3fd688e
The fscache cookie mechanism uses a hash table of hlist_bl_head structures. The
PREEMPT_RT patcheset adds a raw spinlock to this structure and so on PREEMPT_RT
diff --git a/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch b/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch
index 34ab476ce..1b407659a 100644
--- a/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch
+++ b/debian/patches-rt/0016-Drivers-hv-vmbus-include-header-for-get_irq_regs.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 29 Aug 2018 21:59:04 +0200
-Subject: [PATCH 016/353] Drivers: hv: vmbus: include header for get_irq_regs()
+Subject: [PATCH 016/354] Drivers: hv: vmbus: include header for get_irq_regs()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b46679c0fc54720038289996be8974e624a51fec
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92f735fd5c2ea2871d7cbc3bc6b55a16f8550e33
On !RT the header file get_irq_regs() gets pulled in via other header files. On
RT it does not and the build fails:
diff --git a/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch b/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch
index bce3fc9cd..898d107f7 100644
--- a/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch
+++ b/debian/patches-rt/0017-percpu-include-irqflags.h-for-raw_local_irq_save.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 11 Oct 2018 16:39:59 +0200
-Subject: [PATCH 017/353] percpu: include irqflags.h for raw_local_irq_save()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb2ad05fbeed482adb367eac354f01a14ce422c2
+Subject: [PATCH 017/354] percpu: include irqflags.h for raw_local_irq_save()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=53bbbbe9659b13c02ba44eb2f53d6986bdd68851
The header percpu.h header file is using raw_local_irq_save() but does
not include irqflags.h for its definition. It compiles because the
diff --git a/debian/patches-rt/0018-efi-Allow-efi-runtime.patch b/debian/patches-rt/0018-efi-Allow-efi-runtime.patch
index 3c155da1f..19919e76e 100644
--- a/debian/patches-rt/0018-efi-Allow-efi-runtime.patch
+++ b/debian/patches-rt/0018-efi-Allow-efi-runtime.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:06:10 +0200
-Subject: [PATCH 018/353] efi: Allow efi=runtime
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=44fb3795b5644ac330f53e863dfde7a740256b5a
+Subject: [PATCH 018/354] efi: Allow efi=runtime
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f5b03c011b045300ed7880a711281f98c428408
In case the option "efi=noruntime" is default at built-time, the user
could overwrite its sate by `efi=runtime' and allow it again.
diff --git a/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch b/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch
index 0782f485c..2ef0ae68a 100644
--- a/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch
+++ b/debian/patches-rt/0019-x86-efi-drop-task_lock-from-efi_switch_mm.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 24 Jul 2018 14:48:55 +0200
-Subject: [PATCH 019/353] x86/efi: drop task_lock() from efi_switch_mm()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3d393f40689a14bc6d2304d35d22407d42a7f4ba
+Subject: [PATCH 019/354] x86/efi: drop task_lock() from efi_switch_mm()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d40441a7b61dd9d7b060e96cfe714dd4bda746d1
efi_switch_mm() is a wrapper around switch_mm() which saves current's
->active_mm, sets the requests mm as ->active_mm and invokes
diff --git a/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch b/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch
index 0f9c80095..3a63d7365 100644
--- a/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch
+++ b/debian/patches-rt/0020-arm64-KVM-compute_layout-before-altenates-are-applie.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 09:13:42 +0200
-Subject: [PATCH 020/353] arm64: KVM: compute_layout before altenates are
+Subject: [PATCH 020/354] arm64: KVM: compute_layout before altenates are
applied
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1a36d8911d9802ee0c9687be2029e83d2a30d67
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1b63d74e373eab981172b5f33c39d72977a5e828
compute_layout() is invoked as part of an alternative fixup under
stop_machine() and needs a sleeping lock as part of get_random_long().
diff --git a/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch b/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch
index d1ccfb0f4..87d930c63 100644
--- a/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch
+++ b/debian/patches-rt/0021-of-allocate-free-phandle-cache-outside-of-the-devtre.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 31 Aug 2018 14:16:30 +0200
-Subject: [PATCH 021/353] of: allocate / free phandle cache outside of the
+Subject: [PATCH 021/354] of: allocate / free phandle cache outside of the
devtree_lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bb46fdc2bedd1a8eaa5e58329d772011b6026d47
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=81834521ea1fe3cb3881b516e1aa1043bc72bbc5
The phandle cache code allocates memory while holding devtree_lock which
is a raw_spinlock_t. Memory allocation (and free()) is not possible on
diff --git a/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch b/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch
index 8da97a0f7..560a44c36 100644
--- a/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch
+++ b/debian/patches-rt/0022-mm-kasan-make-quarantine_lock-a-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Clark Williams <williams@redhat.com>
Date: Tue, 18 Sep 2018 10:29:31 -0500
-Subject: [PATCH 022/353] mm/kasan: make quarantine_lock a raw_spinlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d17525668576fe63e80d4280e6f71cff37a8d9f5
+Subject: [PATCH 022/354] mm/kasan: make quarantine_lock a raw_spinlock_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b8e41588ab5abaf6ae8c3725d84dcbe8d350ba74
The static lock quarantine_lock is used in quarantine.c to protect the
quarantine queue datastructures. It is taken inside quarantine queue
diff --git a/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch b/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch
index 22f2c4437..d94286fc0 100644
--- a/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch
+++ b/debian/patches-rt/0023-EXP-rcu-Revert-expedited-GP-parallelization-cleverne.patch
@@ -1,8 +1,8 @@
From: "Paul E. McKenney" <paulmck@linux.ibm.com>
Date: Mon, 29 Oct 2018 11:53:01 +0100
-Subject: [PATCH 023/353] EXP rcu: Revert expedited GP parallelization
+Subject: [PATCH 023/354] EXP rcu: Revert expedited GP parallelization
cleverness
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=35450487569b7f5812ed1106763a3f2bfe8b0cb4
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a50ce8827ef45c837089678792dc22371a4715bd
(Commit 258ba8e089db23f760139266c232f01bad73f85c from linux-rcu)
diff --git a/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch b/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch
index 5e1db1970..d255a2038 100644
--- a/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch
+++ b/debian/patches-rt/0024-kmemleak-Turn-kmemleak_lock-to-raw-spinlock-on-RT.patch
@@ -1,10 +1,10 @@
From: He Zhe <zhe.he@windriver.com>
Date: Wed, 19 Dec 2018 16:30:57 +0100
-Subject: [PATCH 024/353] kmemleak: Turn kmemleak_lock to raw spinlock on RT
+Subject: [PATCH 024/354] kmemleak: Turn kmemleak_lock to raw spinlock on RT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2acd572061a0e1c538e61064e794da7ecb5f3b1d
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aaca0331f02dfc36b0ca67ea9c0da7300a9daa4f
kmemleak_lock, as a rwlock on RT, can possibly be held in atomic context and
causes the follow BUG.
diff --git a/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch b/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch
index 95f7193d7..af2661f93 100644
--- a/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch
+++ b/debian/patches-rt/0025-NFSv4-replace-seqcount_t-with-a-seqlock_t.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 28 Oct 2016 23:05:11 +0200
-Subject: [PATCH 025/353] NFSv4: replace seqcount_t with a seqlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9de4c145bdbac174d7d6cfc31a27cb41edc0fac9
+Subject: [PATCH 025/354] NFSv4: replace seqcount_t with a seqlock_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bdd80b6fd4062ece2f62209386f07b7883ea1e66
The raw_write_seqcount_begin() in nfs4_reclaim_open_state() bugs me
because it maps to preempt_disable() in -RT which I can't have at this
@@ -57,7 +57,7 @@ index 2d438318681a..e6cecc00c379 100644
};
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
-index 3651619468d7..f9d3fcb007a5 100644
+index c44efead1a32..d908f51e0149 100644
--- a/fs/nfs/nfs4proc.c
+++ b/fs/nfs/nfs4proc.c
@@ -2882,7 +2882,7 @@ static int _nfs4_open_and_get_state(struct nfs4_opendata *opendata,
diff --git a/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch b/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch
index ff72663d5..f7f6ca669 100644
--- a/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch
+++ b/debian/patches-rt/0026-kernel-sched-Provide-a-pointer-to-the-valid-CPU-mask.patch
@@ -1,11 +1,11 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 4 Apr 2017 12:50:16 +0200
-Subject: [PATCH 026/353] kernel: sched: Provide a pointer to the valid CPU
+Subject: [PATCH 026/354] kernel: sched: Provide a pointer to the valid CPU
mask
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=00783413cf324a173918f6f46c53eb248a11de23
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=118cce869ba59f58717eb40f3ac2a72e4e97e71e
In commit 4b53a3412d66 ("sched/core: Remove the tsk_nr_cpus_allowed()
wrapper") the tsk_nr_cpus_allowed() wrapper was removed. There was not
@@ -209,7 +209,7 @@ index bb670249bebf..deced4654e66 100644
current->pid, current->comm,
cpumask_pr_args(proc_mask));
diff --git a/drivers/infiniband/hw/hfi1/sdma.c b/drivers/infiniband/hw/hfi1/sdma.c
-index 33ff9eca28f6..6115a9902435 100644
+index 245f9505a9ac..f5f97eeb4056 100644
--- a/drivers/infiniband/hw/hfi1/sdma.c
+++ b/drivers/infiniband/hw/hfi1/sdma.c
@@ -853,14 +853,13 @@ struct sdma_engine *sdma_select_user_engine(struct hfi1_devdata *dd,
@@ -572,7 +572,7 @@ index 29ed5d8d30d6..9243d0049714 100644
!dl_task(task) ||
!task_on_rq_queued(task))) {
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index d19981efd980..bd9a375c45f4 100644
+index 2814b6b085bc..3f6a613be8c3 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -1691,7 +1691,7 @@ static void task_numa_compare(struct task_numa_env *env,
@@ -719,10 +719,10 @@ index d19981efd980..bd9a375c45f4 100644
flags);
env.flags |= LBF_ALL_PINNED;
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
-index 9c6c3572b131..a068884c369f 100644
+index 394c66442cff..0768ba9d2860 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
-@@ -1623,7 +1623,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
+@@ -1626,7 +1626,7 @@ static void put_prev_task_rt(struct rq *rq, struct task_struct *p)
static int pick_rt_task(struct rq *rq, struct task_struct *p, int cpu)
{
if (!task_running(rq, p) &&
@@ -731,7 +731,7 @@ index 9c6c3572b131..a068884c369f 100644
return 1;
return 0;
-@@ -1760,7 +1760,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, struct rq *rq)
+@@ -1763,7 +1763,7 @@ static struct rq *find_lock_lowest_rq(struct task_struct *task, struct rq *rq)
* Also make sure that it wasn't scheduled on its rq.
*/
if (unlikely(task_rq(task) != rq ||
diff --git a/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch b/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch
index ecffbbe5f..045483bf3 100644
--- a/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch
+++ b/debian/patches-rt/0027-kernel-sched-core-add-migrate_disable.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
-Subject: [PATCH 027/353] kernel/sched/core: add migrate_disable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=851169d906dda13e32de30f8fa91f2328d908f14
+Subject: [PATCH 027/354] kernel/sched/core: add migrate_disable()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0aa14e0bb24532aa6862ed0dc4e5c029f10227fa
---
include/linux/preempt.h | 23 +++++++
@@ -12,7 +12,7 @@ Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/comm
5 files changed, 165 insertions(+), 2 deletions(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index c01813c3fbe9..3196d0e76719 100644
+index abeec72b4d35..9d3e416fe497 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -185,6 +185,22 @@ do { \
diff --git a/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch b/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch
index efc393758..1b9958255 100644
--- a/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch
+++ b/debian/patches-rt/0028-sched-migrate_disable-Add-export_symbol_gpl-for-__mi.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 9 Oct 2018 17:34:50 +0200
-Subject: [PATCH 028/353] sched/migrate_disable: Add export_symbol_gpl for
+Subject: [PATCH 028/354] sched/migrate_disable: Add export_symbol_gpl for
__migrate_disabled
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=41cf8452f8cc8846c42387f5730f027836b38946
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=95abb61946ae6f3c3fdf8f16fd77322b4f38582a
Jonathan reported that lttng/modules can't use __migrate_disabled().
This function is only used by sched/core itself and the tracing
diff --git a/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch b/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch
index 0900d4057..1e41e94d1 100644
--- a/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch
+++ b/debian/patches-rt/0029-arm-at91-do-not-disable-enable-clocks-in-a-row.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 9 Mar 2016 10:51:06 +0100
-Subject: [PATCH 029/353] arm: at91: do not disable/enable clocks in a row
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2de0b355b47912313998dc17af34f926e24fcb9b
+Subject: [PATCH 029/354] arm: at91: do not disable/enable clocks in a row
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=da9445fe136103f82bd20d49f344d448f1c80d88
Currently the driver will disable the clock and enable it one line later
if it is switching from periodic mode into one shot.
@@ -13,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 29 insertions(+), 4 deletions(-)
diff --git a/drivers/clocksource/tcb_clksrc.c b/drivers/clocksource/tcb_clksrc.c
-index 43f4d5c4d6fa..de6baf564dfe 100644
+index 998d9115add6..a9ba3cd24a67 100644
--- a/drivers/clocksource/tcb_clksrc.c
+++ b/drivers/clocksource/tcb_clksrc.c
@@ -126,6 +126,7 @@ static struct clocksource clksrc = {
diff --git a/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch b/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch
index 2063f79e1..d7136f330 100644
--- a/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch
+++ b/debian/patches-rt/0030-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch
@@ -1,11 +1,11 @@
From: Benedikt Spranger <b.spranger@linutronix.de>
Date: Mon, 8 Mar 2010 18:57:04 +0100
-Subject: [PATCH 030/353] clocksource: TCLIB: Allow higher clock rates for
+Subject: [PATCH 030/354] clocksource: TCLIB: Allow higher clock rates for
clock events
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=baee7768ee1f5b5c11151866389ccd758e799a26
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f9f50fd4beefe484f198ca1ddf3585b9143b012f
As default the TCLIB uses the 32KiHz base clock rate for clock events.
Add a compile time selection to allow higher clock resulution.
@@ -20,7 +20,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 31 insertions(+), 17 deletions(-)
diff --git a/drivers/clocksource/tcb_clksrc.c b/drivers/clocksource/tcb_clksrc.c
-index de6baf564dfe..ba15242a6066 100644
+index a9ba3cd24a67..3f364ed57935 100644
--- a/drivers/clocksource/tcb_clksrc.c
+++ b/drivers/clocksource/tcb_clksrc.c
@@ -25,8 +25,7 @@
@@ -122,7 +122,7 @@ index de6baf564dfe..ba15242a6066 100644
return ret;
}
-@@ -435,7 +437,11 @@ static int __init tcb_clksrc_init(void)
+@@ -436,7 +438,11 @@ static int __init tcb_clksrc_init(void)
goto err_disable_t1;
/* channel 2: periodic and oneshot timer support */
diff --git a/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch b/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch
index d816ecd3b..4cc885b00 100644
--- a/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch
+++ b/debian/patches-rt/0031-timekeeping-Split-jiffies-seqlock.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Feb 2013 22:36:59 +0100
-Subject: [PATCH 031/353] timekeeping: Split jiffies seqlock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e67616dbfa0b4e559a51d108930dbdf3b5ec8a8e
+Subject: [PATCH 031/354] timekeeping: Split jiffies seqlock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5fbd37b3a06031c2ac2b59675834a623c5f0cc32
Replace jiffies_lock seqlock with a simple seqcounter and a rawlock so
it can be taken in atomic context on RT.
diff --git a/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch b/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch
index ebd057fb3..7bf037105 100644
--- a/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch
+++ b/debian/patches-rt/0032-signal-Revert-ptrace-preempt-magic.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 21 Sep 2011 19:57:12 +0200
-Subject: [PATCH 032/353] signal: Revert ptrace preempt magic
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=644d41a2ad0eeb0b4c8f45d97302becdc9270125
+Subject: [PATCH 032/354] signal: Revert ptrace preempt magic
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=153566887fab3e93e10339c0b3d8cc23f921b8da
Upstream commit '53da1d9456fe7f8 fix ptrace slowness' is nothing more
than a bandaid around the ptrace design trainwreck. It's not a
diff --git a/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch b/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch
index a795a7730..e1703b62c 100644
--- a/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch
+++ b/debian/patches-rt/0033-net-sched-Use-msleep-instead-of-yield.patch
@@ -1,7 +1,7 @@
From: Marc Kleine-Budde <mkl@pengutronix.de>
Date: Wed, 5 Mar 2014 00:49:47 +0100
-Subject: [PATCH 033/353] net: sched: Use msleep() instead of yield()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a2606d8cca4f1676f8e4428ac09a81adb99272e
+Subject: [PATCH 033/354] net: sched: Use msleep() instead of yield()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c872ce657d413044d7a779f3ae549565df0e0bee
On PREEMPT_RT enabled systems the interrupt handler run as threads at prio 50
(by default). If a high priority userspace process tries to shut down a busy
diff --git a/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch b/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch
index 06535faa3..416f340b0 100644
--- a/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch
+++ b/debian/patches-rt/0034-dm-rq-remove-BUG_ON-irqs_disabled-check.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 27 Mar 2018 16:24:15 +0200
-Subject: [PATCH 034/353] dm rq: remove BUG_ON(!irqs_disabled) check
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8a4df0ffc36cba9a71e739f5838df2eb08896256
+Subject: [PATCH 034/354] dm rq: remove BUG_ON(!irqs_disabled) check
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5416350ddb9932f9225dc0a1f73aae78f476a89a
In commit 052189a2ec95 ("dm: remove superfluous irq disablement in
dm_request_fn") the spin_lock_irq() was replaced with spin_lock() + a
diff --git a/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch b/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch
index 02f48203c..3073c0f78 100644
--- a/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch
+++ b/debian/patches-rt/0035-usb-do-no-disable-interrupts-in-giveback.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 8 Nov 2013 17:34:54 +0100
-Subject: [PATCH 035/353] usb: do no disable interrupts in giveback
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=476b0e55e05f6dadc236e6f568f66c0907218ea2
+Subject: [PATCH 035/354] usb: do no disable interrupts in giveback
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=20c76a4d6ea56aceee98fe4a680f629fba675f39
Since commit 94dfd7ed ("USB: HCD: support giveback of URB in tasklet
context") the USB code disables interrupts before invoking the complete
diff --git a/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch b/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch
index 13d19f8de..fb87af603 100644
--- a/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch
+++ b/debian/patches-rt/0036-rt-Provide-PREEMPT_RT_BASE-config-switch.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 17 Jun 2011 12:39:57 +0200
-Subject: [PATCH 036/353] rt: Provide PREEMPT_RT_BASE config switch
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b0d131d186abf19fa4f22052f09aa9d1e4b8e67d
+Subject: [PATCH 036/354] rt: Provide PREEMPT_RT_BASE config switch
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3cbb77ea49a343d86fc9db411aa4c3a5b62e0e55
Introduce PREEMPT_RT_BASE which enables parts of
PREEMPT_RT_FULL. Forces interrupt threading and enables some of the RT
diff --git a/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch b/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch
index 18adcb82b..ded3fbc60 100644
--- a/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch
+++ b/debian/patches-rt/0037-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 14 Dec 2011 01:03:49 +0100
-Subject: [PATCH 037/353] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aa9cb2fbe6f5b5c488e7e709e18adf4cf45069eb
+Subject: [PATCH 037/354] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51346d000e9dc2d42d8ae29ed226e0daaa74d4c2
There are "valid" GFP_ATOMIC allocations such as
@@ -46,10 +46,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index be4403a8e1b4..a8ec5d0c024e 100644
+index 9fd2e3c2494a..c33cdb5bbf60 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -935,7 +935,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
+@@ -936,7 +936,7 @@ config CALGARY_IOMMU_ENABLED_BY_DEFAULT
config MAXSMP
bool "Enable Maximum number of SMP Processors and NUMA Nodes"
depends on X86_64 && SMP && DEBUG_KERNEL
diff --git a/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch b/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch
index 2d36bb291..4b4779b93 100644
--- a/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch
+++ b/debian/patches-rt/0038-jump-label-disable-if-stop_machine-is-used.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Jul 2015 17:14:48 +0200
-Subject: [PATCH 038/353] jump-label: disable if stop_machine() is used
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7475498ce7b14345b197402b874347c3a8a55075
+Subject: [PATCH 038/354] jump-label: disable if stop_machine() is used
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5c249f153a374e1dcb6fa4ca4a19ceb8679b2060
Some architectures are using stop_machine() while switching the opcode which
leads to latency spikes.
@@ -24,10 +24,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 41bde0e62e90..48f7fcbe2f37 100644
+index 9b075719a7d9..96a5fa956e9b 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -51,7 +51,7 @@ config ARM
+@@ -52,7 +52,7 @@ config ARM
select HARDIRQS_SW_RESEND
select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
diff --git a/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch b/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch
index 092b6ffb0..413c4ae44 100644
--- a/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch
+++ b/debian/patches-rt/0039-kconfig-Disable-config-options-which-are-not-RT-comp.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 24 Jul 2011 12:11:43 +0200
-Subject: [PATCH 039/353] kconfig: Disable config options which are not RT
+Subject: [PATCH 039/354] kconfig: Disable config options which are not RT
compatible
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=78e60f97bd4dc81d3b289ce9ba3bd50e6496b917
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=584a33635c1052a87eec55e66183751bb23d8d2e
Disable stuff which is known to have issues on RT
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/Kconfig b/arch/Kconfig
-index dd71b34fe4f5..f53e81602922 100644
+index 6e77e795517d..7aa61cc39d66 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -28,6 +28,7 @@ config OPROFILE
diff --git a/debian/patches-rt/0040-lockdep-disable-self-test.patch b/debian/patches-rt/0040-lockdep-disable-self-test.patch
index 5367e26e1..130320e8e 100644
--- a/debian/patches-rt/0040-lockdep-disable-self-test.patch
+++ b/debian/patches-rt/0040-lockdep-disable-self-test.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 17 Oct 2017 16:36:18 +0200
-Subject: [PATCH 040/353] lockdep: disable self-test
+Subject: [PATCH 040/354] lockdep: disable self-test
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4d493518f5ac0489a49fbb9c7768b49f43ed1add
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ecc35b769047b939a39ec23ec401814bbb79e3df
The self-test wasn't always 100% accurate for RT. We disabled a few
tests which failed because they had a different semantic for RT. Some
diff --git a/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch b/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch
index b90f803b6..f2894854d 100644
--- a/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch
+++ b/debian/patches-rt/0041-mm-Allow-only-slub-on-RT.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:44:03 -0500
-Subject: [PATCH 041/353] mm: Allow only slub on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cb3b6e45e3f58dd010c7238697d1cf1a971f71e1
+Subject: [PATCH 041/354] mm: Allow only slub on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4e42c139b4936e86894557651d1b38cdd4be53a7
Disable SLAB and SLOB on -RT. Only SLUB is adopted to -RT needs.
diff --git a/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch b/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch
index 88a1efae0..87007b2bc 100644
--- a/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch
+++ b/debian/patches-rt/0042-locking-Disable-spin-on-owner-for-RT.patch
@@ -1,10 +1,10 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:51:45 +0200
-Subject: [PATCH 042/353] locking: Disable spin on owner for RT
+Subject: [PATCH 042/354] locking: Disable spin on owner for RT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=af47a49386367ed0b848f393f5e6136cd83b69a5
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4c3ba92a80bbac5ad34982e9ab4d63123bdd4c5e
Drop spin on owner for mutex / rwsem. We are most likely not using it
but…
diff --git a/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch b/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch
index d96043a68..c97d0ef9e 100644
--- a/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch
+++ b/debian/patches-rt/0043-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 28 Oct 2012 13:26:09 +0000
-Subject: [PATCH 043/353] rcu: Disable RCU_FAST_NO_HZ on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=807f7c93f7edb3fcca92051a329ae6c108de6b36
+Subject: [PATCH 043/354] rcu: Disable RCU_FAST_NO_HZ on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0ac62221fb175580cfd6d4cf41a4ed2c3f2e56b
This uses a timer_list timer from the irq disabled guts of the idle
code. Disable it for now to prevent wreckage.
diff --git a/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch b/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch
index 7eefd7726..4b03ecd59 100644
--- a/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch
+++ b/debian/patches-rt/0044-rcu-make-RCU_BOOST-default-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Mar 2014 20:19:05 +0100
-Subject: [PATCH 044/353] rcu: make RCU_BOOST default on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5b2d814594a0f22fef63b73eaa88d1ef3ba9e002
+Subject: [PATCH 044/354] rcu: make RCU_BOOST default on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4b8701bc61e2f689a33e0d0b3498e84a1cde68e6
Since it is no longer invoked from the softirq people run into OOM more
often if the priority of the RCU thread is too low. Making boosting
diff --git a/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch b/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch
index 400617a80..cbc2958ed 100644
--- a/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch
+++ b/debian/patches-rt/0045-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:03:52 +0200
-Subject: [PATCH 045/353] sched: Disable CONFIG_RT_GROUP_SCHED on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b8c020a966bafec876d590b4a2fd9f7801e23d5a
+Subject: [PATCH 045/354] sched: Disable CONFIG_RT_GROUP_SCHED on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=99cae2f5fe3de2754132778ae2de245cc2b0fb3b
Carsten reported problems when running:
diff --git a/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch b/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch
index 6f0477790..381a0bad1 100644
--- a/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch
+++ b/debian/patches-rt/0046-net-core-disable-NET_RX_BUSY_POLL.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Sat, 27 May 2017 19:02:06 +0200
-Subject: [PATCH 046/353] net/core: disable NET_RX_BUSY_POLL
+Subject: [PATCH 046/354] net/core: disable NET_RX_BUSY_POLL
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c91e1d483f6d2e075683470a7e46a305c83a564c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4eec6dbe20db90fc9b5f39d1a97cc07bba43a39e
sk_busy_loop() does preempt_disable() followed by a few operations which can
take sleeping locks and may get long.
@@ -20,10 +20,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/Kconfig b/net/Kconfig
-index 228dfa382eec..bc8d01996f22 100644
+index 4bef62b4c806..490db7aef080 100644
--- a/net/Kconfig
+++ b/net/Kconfig
-@@ -275,7 +275,7 @@ config CGROUP_NET_CLASSID
+@@ -273,7 +273,7 @@ config CGROUP_NET_CLASSID
config NET_RX_BUSY_POLL
bool
diff --git a/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch b/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch
index 4a2db17b6..ab9e881f8 100644
--- a/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch
+++ b/debian/patches-rt/0047-arm-disable-NEON-in-kernel-mode.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 1 Dec 2017 10:42:03 +0100
-Subject: [PATCH 047/353] arm*: disable NEON in kernel mode
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7239775653422e6ae509eb044c2e29549918751a
+Subject: [PATCH 047/354] arm*: disable NEON in kernel mode
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6f6f76a78d61981535e6eefb0acce1f7d2c25161
NEON in kernel mode is used by the crypto algorithms and raid6 code.
While the raid6 code looks okay, the crypto algorithms do not: NEON
@@ -20,10 +20,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
3 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index 48f7fcbe2f37..d411fbbf13f0 100644
+index 96a5fa956e9b..d105a362d1ac 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -2165,7 +2165,7 @@ config NEON
+@@ -2166,7 +2166,7 @@ config NEON
config KERNEL_MODE_NEON
bool "Support for NEON in kernel mode"
diff --git a/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch b/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch
index db78ee0b7..e6014f126 100644
--- a/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch
+++ b/debian/patches-rt/0048-powerpc-Use-generic-rwsem-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200
-Subject: [PATCH 048/353] powerpc: Use generic rwsem on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=51c73f280c36dda381651f877c21f25d176c2578
+Subject: [PATCH 048/354] powerpc: Use generic rwsem on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b9cf4b3cb52777ec9bfbd96ec42b3f1fc7161a25
Use generic code which uses rtmutex
@@ -11,7 +11,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
-index f0e09d5f0bed..d6aae022d8c3 100644
+index 3be56d857d57..f4518b8a072b 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -105,10 +105,11 @@ config LOCKDEP_SUPPORT
diff --git a/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch b/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
index 1559437a0..0f2ad849a 100644
--- a/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
+++ b/debian/patches-rt/0049-powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
@@ -1,8 +1,8 @@
From: Bogdan Purcareata <bogdan.purcareata@freescale.com>
Date: Fri, 24 Apr 2015 15:53:13 +0000
-Subject: [PATCH 049/353] powerpc/kvm: Disable in-kernel MPIC emulation for
+Subject: [PATCH 049/354] powerpc/kvm: Disable in-kernel MPIC emulation for
PREEMPT_RT_FULL
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d2178c38f47591486742dfaf8fef2b79fd85967a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=953ce30c2d9f83e2196c729ec5c2751b9b5974b7
While converting the openpic emulation code to use a raw_spinlock_t enables
guests to run on RT, there's still a performance issue. For interrupts sent in
diff --git a/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch b/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch
index c08c00eae..86caa6ab9 100644
--- a/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch
+++ b/debian/patches-rt/0050-powerpc-Disable-highmem-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:08:34 +0200
-Subject: [PATCH 050/353] powerpc: Disable highmem on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=881dee687f9b7382c752cad0833c67629c3e88fb
+Subject: [PATCH 050/354] powerpc: Disable highmem on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=36e07675ce9495c0f1fd8450b52c92e0c15a5823
The current highmem handling on -RT is not compatible and needs fixups.
@@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
-index d6aae022d8c3..f4517f4be192 100644
+index f4518b8a072b..cd338d971df2 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
-@@ -400,7 +400,7 @@ menu "Kernel options"
+@@ -401,7 +401,7 @@ menu "Kernel options"
config HIGHMEM
bool "High memory support"
diff --git a/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch b/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch
index 340ce777f..9061234e2 100644
--- a/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch
+++ b/debian/patches-rt/0051-mips-Disable-highmem-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 17:10:12 +0200
-Subject: [PATCH 051/353] mips: Disable highmem on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e8faa268480a65b8ec2bc9731d9488ab238e5eee
+Subject: [PATCH 051/354] mips: Disable highmem on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b58be7fafe13fa007c6be9aa57a2efa62b2757f0
The current highmem handling on -RT is not compatible and needs fixups.
@@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
-index 8a227a80f6bd..bbd790058e46 100644
+index 8d1d065aac35..68bfe86b5aa8 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2523,7 +2523,7 @@ config MIPS_CRC_SUPPORT
+@@ -2524,7 +2524,7 @@ config MIPS_CRC_SUPPORT
#
config HIGHMEM
bool "High Memory Support"
diff --git a/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch b/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch
index 38b04824e..55f030e8c 100644
--- a/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch
+++ b/debian/patches-rt/0052-x86-Use-generic-rwsem_spinlocks-on-rt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 26 Jul 2009 02:21:32 +0200
-Subject: [PATCH 052/353] x86: Use generic rwsem_spinlocks on -rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2c2d67e579a50998e69e63fc2e1d3b93ddecc564
+Subject: [PATCH 052/354] x86: Use generic rwsem_spinlocks on -rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7a9d74efed62faabbd429f85e9a0a26d864ec999
Simplifies the separation of anon_rw_semaphores and rw_semaphores for
-rt.
@@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index a8ec5d0c024e..6ee7220e7f47 100644
+index c33cdb5bbf60..d2702e568153 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -264,8 +264,11 @@ config ARCH_MAY_HAVE_PC_FDC
+@@ -265,8 +265,11 @@ config ARCH_MAY_HAVE_PC_FDC
def_bool y
depends on ISA_DMA_API
diff --git a/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch b/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch
index 8cb7e3811..61e2031b0 100644
--- a/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch
+++ b/debian/patches-rt/0053-leds-trigger-disable-CPU-trigger-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 23 Jan 2014 14:45:59 +0100
-Subject: [PATCH 053/353] leds: trigger: disable CPU trigger on -RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7a8d66dd761a516e265202481b854fff78c6b1b6
+Subject: [PATCH 053/354] leds: trigger: disable CPU trigger on -RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bd2fc615fc4835279134c51053e56919925d551e
as it triggers:
|CPU: 0 PID: 0 Comm: swapper Not tainted 3.12.8-rt10 #141
diff --git a/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch b/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch
index cfeda51ca..7a20aa79e 100644
--- a/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch
+++ b/debian/patches-rt/0054-cpufreq-drop-K8-s-driver-from-beeing-selected.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 9 Apr 2015 15:23:01 +0200
-Subject: [PATCH 054/353] cpufreq: drop K8's driver from beeing selected
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=69b2bc87d938e2f7c48cfae26f1bde516298648f
+Subject: [PATCH 054/354] cpufreq: drop K8's driver from beeing selected
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d488ef98e1f108232f15eb23ea95ffbd29176adb
Ralf posted a picture of a backtrace from
diff --git a/debian/patches-rt/0055-md-disable-bcache.patch b/debian/patches-rt/0055-md-disable-bcache.patch
index afe7f1fc4..27d7e36e1 100644
--- a/debian/patches-rt/0055-md-disable-bcache.patch
+++ b/debian/patches-rt/0055-md-disable-bcache.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Aug 2013 11:48:57 +0200
-Subject: [PATCH 055/353] md: disable bcache
+Subject: [PATCH 055/354] md: disable bcache
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2f2b9a4942cf661040eaf50bcf2273f11609f78b
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=332c64861b0d7fc7392a7bccb46df6481db40271
It uses anon semaphores
|drivers/md/bcache/request.c: In function ‘cached_dev_write_complete’:
diff --git a/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch b/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch
index 1c79b3b41..f390b87da 100644
--- a/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch
+++ b/debian/patches-rt/0056-efi-Disable-runtime-services-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 15:03:16 +0200
-Subject: [PATCH 056/353] efi: Disable runtime services on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0ece58437734f184ee2b23f28f2677164de88ac9
+Subject: [PATCH 056/354] efi: Disable runtime services on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=86b7465596228b558b779c1d9ab8dde93f48010c
Based on meassurements the EFI functions get_variable /
get_next_variable take up to 2us which looks okay.
diff --git a/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch b/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch
index d72360c02..27ad3ddcb 100644
--- a/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch
+++ b/debian/patches-rt/0057-printk-Add-a-printk-kill-switch.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 22 Jul 2011 17:58:40 +0200
-Subject: [PATCH 057/353] printk: Add a printk kill switch
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=41266168d2081efb4dce1f66cceb696bd642a639
+Subject: [PATCH 057/354] printk: Add a printk kill switch
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b0bd8c73adefa7c822cad0561539e02ed4dcf25
Add a prinkt-kill-switch. This is used from (NMI) watchdog to ensure that
it does not dead-lock with the early printk code.
@@ -134,7 +134,7 @@ index 2ba16c426ba5..963c20ab9548 100644
char *brl_options)
{
diff --git a/kernel/watchdog_hld.c b/kernel/watchdog_hld.c
-index 71381168dede..685443375dc0 100644
+index f8e460b4a59d..72a119b97f3e 100644
--- a/kernel/watchdog_hld.c
+++ b/kernel/watchdog_hld.c
@@ -24,6 +24,8 @@ static DEFINE_PER_CPU(bool, hard_watchdog_warn);
diff --git a/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch b/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch
index be5a84236..75c07a443 100644
--- a/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch
+++ b/debian/patches-rt/0058-printk-Add-force_early_printk-boot-param-to-help-wit.patch
@@ -1,8 +1,8 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 2 Sep 2011 14:41:29 +0200
-Subject: [PATCH 058/353] printk: Add "force_early_printk" boot param to help
+Subject: [PATCH 058/354] printk: Add "force_early_printk" boot param to help
with debugging
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=09a1a8262e58440d4f13b8c83c4b9df4f1e98b68
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a11c0ace01b746211f91fee9cf29a4b58cff546
Gives me an option to screw printk and actually see what the machine
says.
diff --git a/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch b/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch
index 68a057a6d..6236266bc 100644
--- a/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch
+++ b/debian/patches-rt/0059-preempt-Provide-preempt_-_-no-rt-variants.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 24 Jul 2009 12:38:56 +0200
-Subject: [PATCH 059/353] preempt: Provide preempt_*_(no)rt variants
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c22473616742042d7220a7ed01109c20219aa122
+Subject: [PATCH 059/354] preempt: Provide preempt_*_(no)rt variants
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5dfe6e66695e244379db0cc9294b2c37c6420215
RT needs a few preempt_disable/enable points which are not necessary
otherwise. Implement variants to avoid #ifdeffery.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index 3196d0e76719..f7a17fcc3fec 100644
+index 9d3e416fe497..02ba5c80bf0d 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -181,7 +181,11 @@ do { \
diff --git a/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch b/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch
index 23da29124..7d3bae3ba 100644
--- a/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch
+++ b/debian/patches-rt/0060-futex-workaround-migrate_disable-enable-in-different.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 8 Mar 2017 14:23:35 +0100
-Subject: [PATCH 060/353] futex: workaround migrate_disable/enable in different
+Subject: [PATCH 060/354] futex: workaround migrate_disable/enable in different
context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=005385bd16d108692e1c126bc21baaf65247d41b
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0e1d4d1ef2aa4b23f0517ca379acd8d54408652a
migrate_disable()/migrate_enable() takes a different path in atomic() vs
!atomic() context. These little hacks ensure that we don't underflow / overflow
@@ -16,7 +16,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 19 insertions(+)
diff --git a/kernel/futex.c b/kernel/futex.c
-index 3c67da9b8408..fac994367189 100644
+index ca2a2a894839..3fdcf5add961 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2998,6 +2998,14 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
diff --git a/debian/patches-rt/0061-rt-Add-local-irq-locks.patch b/debian/patches-rt/0061-rt-Add-local-irq-locks.patch
index 6236eb37e..d7bb5ce82 100644
--- a/debian/patches-rt/0061-rt-Add-local-irq-locks.patch
+++ b/debian/patches-rt/0061-rt-Add-local-irq-locks.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 20 Jun 2011 09:03:47 +0200
-Subject: [PATCH 061/353] rt: Add local irq locks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dcbbd166f143aaaf07a1a3b0b910448cad98807d
+Subject: [PATCH 061/354] rt: Add local irq locks
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a4a22dfa178b7ee663c4c3d476aa5e43c86a25e3
Introduce locallock. For !RT this maps to preempt_disable()/
local_irq_disable() so there is not much that changes. For RT this will
diff --git a/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch b/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch
index 47955c3d8..39b141e87 100644
--- a/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch
+++ b/debian/patches-rt/0062-locallock-provide-get-put-_locked_ptr-variants.patch
@@ -1,7 +1,7 @@
From: Julia Cartwright <julia@ni.com>
Date: Mon, 7 May 2018 08:58:56 -0500
-Subject: [PATCH 062/353] locallock: provide {get,put}_locked_ptr() variants
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5dc9c8dde604d296946d3c972c85c62bc39ad790
+Subject: [PATCH 062/354] locallock: provide {get,put}_locked_ptr() variants
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3975702953f5f175e304d6c6be12b105188a1bd6
Provide a set of locallocked accessors for pointers to per-CPU data;
this is useful for dynamically-allocated per-CPU regions, for example.
diff --git a/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch b/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch
index 11e75312b..bcb49e151 100644
--- a/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch
+++ b/debian/patches-rt/0063-mm-scatterlist-Do-not-disable-irqs-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:34 -0500
-Subject: [PATCH 063/353] mm/scatterlist: Do not disable irqs on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7ed7cd17a5a82c9c8339c813f8349b672892703e
+Subject: [PATCH 063/354] mm/scatterlist: Do not disable irqs on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=12886ef6289d993f7142c036532d7a5036243b80
For -RT it is enough to keep pagefault disabled (which is currently handled by
kmap_atomic()).
diff --git a/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch b/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch
index b200cf8da..b6c75156d 100644
--- a/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch
+++ b/debian/patches-rt/0064-signal-x86-Delay-calling-signals-in-atomic.patch
@@ -1,7 +1,7 @@
From: Oleg Nesterov <oleg@redhat.com>
Date: Tue, 14 Jul 2015 14:26:34 +0200
-Subject: [PATCH 064/353] signal/x86: Delay calling signals in atomic
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7f2e1eba7c6820604ba2f99dfb4e0cf6d1448b6a
+Subject: [PATCH 064/354] signal/x86: Delay calling signals in atomic
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8a2bbbf69e3cc12da8d4755748647a5c0aea9fad
On x86_64 we must disable preemption before we enable interrupts
for stack faults, int3 and debugging, because the current task is using
diff --git a/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch b/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch
index b785f1133..53eb31683 100644
--- a/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch
+++ b/debian/patches-rt/0065-x86-signal-delay-calling-signals-on-32bit.patch
@@ -1,7 +1,7 @@
From: Yang Shi <yang.shi@linaro.org>
Date: Thu, 10 Dec 2015 10:58:51 -0800
-Subject: [PATCH 065/353] x86/signal: delay calling signals on 32bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bb7990ff39c4d55a438d1d98cd873b1a6a20ed25
+Subject: [PATCH 065/354] x86/signal: delay calling signals on 32bit
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c0ffc5f3ad8ee2e26aea8fb7e61c6535a26dc83e
When running some ptrace single step tests on x86-32 machine, the below problem
is triggered:
diff --git a/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch b/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch
index 39751173b..4cf4429b5 100644
--- a/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch
+++ b/debian/patches-rt/0066-buffer_head-Replace-bh_uptodate_lock-for-rt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 09:18:52 +0100
-Subject: [PATCH 066/353] buffer_head: Replace bh_uptodate_lock for -rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b7112c7f2393168be4998583652cd82cfba26657
+Subject: [PATCH 066/354] buffer_head: Replace bh_uptodate_lock for -rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=83ae2e10f64a4ae559245504a71b2afe93d86254
Wrap the bit_spin_lock calls into a separate inline and add the RT
replacements with a real spinlock.
diff --git a/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch b/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch
index 883de41c9..f0c8428d4 100644
--- a/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch
+++ b/debian/patches-rt/0067-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 18 Mar 2011 10:11:25 +0100
-Subject: [PATCH 067/353] fs: jbd/jbd2: Make state lock and journal head lock
+Subject: [PATCH 067/354] fs: jbd/jbd2: Make state lock and journal head lock
rt safe
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=287a79f16976e509bad76ff2beb4d1fa36dee029
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ec2dd6baab3f7078091842cb565ff049c6f59bcb
bit_spin_locks break under RT.
diff --git a/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch b/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch
index 67bc835ac..527c2d15d 100644
--- a/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch
+++ b/debian/patches-rt/0068-list_bl-Make-list-head-locking-RT-safe.patch
@@ -1,7 +1,7 @@
From: Paul Gortmaker <paul.gortmaker@windriver.com>
Date: Fri, 21 Jun 2013 15:07:25 -0400
-Subject: [PATCH 068/353] list_bl: Make list head locking RT safe
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a4a154a836de866df8224ccec73bd3326aa14ec
+Subject: [PATCH 068/354] list_bl: Make list head locking RT safe
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=edb9ea73fd16246fc9b305420569bb616bd9e0cc
As per changes in include/linux/jbd_common.h for avoiding the
bit_spin_locks on RT ("fs: jbd/jbd2: Make state lock and journal
diff --git a/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch b/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch
index 48011bc68..47ae09367 100644
--- a/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch
+++ b/debian/patches-rt/0069-list_bl-fixup-bogus-lockdep-warning.patch
@@ -1,7 +1,7 @@
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 31 Mar 2016 00:04:25 -0500
-Subject: [PATCH 069/353] list_bl: fixup bogus lockdep warning
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f671f39416b991c8fef15e4e7c8734034043c90f
+Subject: [PATCH 069/354] list_bl: fixup bogus lockdep warning
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6e8b711481d5915443ad3b0006faaa91b7c8a706
At first glance, the use of 'static inline' seems appropriate for
INIT_HLIST_BL_HEAD().
diff --git a/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch b/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch
index 1ec75d595..091573beb 100644
--- a/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch
+++ b/debian/patches-rt/0070-genirq-Disable-irqpoll-on-rt.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:57 -0500
-Subject: [PATCH 070/353] genirq: Disable irqpoll on -rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b5e333637dade576a0bdd5032dc7b65746460db4
+Subject: [PATCH 070/354] genirq: Disable irqpoll on -rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cbe56279fd168570a4e72297bbdb239c7e3145ec
Creates long latencies for no value
diff --git a/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch b/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch
index 6e8649eb6..ec124d559 100644
--- a/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch
+++ b/debian/patches-rt/0071-genirq-Force-interrupt-thread-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 3 Apr 2011 11:57:29 +0200
-Subject: [PATCH 071/353] genirq: Force interrupt thread on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=31da4391a9681dc99ba6fbb4e0a52f8aba734b83
+Subject: [PATCH 071/354] genirq: Force interrupt thread on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0b5adeb3757805dd7763a428f437518de54162f3
Force threaded_irqs and optimize the code (force_irqthreads) in regard
to this.
diff --git a/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch b/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
index cb3e6d4a8..12a38a530 100644
--- a/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
+++ b/debian/patches-rt/0072-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
@@ -1,8 +1,8 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 28 May 2018 15:24:20 +0200
-Subject: [PATCH 072/353] Split IRQ-off and zone->lock while freeing pages from
+Subject: [PATCH 072/354] Split IRQ-off and zone->lock while freeing pages from
PCP list #1
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9fd68ce8dfdfd97a4178efdda9dd37014f62b1d5
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dc919396d0218b1f88ccb2f87883bc634548b56f
Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages.
diff --git a/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch b/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
index 458e3a160..b3c353dd1 100644
--- a/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
+++ b/debian/patches-rt/0073-Split-IRQ-off-and-zone-lock-while-freeing-pages-from.patch
@@ -1,8 +1,8 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 28 May 2018 15:24:21 +0200
-Subject: [PATCH 073/353] Split IRQ-off and zone->lock while freeing pages from
+Subject: [PATCH 073/354] Split IRQ-off and zone->lock while freeing pages from
PCP list #2
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b2652116a3528f3658deb5a4dd32c704552b1080
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=52f95db6745cd55fcf4a66f563f810ffd1bf8f47
Split the IRQ-off section while accessing the PCP list from zone->lock
while freeing pages.
diff --git a/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
index 7575989fe..86907b1dd 100644
--- a/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
+++ b/debian/patches-rt/0074-mm-SLxB-change-list_lock-to-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 28 May 2018 15:24:22 +0200
-Subject: [PATCH 074/353] mm/SLxB: change list_lock to raw_spinlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=02829e5ee70fc4951a1492d03d4ccff359b0a914
+Subject: [PATCH 074/354] mm/SLxB: change list_lock to raw_spinlock_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3cb73473866649c184f151f02d424bfd6e7cf276
The list_lock is used with used with IRQs off on RT. Make it a raw_spinlock_t
otherwise the interrupts won't be disabled on -RT. The locking rules remain
@@ -398,11 +398,11 @@ index 0ed7a463f476..12b7da32bcd0 100644
#ifdef CONFIG_SLAB
struct list_head slabs_partial; /* partial list first, better asm code */
diff --git a/mm/slub.c b/mm/slub.c
-index ef730ea8263c..97d2bd78534b 100644
+index edf766f1de63..cfb6e3ef42a6 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1182,7 +1182,7 @@ static noinline int free_debug_processing(
- unsigned long uninitialized_var(flags);
+ unsigned long flags;
int ret = 0;
- spin_lock_irqsave(&n->list_lock, flags);
diff --git a/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch b/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
index d52ca7c84..d50a5d136 100644
--- a/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
+++ b/debian/patches-rt/0075-mm-SLUB-delay-giving-back-empty-slubs-to-IRQ-enabled.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 21 Jun 2018 17:29:19 +0200
-Subject: [PATCH 075/353] mm/SLUB: delay giving back empty slubs to IRQ enabled
+Subject: [PATCH 075/354] mm/SLUB: delay giving back empty slubs to IRQ enabled
regions
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0bed7d4f488bcf540f7876a275217b9c398254bb
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1dc00d80ab881dd1cc5bbd057d1aabfd233711c
__free_slab() is invoked with disabled interrupts which increases the
irq-off time while __free_pages() is doing the work.
@@ -17,7 +17,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 69 insertions(+), 5 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
-index 97d2bd78534b..c62e0bf85d8e 100644
+index cfb6e3ef42a6..ead93b7fbd69 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1350,6 +1350,12 @@ static bool freelist_corrupted(struct kmem_cache *s, struct page *page,
diff --git a/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch b/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch
index 8130097c9..cbcb59f16 100644
--- a/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch
+++ b/debian/patches-rt/0076-mm-page_alloc-rt-friendly-per-cpu-pages.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:37 -0500
-Subject: [PATCH 076/353] mm: page_alloc: rt-friendly per-cpu pages
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1bb66c1cc65535695f6d34f78086223ed4e87514
+Subject: [PATCH 076/354] mm: page_alloc: rt-friendly per-cpu pages
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=30ea7d8d8433206aa2ccfac0aed6a92604778a2a
rt-friendly per-cpu pages: convert the irqs-off per-cpu locking
method into a preemptible, explicit-per-cpu-locks method.
diff --git a/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch b/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch
index 8c4b4dfde..f80f4eda3 100644
--- a/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch
+++ b/debian/patches-rt/0077-mm-swap-Convert-to-percpu-locked.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:51 -0500
-Subject: [PATCH 077/353] mm/swap: Convert to percpu locked
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f11cbef82fab199491592055c6bd404867e5d463
+Subject: [PATCH 077/354] mm/swap: Convert to percpu locked
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=41766d9e9f4c4460a518a83a4ffb657e262662bc
Replace global locks (get_cpu + local_irq_save) with "local_locks()".
Currently there is one of for "rotate" and one for "swap".
@@ -70,7 +70,7 @@ index 51f71e7740b2..a34a071048d2 100644
/*
diff --git a/mm/swap.c b/mm/swap.c
-index 45fdbfb6b2a6..92f994b962f0 100644
+index ce13e428380e..4e75c8e59874 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -33,6 +33,7 @@
diff --git a/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch b/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch
index 7b9ad0e55..3fe81fbb4 100644
--- a/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch
+++ b/debian/patches-rt/0078-mm-perform-lru_add_drain_all-remotely.patch
@@ -1,7 +1,7 @@
From: Luiz Capitulino <lcapitulino@redhat.com>
Date: Fri, 27 May 2016 15:03:28 +0200
-Subject: [PATCH 078/353] mm: perform lru_add_drain_all() remotely
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ddbda00eeee4a9177a7ebc3d05932ebfe414742f
+Subject: [PATCH 078/354] mm: perform lru_add_drain_all() remotely
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ff13cad74e3bd4a5d0545cf8fc09123c542768a3
lru_add_drain_all() works by scheduling lru_add_drain_cpu() to run
on all CPUs that have non-empty LRU pagevecs and then waiting for
@@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/mm/swap.c b/mm/swap.c
-index 92f994b962f0..3885645a45ce 100644
+index 4e75c8e59874..90a4b4d0ba75 100644
--- a/mm/swap.c
+++ b/mm/swap.c
@@ -585,9 +585,15 @@ void lru_add_drain_cpu(int cpu)
diff --git a/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch b/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch
index 0db5adc93..580019edc 100644
--- a/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch
+++ b/debian/patches-rt/0079-mm-vmstat-Protect-per-cpu-variables-with-preempt-dis.patch
@@ -1,8 +1,8 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:30:13 -0500
-Subject: [PATCH 079/353] mm/vmstat: Protect per cpu variables with preempt
+Subject: [PATCH 079/354] mm/vmstat: Protect per cpu variables with preempt
disable on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0563dacda4ed0e4a61ba53f2a6ea8b8a50cf4914
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=325d611ea246e9a7ad505a6e913b64a9b761cd58
Disable preemption on -RT for the vmstat code. On vanila the code runs in
IRQ-off regions while on -RT it is not. "preempt_disable" ensures that the
diff --git a/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch b/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch
index 4a3556c9b..93b449b56 100644
--- a/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch
+++ b/debian/patches-rt/0080-ARM-Initialize-split-page-table-locks-for-vector-pag.patch
@@ -1,8 +1,8 @@
From: Frank Rowand <frank.rowand@am.sony.com>
Date: Sat, 1 Oct 2011 18:58:13 -0700
-Subject: [PATCH 080/353] ARM: Initialize split page table locks for vector
+Subject: [PATCH 080/354] ARM: Initialize split page table locks for vector
page
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fbc577ca758067f49bde3100fa9b6cc3c26b0920
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f61f3fbeb88a5a83754e659248864f6af63e3463
Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if
PREEMPT_RT_FULL=y because vectors_user_mapping() creates a
diff --git a/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch b/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch
index 0ba5470e3..8a5e95b33 100644
--- a/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch
+++ b/debian/patches-rt/0081-mm-Enable-SLUB-for-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 25 Oct 2012 10:32:35 +0100
-Subject: [PATCH 081/353] mm: Enable SLUB for RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cfa555ce1c0ad724598773bddd70e7b294a2680c
+Subject: [PATCH 081/354] mm: Enable SLUB for RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ae26f21bcdaa681ae5199a8812163eaab2ee6736
Avoid the memory allocation in IRQ section
@@ -13,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 6 insertions(+)
diff --git a/mm/slub.c b/mm/slub.c
-index c62e0bf85d8e..1f32f64254a7 100644
+index ead93b7fbd69..2258ea8b4c10 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -3734,6 +3734,11 @@ static void list_slab_objects(struct kmem_cache *s, struct page *page,
diff --git a/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch b/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch
index 6f5fe6a8e..26cdda7bb 100644
--- a/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch
+++ b/debian/patches-rt/0082-slub-Enable-irqs-for-__GFP_WAIT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 9 Jan 2013 12:08:15 +0100
-Subject: [PATCH 082/353] slub: Enable irqs for __GFP_WAIT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=60c7bad2d7e7475f8030e910935d5a14901a21d3
+Subject: [PATCH 082/354] slub: Enable irqs for __GFP_WAIT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=36619847d2542bf988cb3db225d3bd5d6ac70061
SYSTEM_RUNNING might be too late for enabling interrupts. Allocations
with GFP_WAIT can happen before that. So use this as an indicator.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/mm/slub.c b/mm/slub.c
-index 1f32f64254a7..197bab70a05d 100644
+index 2258ea8b4c10..eb0107907043 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1597,10 +1597,17 @@ static struct page *allocate_slab(struct kmem_cache *s, gfp_t flags, int node)
diff --git a/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch b/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch
index 3311789cf..44806b7a5 100644
--- a/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch
+++ b/debian/patches-rt/0083-slub-Disable-SLUB_CPU_PARTIAL.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Apr 2015 19:00:47 +0200
-Subject: [PATCH 083/353] slub: Disable SLUB_CPU_PARTIAL
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c3b9b3f34e457d3e594cd093c5f1ed48a476eb5f
+Subject: [PATCH 083/354] slub: Disable SLUB_CPU_PARTIAL
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0003c1fd5f60d352bf099e872954d5c526e681da
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 87, name: rcuop/7
diff --git a/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch b/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
index bce692843..2240be113 100644
--- a/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
+++ b/debian/patches-rt/0084-mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
@@ -1,8 +1,8 @@
From: Yang Shi <yang.shi@windriver.com>
Date: Wed, 30 Oct 2013 11:48:33 -0700
-Subject: [PATCH 084/353] mm/memcontrol: Don't call schedule_work_on in
+Subject: [PATCH 084/354] mm/memcontrol: Don't call schedule_work_on in
preemption disabled context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5031f9cdd61fdfdcb0a379e5595209eb3dac9a2f
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cae3fe0ced09d550bd14f37b3c6c7e2d80a1fee9
The following trace is triggered when running ltp oom test cases:
@@ -48,7 +48,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
-index bc4c61dcf95c..b828a208f5bd 100644
+index 5a366cf79821..e048d50de7aa 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -2084,7 +2084,7 @@ static void drain_all_stock(struct mem_cgroup *root_memcg)
diff --git a/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch b/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch
index 056411cab..435b7565c 100644
--- a/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch
+++ b/debian/patches-rt/0085-mm-memcontrol-Replace-local_irq_disable-with-local-l.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 28 Jan 2015 17:14:16 +0100
-Subject: [PATCH 085/353] mm/memcontrol: Replace local_irq_disable with local
+Subject: [PATCH 085/354] mm/memcontrol: Replace local_irq_disable with local
locks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c81a3f5935dfdf459d8a0f1a1a23a8894bff122f
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4be6dd731ba2e585304cdd9417cbe93c504c966
There are a few local_irq_disable() which then take sleeping locks. This
patch converts them local locks.
@@ -13,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
-index b828a208f5bd..c6a58923da63 100644
+index e048d50de7aa..9c7d443a394c 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -69,6 +69,7 @@
diff --git a/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch b/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch
index 69a586a87..bf66b0149 100644
--- a/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch
+++ b/debian/patches-rt/0086-mm-zsmalloc-copy-with-get_cpu_var-and-locking.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Tue, 22 Mar 2016 11:16:09 +0100
-Subject: [PATCH 086/353] mm/zsmalloc: copy with get_cpu_var() and locking
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1066fad5edfca01fbe5e367fa7bbed89e4034677
+Subject: [PATCH 086/354] mm/zsmalloc: copy with get_cpu_var() and locking
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2a16b224b63eca041af897a731e36428cb176b4c
get_cpu_var() disables preemption and triggers a might_sleep() splat later.
This is replaced with get_locked_var().
diff --git a/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch b/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch
index e778b47ad..5ddd96a44 100644
--- a/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch
+++ b/debian/patches-rt/0087-x86-mm-pat-disable-preemption-__split_large_page-aft.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 11 Dec 2018 21:53:43 +0100
-Subject: [PATCH 087/353] x86/mm/pat: disable preemption __split_large_page()
+Subject: [PATCH 087/354] x86/mm/pat: disable preemption __split_large_page()
after spin_lock()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=93515e9f085077bbdb2a1a2aebd39cad36bfa04e
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=afd5e9a628fabb388b8ccbfcac6eb9f74bc93528
Commit "x86/mm/pat: Disable preemption around __flush_tlb_all()" added a
warning if __flush_tlb_all() is invoked in preemptible context. On !RT
diff --git a/debian/patches-rt/0088-radix-tree-use-local-locks.patch b/debian/patches-rt/0088-radix-tree-use-local-locks.patch
index 9b4233844..03bcac756 100644
--- a/debian/patches-rt/0088-radix-tree-use-local-locks.patch
+++ b/debian/patches-rt/0088-radix-tree-use-local-locks.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 25 Jan 2017 16:34:27 +0100
-Subject: [PATCH 088/353] radix-tree: use local locks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8e0178916a1bc31af350f62b7e539c9f5390605f
+Subject: [PATCH 088/354] radix-tree: use local locks
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2760cc0c3631ffe08d8b7b7ef59610bbd3d53b64
The preload functionality uses per-CPU variables and preempt-disable to
ensure that it does not switch CPUs during its usage. This patch adds
@@ -59,7 +59,7 @@ index 34149e8b5f73..affb0fc4c5b6 100644
int radix_tree_split(struct radix_tree_root *, unsigned long index,
unsigned new_order);
diff --git a/lib/radix-tree.c b/lib/radix-tree.c
-index e5cab5c4e383..9309e813bc1f 100644
+index 8d29fa5b2695..f568a9975a44 100644
--- a/lib/radix-tree.c
+++ b/lib/radix-tree.c
@@ -38,7 +38,7 @@
diff --git a/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch b/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch
index 661221346..b08888501 100644
--- a/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch
+++ b/debian/patches-rt/0089-timers-Prepare-for-full-preemption.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:34 -0500
-Subject: [PATCH 089/353] timers: Prepare for full preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9a83bbf72537fcc969c8058550534087860df01d
+Subject: [PATCH 089/354] timers: Prepare for full preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=617a0f83685f27fff83acb858be4a912491db426
When softirqs can be preempted we need to make sure that cancelling
the timer from the active thread can not deadlock vs. a running timer
diff --git a/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch b/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch
index 887440c95..b3244eb3a 100644
--- a/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch
+++ b/debian/patches-rt/0090-x86-kvm-Require-const-tsc-for-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 6 Nov 2011 12:26:18 +0100
-Subject: [PATCH 090/353] x86: kvm Require const tsc for RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=123d3ce568892f54102019bde255d003a1a3c046
+Subject: [PATCH 090/354] x86: kvm Require const tsc for RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8d3a9c9fd232b835f201eab86f906b4d789cf897
Non constant TSC is a nightmare on bare metal already, but with
virtualization it becomes a complete disaster because the workarounds
@@ -14,10 +14,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 7 insertions(+)
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
-index ff7ec9b507e3..c52f6438e712 100644
+index 0548ae57826f..7946d440afe7 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
-@@ -6878,6 +6878,13 @@ int kvm_arch_init(void *opaque)
+@@ -6883,6 +6883,13 @@ int kvm_arch_init(void *opaque)
goto out;
}
diff --git a/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch b/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch
index cf520c9e4..0ea4bea92 100644
--- a/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch
+++ b/debian/patches-rt/0091-pci-switchtec-Don-t-use-completion-s-wait-queue.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 4 Oct 2017 10:24:23 +0200
-Subject: [PATCH 091/353] pci/switchtec: Don't use completion's wait queue
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb27dc96cb4eb0032a04412e84d7173316dcf1d7
+Subject: [PATCH 091/354] pci/switchtec: Don't use completion's wait queue
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4d0966cc0c8cfc3fc11cce555eec6aff6c72713d
The poll callback is using completion's wait_queue_head_t member and
puts it in poll_wait() so the poll() caller gets a wakeup after command
diff --git a/debian/patches-rt/0092-wait.h-include-atomic.h.patch b/debian/patches-rt/0092-wait.h-include-atomic.h.patch
index 9fcae2021..7c85a3e06 100644
--- a/debian/patches-rt/0092-wait.h-include-atomic.h.patch
+++ b/debian/patches-rt/0092-wait.h-include-atomic.h.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 28 Oct 2013 12:19:57 +0100
-Subject: [PATCH 092/353] wait.h: include atomic.h
+Subject: [PATCH 092/354] wait.h: include atomic.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92527c4268ea4c091b74080e2aca085023745549
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f5de0d7e2bd4466c2f91a3e3685a65e5a05cc1cc
| CC init/main.o
|In file included from include/linux/mmzone.h:9:0,
diff --git a/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch b/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch
index b1c63280b..d07bda2db 100644
--- a/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch
+++ b/debian/patches-rt/0093-work-simple-Simple-work-queue-implemenation.patch
@@ -1,7 +1,7 @@
From: Daniel Wagner <daniel.wagner@bmw-carit.de>
Date: Fri, 11 Jul 2014 15:26:11 +0200
-Subject: [PATCH 093/353] work-simple: Simple work queue implemenation
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=207d328d37b03b8fe78f7e50507c7276d3d574d6
+Subject: [PATCH 093/354] work-simple: Simple work queue implemenation
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a1c4104c9c8d945109b4af41e261e11b5dde00f2
Provides a framework for enqueuing callbacks from irq context
PREEMPT_RT_FULL safe. The callbacks are executed in kthread context.
diff --git a/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch b/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch
index 890b0bc23..dd7f21b82 100644
--- a/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch
+++ b/debian/patches-rt/0094-work-simple-drop-a-shit-statement-in-SWORK_EVENT_PEN.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 10 Sep 2018 18:00:31 +0200
-Subject: [PATCH 094/353] work-simple: drop a shit statement in
+Subject: [PATCH 094/354] work-simple: drop a shit statement in
SWORK_EVENT_PENDING
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=89b96b26ee1e64dfeb6d4c2513baef4cf7e74da6
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7dfa7d48bd1ecf57b5f1c9e351355d10f235a811
Dan Carpenter reported
| smatch warnings:
diff --git a/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch b/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch
index 33e2c5620..9b333327f 100644
--- a/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch
+++ b/debian/patches-rt/0095-completion-Use-simple-wait-queues.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 11 Jan 2013 11:23:51 +0100
-Subject: [PATCH 095/353] completion: Use simple wait queues
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a49f4fe084f93cac4f50d134183b03ef7e86ab41
+Subject: [PATCH 095/354] completion: Use simple wait queues
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c9b4932b83923af134e46dbd6f0734587fea051c
Completions have no long lasting callbacks and therefor do not need
the complex waitqueue variant. Use simple waitqueues which reduces the
@@ -54,7 +54,7 @@ index a04d59843022..e0046c35a0bd 100644
break;
default:
diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
-index f9f324f76a72..0b503fcd9cee 100644
+index a8791b140679..7b557a1338e8 100644
--- a/drivers/usb/gadget/function/f_fs.c
+++ b/drivers/usb/gadget/function/f_fs.c
@@ -1631,7 +1631,7 @@ static void ffs_data_put(struct ffs_data *ffs)
diff --git a/debian/patches-rt/0096-fs-aio-simple-simple-work.patch b/debian/patches-rt/0096-fs-aio-simple-simple-work.patch
index 2d1e7e612..16a3e0b83 100644
--- a/debian/patches-rt/0096-fs-aio-simple-simple-work.patch
+++ b/debian/patches-rt/0096-fs-aio-simple-simple-work.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 16 Feb 2015 18:49:10 +0100
-Subject: [PATCH 096/353] fs/aio: simple simple work
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=04b62043344abb5d537d46a14ca3eab97b6380e2
+Subject: [PATCH 096/354] fs/aio: simple simple work
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6f2737df5a64e62bdf8d1c34ff2b5d1ce6274d83
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:768
|in_atomic(): 1, irqs_disabled(): 0, pid: 26, name: rcuos/2
diff --git a/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch b/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch
index 95085a036..d7a2b80e9 100644
--- a/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch
+++ b/debian/patches-rt/0097-time-hrtimer-avoid-schedule_work-with-interrupts-dis.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 15 Nov 2017 17:29:51 +0100
-Subject: [PATCH 097/353] time/hrtimer: avoid schedule_work() with interrupts
+Subject: [PATCH 097/354] time/hrtimer: avoid schedule_work() with interrupts
disabled
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6ac94e556e7d6adbadd76a878334275ce3acd987
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a14913f4b6594b92a7134578db108acf234c10ba
The NOHZ code tries to schedule a workqueue with interrupts disabled.
Since this does not work -RT I am switching it to swork instead.
diff --git a/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch b/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch
index d83a27103..216360e31 100644
--- a/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch
+++ b/debian/patches-rt/0098-hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 3 Jul 2018 11:25:41 +0200
-Subject: [PATCH 098/353] hrtimer: consolidate hrtimer_init() +
+Subject: [PATCH 098/354] hrtimer: consolidate hrtimer_init() +
hrtimer_init_sleeper() calls
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=81d6386fe5a38dafb8561c5d8caae248bb3456c8
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2ca12213cb0d12355a4962b1e5f51063170dd120
hrtimer_init_sleeper() calls require a prior initialisation of the
hrtimer object with hrtimer_init(). Lets make the initialisation of
@@ -62,7 +62,7 @@ index 034d86869772..d089b2cb5dd7 100644
while (1) {
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
-index 542b4fa2cda9..cbd041b22088 100644
+index 3bdaa92a2cab..4b7ef1c6decb 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -364,10 +364,17 @@ DECLARE_PER_CPU(struct tick_device, tick_cpu_device);
@@ -125,7 +125,7 @@ index 189da6e44756..523c68edc48a 100644
hrtimer_start_range_ns(&__t.timer, timeout, \
current->timer_slack_ns, \
diff --git a/kernel/futex.c b/kernel/futex.c
-index fac994367189..ac015d1dd16c 100644
+index 3fdcf5add961..585082311ea3 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2816,10 +2816,9 @@ static int futex_wait(u32 __user *uaddr, unsigned int flags, u32 val,
@@ -169,7 +169,7 @@ index fac994367189..ac015d1dd16c 100644
current->timer_slack_ns);
}
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 8512f06f0ebe..23c89873bf60 100644
+index bf74f43e42af..1b2aeab41c0b 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1715,13 +1715,44 @@ static enum hrtimer_restart hrtimer_wakeup(struct hrtimer *timer)
@@ -249,7 +249,7 @@ index 8512f06f0ebe..23c89873bf60 100644
hrtimer_set_expires_range_ns(&t.timer, timespec64_to_ktime(*rqtp), slack);
ret = do_nanosleep(&t, mode);
if (ret != -ERESTART_RESTARTBLOCK)
-@@ -2005,11 +2033,9 @@ schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta,
+@@ -1996,11 +2024,9 @@ schedule_hrtimeout_range_clock(ktime_t *expires, u64 delta,
return -EINTR;
}
@@ -263,7 +263,7 @@ index 8512f06f0ebe..23c89873bf60 100644
if (likely(t.task))
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
-index 3714cd9e3111..2cea192b1475 100644
+index 3ade60ec4512..8aac00b6d491 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -2160,7 +2160,8 @@ static void spin(struct pktgen_dev *pkt_dev, ktime_t spin_until)
diff --git a/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch b/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch
index 5e9ac99d4..e299e22d6 100644
--- a/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch
+++ b/debian/patches-rt/0099-hrtimers-Prepare-full-preemption.patch
@@ -1,7 +1,7 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Fri, 3 Jul 2009 08:29:34 -0500
-Subject: [PATCH 099/353] hrtimers: Prepare full preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d28d53d40629674ff58c7686726104f107c8e479
+Subject: [PATCH 099/354] hrtimers: Prepare full preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea1a57d171dca96fde02fae81ca8d97eb756b8c6
Make cancellation of a running callback in softirq context safe
against preemption.
@@ -35,7 +35,7 @@ index d69ad801eb80..82d0f52414a6 100644
/*
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
-index cbd041b22088..8714f1a37d84 100644
+index 4b7ef1c6decb..684241f87e4d 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -22,6 +22,7 @@
@@ -107,7 +107,7 @@ index 56af8a97cf2d..dec68f9dab7b 100644
}
EXPORT_SYMBOL_GPL(alarm_cancel);
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 23c89873bf60..ab38b51a96cc 100644
+index 1b2aeab41c0b..478ff82abd33 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -957,6 +957,33 @@ u64 hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval)
@@ -184,10 +184,10 @@ index 2e2b335ef101..7650ee736964 100644
}
expires = timeval_to_ktime(value->it_value);
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
-index 1234868b3b03..36ee80652208 100644
+index 8768ce2c4bf5..eae555df7ea3 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
-@@ -463,7 +463,7 @@ static struct k_itimer * alloc_posix_timer(void)
+@@ -468,7 +468,7 @@ static struct k_itimer * alloc_posix_timer(void)
static void k_itimer_rcu_free(struct rcu_head *head)
{
@@ -196,7 +196,7 @@ index 1234868b3b03..36ee80652208 100644
kmem_cache_free(posix_timers_cache, tmr);
}
-@@ -480,7 +480,7 @@ static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
+@@ -485,7 +485,7 @@ static void release_posix_timer(struct k_itimer *tmr, int it_id_set)
}
put_pid(tmr->it_pid);
sigqueue_free(tmr->sigq);
@@ -205,7 +205,7 @@ index 1234868b3b03..36ee80652208 100644
}
static int common_timer_create(struct k_itimer *new_timer)
-@@ -821,6 +821,22 @@ static void common_hrtimer_arm(struct k_itimer *timr, ktime_t expires,
+@@ -826,6 +826,22 @@ static void common_hrtimer_arm(struct k_itimer *timr, ktime_t expires,
hrtimer_start_expires(timer, HRTIMER_MODE_ABS);
}
@@ -228,7 +228,7 @@ index 1234868b3b03..36ee80652208 100644
static int common_hrtimer_try_to_cancel(struct k_itimer *timr)
{
return hrtimer_try_to_cancel(&timr->it.real.timer);
-@@ -885,6 +901,7 @@ static int do_timer_settime(timer_t timer_id, int flags,
+@@ -890,6 +906,7 @@ static int do_timer_settime(timer_t timer_id, int flags,
if (!timr)
return -EINVAL;
@@ -236,7 +236,7 @@ index 1234868b3b03..36ee80652208 100644
kc = timr->kclock;
if (WARN_ON_ONCE(!kc || !kc->timer_set))
error = -EINVAL;
-@@ -893,9 +910,12 @@ static int do_timer_settime(timer_t timer_id, int flags,
+@@ -898,9 +915,12 @@ static int do_timer_settime(timer_t timer_id, int flags,
unlock_timer(timr, flag);
if (error == TIMER_RETRY) {
@@ -249,7 +249,7 @@ index 1234868b3b03..36ee80652208 100644
return error;
}
-@@ -977,10 +997,15 @@ SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
+@@ -982,10 +1002,15 @@ SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
if (!timer)
return -EINVAL;
@@ -265,7 +265,7 @@ index 1234868b3b03..36ee80652208 100644
spin_lock(&current->sighand->siglock);
list_del(&timer->list);
-@@ -1006,8 +1031,18 @@ static void itimer_delete(struct k_itimer *timer)
+@@ -1011,8 +1036,18 @@ static void itimer_delete(struct k_itimer *timer)
retry_delete:
spin_lock_irqsave(&timer->it_lock, flags);
diff --git a/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch b/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch
index de1e06f86..19a98e119 100644
--- a/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch
+++ b/debian/patches-rt/0100-hrtimer-by-timers-by-default-into-the-softirq-contex.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:31 -0500
-Subject: [PATCH 100/353] hrtimer: by timers by default into the softirq
+Subject: [PATCH 100/354] hrtimer: by timers by default into the softirq
context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f29c49b257f3002eb54b6303ac0fc6551f3180b2
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9e206d0caa6d175533fd2973ecbb54d48c6f1bd1
We can't have hrtimers callbacks running in hardirq context on RT. Therefore
the timers are deferred to the softirq context by default.
@@ -28,10 +28,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
11 files changed, 37 insertions(+), 14 deletions(-)
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
-index 027941e3df68..9699f3735a55 100644
+index 256b00f456e6..83c3421499aa 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
-@@ -2262,7 +2262,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu)
+@@ -2266,7 +2266,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu)
apic->vcpu = vcpu;
hrtimer_init(&apic->lapic_timer.timer, CLOCK_MONOTONIC,
@@ -41,7 +41,7 @@ index 027941e3df68..9699f3735a55 100644
/*
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
-index 8714f1a37d84..082147c07831 100644
+index 684241f87e4d..f8b4818e6e08 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -42,6 +42,7 @@ enum hrtimer_mode {
@@ -65,7 +65,7 @@ index 8714f1a37d84..082147c07831 100644
/*
diff --git a/kernel/events/core.c b/kernel/events/core.c
-index 2bf4b6b109bf..69524886cc89 100644
+index 4182e265176d..daeff994ae9c 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -1108,7 +1108,7 @@ static void __perf_mux_hrtimer_init(struct perf_cpu_context *cpuctx, int cpu)
@@ -77,7 +77,7 @@ index 2bf4b6b109bf..69524886cc89 100644
timer->function = perf_mux_hrtimer_handler;
}
-@@ -9311,7 +9311,7 @@ static void perf_swevent_init_hrtimer(struct perf_event *event)
+@@ -9372,7 +9372,7 @@ static void perf_swevent_init_hrtimer(struct perf_event *event)
if (!is_sampling_event(event))
return;
@@ -113,7 +113,7 @@ index 9243d0049714..52acbb31a777 100644
}
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index bd9a375c45f4..6d1911b08b7f 100644
+index 3f6a613be8c3..802471dbb24d 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4998,9 +4998,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
@@ -129,7 +129,7 @@ index bd9a375c45f4..6d1911b08b7f 100644
cfs_b->distribute_running = 0;
}
diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c
-index a068884c369f..b15428ede6cf 100644
+index 0768ba9d2860..41e73baf41ab 100644
--- a/kernel/sched/rt.c
+++ b/kernel/sched/rt.c
@@ -45,8 +45,8 @@ void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime)
@@ -144,7 +144,7 @@ index a068884c369f..b15428ede6cf 100644
}
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index ab38b51a96cc..beb81024c287 100644
+index 478ff82abd33..764c360568f1 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1202,7 +1202,9 @@ void hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
diff --git a/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch b/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch
index d5d314974..091a60253 100644
--- a/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch
+++ b/debian/patches-rt/0101-sched-fair-Make-the-hrtimers-non-hard-again.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 8 Jan 2019 12:31:06 +0100
-Subject: [PATCH 101/353] sched/fair: Make the hrtimers non-hard again
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=109040d80c1535285a4498e04a016f5ee2ba71e4
+Subject: [PATCH 101/354] sched/fair: Make the hrtimers non-hard again
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=01375dbf9778f635992d367eed1147551e7e15e0
Since commit "sched/fair: Robustify CFS-bandwidth timer locking" both
hrtimer can run in softirq context because now interrupts are disabled
@@ -13,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index 6d1911b08b7f..bd9a375c45f4 100644
+index 802471dbb24d..3f6a613be8c3 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4998,9 +4998,9 @@ void init_cfs_bandwidth(struct cfs_bandwidth *cfs_b)
diff --git a/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch b/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch
index e30c432ee..7c323c318 100644
--- a/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch
+++ b/debian/patches-rt/0102-hrtimer-Move-schedule_work-call-to-helper-thread.patch
@@ -1,7 +1,7 @@
From: Yang Shi <yang.shi@windriver.com>
Date: Mon, 16 Sep 2013 14:09:19 -0700
-Subject: [PATCH 102/353] hrtimer: Move schedule_work call to helper thread
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eab2a2611acee0790f3b6b3d35ba10daf48aa0c8
+Subject: [PATCH 102/354] hrtimer: Move schedule_work call to helper thread
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f324afdd9684306cbe7514e92d0ba26f0d3e4788
When run ltp leapsec_timer test, the following call trace is caught:
@@ -51,7 +51,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 24 insertions(+)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index beb81024c287..0dceea25f9f5 100644
+index 764c360568f1..c83c8609ac2c 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -748,6 +748,29 @@ static void hrtimer_switch_to_hres(void)
diff --git a/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch b/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch
index bc476ce12..9bc8f76d1 100644
--- a/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch
+++ b/debian/patches-rt/0103-hrtimer-move-state-change-before-hrtimer_cancel-in-d.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 6 Dec 2018 10:15:13 +0100
-Subject: [PATCH 103/353] hrtimer: move state change before hrtimer_cancel in
+Subject: [PATCH 103/354] hrtimer: move state change before hrtimer_cancel in
do_nanosleep()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9cb841c278a15f27daf46f87af052919ae51861e
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6cddb711df1e27bc89288790847fc3ea089899a9
There is a small window between setting t->task to NULL and waking the
task up (which would set TASK_RUNNING). So the timer would fire, run and
@@ -28,7 +28,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 0dceea25f9f5..4de39964594d 100644
+index c83c8609ac2c..260487c89a14 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1852,12 +1852,12 @@ static int __sched do_nanosleep(struct hrtimer_sleeper *t, enum hrtimer_mode mod
diff --git a/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch b/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch
index 8b27b06ed..b1eafc9a7 100644
--- a/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch
+++ b/debian/patches-rt/0104-posix-timers-Thread-posix-cpu-timers-on-rt.patch
@@ -1,7 +1,7 @@
From: John Stultz <johnstul@us.ibm.com>
Date: Fri, 3 Jul 2009 08:29:58 -0500
-Subject: [PATCH 104/353] posix-timers: Thread posix-cpu-timers on -rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4a318dfc7f0d2ef94b30074a4a36311b3073bb55
+Subject: [PATCH 104/354] posix-timers: Thread posix-cpu-timers on -rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a2eab86a476d1939be8d7ce19bb23cb521d01f16
posix-cpu-timer code takes non -rt safe locks in hard irq
context. Move it to a thread.
diff --git a/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch b/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch
index 875f00e6e..344d6bb4a 100644
--- a/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch
+++ b/debian/patches-rt/0105-sched-Move-task_struct-cleanup-to-RCU.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 31 May 2011 16:59:16 +0200
-Subject: [PATCH 105/353] sched: Move task_struct cleanup to RCU
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=be35f1b200eb51447b20a7a2653e53c58c58ca09
+Subject: [PATCH 105/354] sched: Move task_struct cleanup to RCU
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=29680594be3ba97f56e6b5475adbe201f97ec34a
__put_task_struct() does quite some expensive work. We don't want to
burden random tasks with that.
diff --git a/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch b/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch
index 55b805f35..65ad49cad 100644
--- a/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch
+++ b/debian/patches-rt/0106-sched-Limit-the-number-of-task-migrations-per-batch.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 6 Jun 2011 12:12:51 +0200
-Subject: [PATCH 106/353] sched: Limit the number of task migrations per batch
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8cce7045319b606fb508c6c135bc17fec1297dea
+Subject: [PATCH 106/354] sched: Limit the number of task migrations per batch
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ecc6ac9f90731fae344e5b8d26cdd66db3c7082f
Put an upper limit on the number of tasks which are migrated per batch
to avoid large latencies.
diff --git a/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch b/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch
index d54373e88..2869d8726 100644
--- a/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch
+++ b/debian/patches-rt/0107-sched-Move-mmdrop-to-RCU-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 6 Jun 2011 12:20:33 +0200
-Subject: [PATCH 107/353] sched: Move mmdrop to RCU on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=29db13f93ec2cda8d72b6c38fe5049f15d68b107
+Subject: [PATCH 107/354] sched: Move mmdrop to RCU on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=44309940dca3b3feaece56208306b8f6a90c2aa2
Takes sleeping locks and calls into the memory allocator, so nothing
we want to do in task switch and oder atomic contexts.
diff --git a/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch b/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
index 0f58bd1a7..325adcc41 100644
--- a/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
+++ b/debian/patches-rt/0108-kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 21 Nov 2016 19:31:08 +0100
-Subject: [PATCH 108/353] kernel/sched: move stack + kprobe clean up to
+Subject: [PATCH 108/354] kernel/sched: move stack + kprobe clean up to
__put_task_struct()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0c1b81f616fe6d01f4c5b70aa47f0c45b5d52175
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1db44b0421629c2b4bdc460663dbd37506233b00
There is no need to free the stack before the task struct (except for reasons
mentioned in commit 68f24b08ee89 ("sched/core: Free the stack early if
diff --git a/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch b/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch
index d7fcd9a98..578eef3f5 100644
--- a/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch
+++ b/debian/patches-rt/0109-sched-Add-saved_state-for-tasks-blocked-on-sleeping-.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 25 Jun 2011 09:21:04 +0200
-Subject: [PATCH 109/353] sched: Add saved_state for tasks blocked on sleeping
+Subject: [PATCH 109/354] sched: Add saved_state for tasks blocked on sleeping
locks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2a6b7d4a6d256d704711eb8d0387c88b9d3343c8
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e5cc11825a12d7ebb78a87ce4687f736de882fa3
Spinlocks are state preserving in !RT. RT changes the state when a
task gets blocked on a lock. So we need to remember the state before
diff --git a/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch b/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch
index bab17e24a..315a43495 100644
--- a/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch
+++ b/debian/patches-rt/0110-sched-Do-not-account-rcu_preempt_depth-on-RT-in-migh.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 7 Jun 2011 09:19:06 +0200
-Subject: [PATCH 110/353] sched: Do not account rcu_preempt_depth on RT in
+Subject: [PATCH 110/354] sched: Do not account rcu_preempt_depth on RT in
might_sleep()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c41cec71a19b50b70e158c340e365a1fabcb94ee
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aaff169a860588c5688c0e5941182d2888328000
RT changes the rcu_preempt_depth semantics, so we cannot check for it
in might_sleep().
@@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
-index 68cbe111420b..027c58cdbb6e 100644
+index cf139d6e5c1d..18262dd58476 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -73,6 +73,11 @@ void synchronize_rcu(void);
diff --git a/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch b/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch
index 2a1ddee4c..425c7f337 100644
--- a/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch
+++ b/debian/patches-rt/0111-sched-Use-the-proper-LOCK_OFFSET-for-cond_resched.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 22:51:33 +0200
-Subject: [PATCH 111/353] sched: Use the proper LOCK_OFFSET for cond_resched()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=40aea8333fd3327ba94572e05c29392ffbdad221
+Subject: [PATCH 111/354] sched: Use the proper LOCK_OFFSET for cond_resched()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5e119fb8d861fb7d3beeb30a7442174fc144f72d
RT does not increment preempt count when a 'sleeping' spinlock is
locked. Update PREEMPT_LOCK_OFFSET for that case.
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 4 insertions(+)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index f7a17fcc3fec..b7fe717eb1f4 100644
+index 02ba5c80bf0d..22829223534b 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -118,7 +118,11 @@
diff --git a/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch b/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch
index 94e49f265..4fc75eb9e 100644
--- a/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch
+++ b/debian/patches-rt/0112-sched-Disable-TTWU_QUEUE-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 13 Sep 2011 16:42:35 +0200
-Subject: [PATCH 112/353] sched: Disable TTWU_QUEUE on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ae86912b078e8b3dad48b75af006bd02f90f0ef9
+Subject: [PATCH 112/354] sched: Disable TTWU_QUEUE on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b075e8741903cb526cdf7222bdd3b4afb21c0de7
The queued remote wakeup mechanism can introduce rather large
latencies if the number of migrated tasks is high. Disable it for RT.
diff --git a/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch b/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch
index bf74a8d7c..ccd9bb55e 100644
--- a/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch
+++ b/debian/patches-rt/0113-sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch
@@ -1,8 +1,8 @@
From: Steven Rostedt <rostedt@goodmis.org>
Date: Mon, 18 Mar 2013 15:12:49 -0400
-Subject: [PATCH 113/353] sched/workqueue: Only wake up idle workers if not
+Subject: [PATCH 113/354] sched/workqueue: Only wake up idle workers if not
blocked on sleeping spin lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a395882d6b37ec67f24df8f6feea9d75bf9a9b20
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6406e81dacdad66db971db5a0103502ef3b99139
In -rt, most spin_locks() turn into mutexes. One of these spin_lock
conversions is performed on the workqueue gcwq->lock. When the idle
diff --git a/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch b/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch
index 7af709a7e..5d85bbfc8 100644
--- a/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch
+++ b/debian/patches-rt/0114-rt-Increase-decrease-the-nr-of-migratory-tasks-when-.patch
@@ -1,8 +1,8 @@
From: Daniel Bristot de Oliveira <bristot@redhat.com>
Date: Mon, 26 Jun 2017 17:07:15 +0200
-Subject: [PATCH 114/353] rt: Increase/decrease the nr of migratory tasks when
+Subject: [PATCH 114/354] rt: Increase/decrease the nr of migratory tasks when
enabling/disabling migration
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=286a1ecec4809b5fcd4dfe12f107909be4d17758
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1e41e004102108c90fda66e2f4d2c15ab504626
There is a problem in the migrate_disable()/enable() implementation
regarding the number of migratory tasks in the rt/dl RQs. The problem
diff --git a/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch b/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch
index 0f2094998..81c079eed 100644
--- a/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch
+++ b/debian/patches-rt/0115-hotplug-Lightweight-get-online-cpus.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 15 Jun 2011 12:36:06 +0200
-Subject: [PATCH 115/353] hotplug: Lightweight get online cpus
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=622116c75e173f8a4be2422016f5047e8a72fda1
+Subject: [PATCH 115/354] hotplug: Lightweight get online cpus
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3ba8eb74c6b86a06075162358d936bfe7e1c0dfa
get_online_cpus() is a heavy weight function which involves a global
mutex. migrate_disable() wants a simpler construct which prevents only
@@ -19,7 +19,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
3 files changed, 24 insertions(+)
diff --git a/include/linux/cpu.h b/include/linux/cpu.h
-index 12ed4cb751de..bddccdcd00ba 100644
+index c376a59a3e42..90985dbce8f4 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -124,6 +124,8 @@ extern void cpu_hotplug_disable(void);
@@ -42,7 +42,7 @@ index 12ed4cb751de..bddccdcd00ba 100644
/* Wrappers which go away once all code is converted */
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index c9ca190ec034..f4c49bbc3fa3 100644
+index 34c09c3d37bc..b25993345ea6 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -284,6 +284,21 @@ static int cpu_hotplug_disabled;
diff --git a/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch b/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch
index 035c9ca49..8ee2c0f75 100644
--- a/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch
+++ b/debian/patches-rt/0116-trace-Add-migrate-disabled-counter-to-tracing-output.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:56:42 +0200
-Subject: [PATCH 116/353] trace: Add migrate-disabled counter to tracing output
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1f45a86c8d1602fa20f00359422fba7e099d9128
+Subject: [PATCH 116/354] trace: Add migrate-disabled counter to tracing output
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=686984a694ba79b89fbe3839fe563036cf9428af
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
@@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
4 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h
-index 0643c083ed86..1cc4d2da954c 100644
+index 93a1b5497bdf..963c19f03bef 100644
--- a/include/linux/trace_events.h
+++ b/include/linux/trace_events.h
@@ -62,6 +62,8 @@ struct trace_entry {
@@ -25,7 +25,7 @@ index 0643c083ed86..1cc4d2da954c 100644
#define TRACE_EVENT_TYPE_MAX \
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index 98abff046236..b1c82b1dc3a6 100644
+index b43d681b072f..61fdbe0ddeb1 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2165,6 +2165,8 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags,
@@ -37,7 +37,7 @@ index 98abff046236..b1c82b1dc3a6 100644
}
EXPORT_SYMBOL_GPL(tracing_generic_entry_update);
-@@ -3367,9 +3369,10 @@ static void print_lat_help_header(struct seq_file *m)
+@@ -3373,9 +3375,10 @@ static void print_lat_help_header(struct seq_file *m)
"# | / _----=> need-resched \n"
"# || / _---=> hardirq/softirq \n"
"# ||| / _--=> preempt-depth \n"
@@ -52,7 +52,7 @@ index 98abff046236..b1c82b1dc3a6 100644
static void print_event_info(struct trace_buffer *buf, struct seq_file *m)
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
-index d2f9146d1ad7..ddda660b84f9 100644
+index ed39d3ec202e..b13fc846d2b2 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -189,6 +189,8 @@ static int trace_define_common_fields(void)
diff --git a/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch b/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch
index 1a98fb592..a5e3c3ca5 100644
--- a/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch
+++ b/debian/patches-rt/0117-lockdep-Make-it-RT-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 18:51:23 +0200
-Subject: [PATCH 117/353] lockdep: Make it RT aware
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=98130f1daaea2199bb162bdf605746816a0f48ac
+Subject: [PATCH 117/354] lockdep: Make it RT aware
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6718615fb9830364e30c733248e75921005e6aaf
teach lockdep that we don't really do softirqs on -RT.
@@ -53,7 +53,7 @@ index 21619c92c377..b20eeb25e9fa 100644
defined(CONFIG_PREEMPT_TRACER)
extern void stop_critical_timings(void);
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index 4dc79f57af82..4dd83428b56d 100644
+index 46a6d1f7c351..87006e19c9b0 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -3831,6 +3831,7 @@ static void check_flags(unsigned long flags)
diff --git a/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch b/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch
index 89a83b3e8..0a3714644 100644
--- a/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch
+++ b/debian/patches-rt/0118-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch
@@ -1,8 +1,8 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Tue, 29 Nov 2011 20:18:22 -0500
-Subject: [PATCH 118/353] tasklet: Prevent tasklets from going into infinite
+Subject: [PATCH 118/354] tasklet: Prevent tasklets from going into infinite
spin in RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bd8fc2358f7c3c54456ca0c7cb995db98c81fba1
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=27595ffe739c6a33dd78d49888de4aebb16c8d64
When CONFIG_PREEMPT_RT_FULL is enabled, tasklets run as threads,
and spinlocks turn are mutexes. But this can cause issues with
diff --git a/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch b/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch
index 90826ae16..e3f55e764 100644
--- a/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch
+++ b/debian/patches-rt/0119-softirq-Check-preemption-after-reenabling-interrupts.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 13 Nov 2011 17:17:09 +0100
-Subject: [PATCH 119/353] softirq: Check preemption after reenabling interrupts
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d73dc06a3a63b3e883babd7e29fa160128c73e60
+Subject: [PATCH 119/354] softirq: Check preemption after reenabling interrupts
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7c68fecb29f3041ccce92063163f28179b408e4
raise_softirq_irqoff() disables interrupts and wakes the softirq
daemon, but after reenabling interrupts there is no preemption check,
@@ -49,7 +49,7 @@ index 15c1f5e12eb8..1628277885a1 100644
EXPORT_SYMBOL(__blk_complete_request);
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index b7fe717eb1f4..9984f2b75b73 100644
+index 22829223534b..8dc7800151f0 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -187,8 +187,10 @@ do { \
@@ -116,7 +116,7 @@ index 86a709954f5a..9c069ef83d6d 100644
return 0;
}
diff --git a/net/core/dev.c b/net/core/dev.c
-index 03903d3f1d69..4156bf7ca234 100644
+index 0f9214fb36e0..554590fc29f5 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -2727,6 +2727,7 @@ static void __netif_reschedule(struct Qdisc *q)
@@ -135,7 +135,7 @@ index 03903d3f1d69..4156bf7ca234 100644
}
EXPORT_SYMBOL(__dev_kfree_skb_irq);
-@@ -4273,6 +4275,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
+@@ -4275,6 +4277,7 @@ static int enqueue_to_backlog(struct sk_buff *skb, int cpu,
rps_unlock(sd);
local_irq_restore(flags);
@@ -143,7 +143,7 @@ index 03903d3f1d69..4156bf7ca234 100644
atomic_long_inc(&skb->dev->rx_dropped);
kfree_skb(skb);
-@@ -5824,12 +5827,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
+@@ -5826,12 +5829,14 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd)
sd->rps_ipi_list = NULL;
local_irq_enable();
@@ -158,7 +158,7 @@ index 03903d3f1d69..4156bf7ca234 100644
}
static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
-@@ -5907,6 +5912,7 @@ void __napi_schedule(struct napi_struct *n)
+@@ -5909,6 +5914,7 @@ void __napi_schedule(struct napi_struct *n)
local_irq_save(flags);
____napi_schedule(this_cpu_ptr(&softnet_data), n);
local_irq_restore(flags);
@@ -166,7 +166,7 @@ index 03903d3f1d69..4156bf7ca234 100644
}
EXPORT_SYMBOL(__napi_schedule);
-@@ -9531,6 +9537,7 @@ static int dev_cpu_dead(unsigned int oldcpu)
+@@ -9523,6 +9529,7 @@ static int dev_cpu_dead(unsigned int oldcpu)
raise_softirq_irqoff(NET_TX_SOFTIRQ);
local_irq_enable();
diff --git a/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch b/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch
index 32713d256..ad073538d 100644
--- a/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch
+++ b/debian/patches-rt/0120-softirq-Disable-softirq-stacks-for-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 18 Jul 2011 13:59:17 +0200
-Subject: [PATCH 120/353] softirq: Disable softirq stacks for RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eecedc65a229f4e4fbdb24922843629e839edfe4
+Subject: [PATCH 120/354] softirq: Disable softirq stacks for RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=25ef37c2b78d37b8263e5d8efd1732227bca3520
Disable extra stacks for softirqs. We want to preempt softirqs and
having them on special IRQ-stack does not make this easier.
diff --git a/debian/patches-rt/0121-softirq-Split-softirq-locks.patch b/debian/patches-rt/0121-softirq-Split-softirq-locks.patch
index ea0ad8b8d..0b8b3ac84 100644
--- a/debian/patches-rt/0121-softirq-Split-softirq-locks.patch
+++ b/debian/patches-rt/0121-softirq-Split-softirq-locks.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 4 Oct 2012 14:20:47 +0100
-Subject: [PATCH 121/353] softirq: Split softirq locks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c9087b85873c1e3cac33ac6ce45442cc13505b4c
+Subject: [PATCH 121/354] softirq: Split softirq locks
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92e843a596790848cb412927152e8e90db9797c3
The 3.x RT series removed the split softirq implementation in favour
of pushing softirq processing into the context of the thread which
@@ -135,7 +135,7 @@ index eec4bec454b5..cf9860d49d57 100644
struct hrtimer timer;
struct tasklet_struct tasklet;
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index 9984f2b75b73..27c3176d88d2 100644
+index 8dc7800151f0..c196866734d3 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -51,7 +51,11 @@
@@ -198,10 +198,10 @@ index 44a5e80481bb..bf13a967491e 100644
#define PF_EXITING 0x00000004 /* Getting shut down */
#define PF_VCPU 0x00000010 /* I'm a virtual CPU */
diff --git a/init/main.c b/init/main.c
-index 489a5aa7ba53..703b627a6060 100644
+index 08c312abbaf1..298257e2cd42 100644
--- a/init/main.c
+++ b/init/main.c
-@@ -553,6 +553,7 @@ asmlinkage __visible void __init start_kernel(void)
+@@ -549,6 +549,7 @@ asmlinkage __visible void __init start_kernel(void)
setup_command_line(command_line);
setup_nr_cpu_ids();
setup_per_cpu_areas();
diff --git a/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch b/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch
index d91e6d4ea..36fdb5366 100644
--- a/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch
+++ b/debian/patches-rt/0122-net-core-use-local_bh_disable-in-netif_rx_ni.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 16 Jun 2017 19:03:16 +0200
-Subject: [PATCH 122/353] net/core: use local_bh_disable() in netif_rx_ni()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6c6f220c3a41dbedd9271c75efa95557719cc9ac
+Subject: [PATCH 122/354] net/core: use local_bh_disable() in netif_rx_ni()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fbedc43d1bb26311167ea79af1a2c2db90192566
In 2004 netif_rx_ni() gained a preempt_disable() section around
netif_rx() and its do_softirq() + testing for it. The do_softirq() part
@@ -18,10 +18,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
-index 4156bf7ca234..70a3cebdac89 100644
+index 554590fc29f5..c6c45f663539 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4541,11 +4541,9 @@ int netif_rx_ni(struct sk_buff *skb)
+@@ -4543,11 +4543,9 @@ int netif_rx_ni(struct sk_buff *skb)
trace_netif_rx_ni_entry(skb);
diff --git a/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch b/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch
index 57d1e6fab..9c16bd686 100644
--- a/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch
+++ b/debian/patches-rt/0123-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 31 Jan 2012 13:01:27 +0100
-Subject: [PATCH 123/353] genirq: Allow disabling of softirq processing in irq
+Subject: [PATCH 123/354] genirq: Allow disabling of softirq processing in irq
thread context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1128442014bca498569b0b81a4f6abbb3482eb8f
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=68654dfb1961f5694087fea3e2f363d49a4290be
The processing of softirqs in irq thread context is a performance gain
for the non-rt workloads of a system, but it's counterproductive for
diff --git a/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch b/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch
index 1826644b8..c1c8af481 100644
--- a/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch
+++ b/debian/patches-rt/0124-softirq-split-timer-softirqs-out-of-ksoftirqd.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 20 Jan 2016 16:34:17 +0100
-Subject: [PATCH 124/353] softirq: split timer softirqs out of ksoftirqd
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3fa18033c14dff72f82998b26a271e3927780eeb
+Subject: [PATCH 124/354] softirq: split timer softirqs out of ksoftirqd
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8f10baa8f999772a669a0f44e3c931a9ac806443
The softirqd runs in -RT with SCHED_FIFO (prio 1) and deals mostly with
timer wakeup which can not happen in hardirq context. The prio has been
diff --git a/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch b/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch
index 70463e376..861e0d303 100644
--- a/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch
+++ b/debian/patches-rt/0125-softirq-Avoid-local_softirq_pending-messages-if-ksof.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 18 Feb 2019 13:19:59 +0100
-Subject: [PATCH 125/353] softirq: Avoid "local_softirq_pending" messages if
+Subject: [PATCH 125/354] softirq: Avoid "local_softirq_pending" messages if
ksoftirqd is blocked
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=713369743f628d38df761d559c099513842a87e9
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f5d9ba516bcc1de17e605468f209fff4aada1aae
If the ksoftirqd thread has a softirq pending and is blocked on the
`local_softirq_locks' lock then softirq_check_pending_idle() won't
diff --git a/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch b/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch
index 89c83b380..acc412d94 100644
--- a/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch
+++ b/debian/patches-rt/0126-softirq-Avoid-local_softirq_pending-messages-if-task.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Feb 2019 16:49:29 +0100
-Subject: [PATCH 126/353] softirq: Avoid "local_softirq_pending" messages if
+Subject: [PATCH 126/354] softirq: Avoid "local_softirq_pending" messages if
task is in cpu_chill()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8da244f6216d1a906d97925913a4385e702abdd5
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=02a0c63da17299f0730158204003d851c7fceaca
If the softirq thread enters cpu_chill() then ->state is UNINTERRUPTIBLE
and has no ->pi_blocked_on set and so its mask is not taken into account.
diff --git a/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch b/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch
index e5f3e05fd..b4f250c04 100644
--- a/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch
+++ b/debian/patches-rt/0127-rtmutex-trylock-is-okay-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 2 Dec 2015 11:34:07 +0100
-Subject: [PATCH 127/353] rtmutex: trylock is okay on -RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d80ea121d373f6048bf46fae7d5c4b7f78a26196
+Subject: [PATCH 127/354] rtmutex: trylock is okay on -RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1d31366fb82713fa3ddb743d9471fb4efdebc49d
non-RT kernel could deadlock on rt_mutex_trylock() in softirq context. On
-RT we don't run softirqs in IRQ context but in thread context so it is
diff --git a/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch b/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch
index b11a25b71..162acb412 100644
--- a/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch
+++ b/debian/patches-rt/0128-fs-nfs-turn-rmdir_sem-into-a-semaphore.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 15 Sep 2016 10:51:27 +0200
-Subject: [PATCH 128/353] fs/nfs: turn rmdir_sem into a semaphore
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a865901ab427b7d9016bdc42a706beb5a4da5903
+Subject: [PATCH 128/354] fs/nfs: turn rmdir_sem into a semaphore
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4653720889d33dac2c78ca95c5449677e76b86c7
The RW semaphore had a reader side which used the _non_owner version
because it most likely took the reader lock in one thread and released it
diff --git a/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch b/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch
index ac2f9c97d..105e878e8 100644
--- a/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch
+++ b/debian/patches-rt/0129-rtmutex-Handle-the-various-new-futex-race-conditions.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 10 Jun 2011 11:04:15 +0200
-Subject: [PATCH 129/353] rtmutex: Handle the various new futex race conditions
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d1a8f28a30981f0ab33f327955252d3cb4e4fbad
+Subject: [PATCH 129/354] rtmutex: Handle the various new futex race conditions
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3c5ac737d6b9077aa40c32c26b38c39c67430329
RT opens a few new interesting race conditions in the rtmutex/futex
combo due to futex hash bucket lock being a 'sleeping' spinlock and
@@ -15,7 +15,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
3 files changed, 94 insertions(+), 21 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index ac015d1dd16c..dc2d81d11b17 100644
+index 585082311ea3..f6339f8b4a1a 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2253,6 +2253,16 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags,
diff --git a/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch b/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch
index 626040ee8..1d2895cce 100644
--- a/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch
+++ b/debian/patches-rt/0130-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch
@@ -1,7 +1,7 @@
From: Steven Rostedt <rostedt@goodmis.org>
Date: Tue, 14 Jul 2015 14:26:34 +0200
-Subject: [PATCH 130/353] futex: Fix bug on when a requeued RT task times out
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d606054e3bdfa5d9bb3a48d3fc44b2e6a534eb13
+Subject: [PATCH 130/354] futex: Fix bug on when a requeued RT task times out
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a83c3854b57a559a38595bdbe492220ea877e13
Requeue with timeout causes a bug with PREEMPT_RT_FULL.
diff --git a/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch b/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch
index 44d8687d4..ebd22f18d 100644
--- a/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch
+++ b/debian/patches-rt/0131-futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 1 Mar 2013 11:17:42 +0100
-Subject: [PATCH 131/353] futex: Ensure lock/unlock symetry versus pi_lock and
+Subject: [PATCH 131/354] futex: Ensure lock/unlock symetry versus pi_lock and
hash bucket lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8dbfc8e2b84952857d4d225d3eff59b73f6e6021
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2e2a08567239b469386e8d38952b48798b3b6f74
In exit_pi_state_list() we have the following locking construct:
@@ -31,7 +31,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 2 insertions(+)
diff --git a/kernel/futex.c b/kernel/futex.c
-index dc2d81d11b17..0e136045a720 100644
+index f6339f8b4a1a..12b658dc016a 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -962,7 +962,9 @@ static void exit_pi_state_list(struct task_struct *curr)
diff --git a/debian/patches-rt/0132-pid.h-include-atomic.h.patch b/debian/patches-rt/0132-pid.h-include-atomic.h.patch
index f42c2a4d3..e0f6c43db 100644
--- a/debian/patches-rt/0132-pid.h-include-atomic.h.patch
+++ b/debian/patches-rt/0132-pid.h-include-atomic.h.patch
@@ -1,7 +1,7 @@
From: Grygorii Strashko <Grygorii.Strashko@linaro.org>
Date: Tue, 21 Jul 2015 19:43:56 +0300
-Subject: [PATCH 132/353] pid.h: include atomic.h
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d5cd905ca7ce7ab06694717b22dd20b102a4ad36
+Subject: [PATCH 132/354] pid.h: include atomic.h
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=027b875472bab6580820dcc916fbc716f73f22a8
This patch fixes build error:
CC kernel/pid_namespace.o
diff --git a/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch b/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch
index 8ad18a033..5e2f5ee1c 100644
--- a/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch
+++ b/debian/patches-rt/0133-arm-include-definition-for-cpumask_t.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 22 Dec 2016 17:28:33 +0100
-Subject: [PATCH 133/353] arm: include definition for cpumask_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2e5ee101b7130830a24ba3159856ad5b8d247616
+Subject: [PATCH 133/354] arm: include definition for cpumask_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aa9961ff85fd8f9623657677efcb406b5a49d1fb
This definition gets pulled in by other files. With the (later) split of
RCU and spinlock.h it won't compile anymore.
diff --git a/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch b/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch
index d11bfb3e1..29370046f 100644
--- a/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch
+++ b/debian/patches-rt/0134-locking-locktorture-Do-NOT-include-rwlock.h-directly.patch
@@ -1,8 +1,8 @@
From: "Wolfgang M. Reimer" <linuxball@gmail.com>
Date: Tue, 21 Jul 2015 16:20:07 +0200
-Subject: [PATCH 134/353] locking: locktorture: Do NOT include rwlock.h
+Subject: [PATCH 134/354] locking: locktorture: Do NOT include rwlock.h
directly
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ad189ad0514c2094321f9fd0337ab57397db4f00
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=71bd2721e99a9d8670de8f976e8faae888e37d13
Including rwlock.h directly will cause kernel builds to fail
if CONFIG_PREEMPT_RT_FULL is defined. The correct header file
diff --git a/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch b/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch
index 3d93b7062..76ed79b6a 100644
--- a/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch
+++ b/debian/patches-rt/0135-rtmutex-Add-rtmutex_lock_killable.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 9 Jun 2011 11:43:52 +0200
-Subject: [PATCH 135/353] rtmutex: Add rtmutex_lock_killable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6d3b7dcdca0aece78c9009364661eb06688b6933
+Subject: [PATCH 135/354] rtmutex: Add rtmutex_lock_killable()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0d23d867cdcbc8148b9fe5400eb602a17e66f730
Add "killable" type to rtmutex. We need this since rtmutex are used as
"normal" mutexes which do use this type.
diff --git a/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch b/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch
index d69c5254e..61b983cb2 100644
--- a/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch
+++ b/debian/patches-rt/0136-rtmutex-Make-lock_killable-work.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 1 Apr 2017 12:50:59 +0200
-Subject: [PATCH 136/353] rtmutex: Make lock_killable work
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=837062c3b2e57ec5d4c04c8b1cda3305c2c010f2
+Subject: [PATCH 136/354] rtmutex: Make lock_killable work
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bb4aae3676300389c9ccc8985348f8fcd4e78d7e
Locking an rt mutex killable does not work because signal handling is
restricted to TASK_INTERRUPTIBLE.
diff --git a/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch b/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch
index 1f2dc144e..0f285b7cd 100644
--- a/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch
+++ b/debian/patches-rt/0137-spinlock-Split-the-lock-types-header.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 29 Jun 2011 19:34:01 +0200
-Subject: [PATCH 137/353] spinlock: Split the lock types header
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=31a8676e8d6709bfd284c94cdcba63304586dc2c
+Subject: [PATCH 137/354] spinlock: Split the lock types header
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=02dfe1120282f42f29ad9f10a5c5fb743ea5db59
Split raw_spinlock into its own file and the remaining spinlock_t into
its own non-RT header. The non-RT header will be replaced later by sleeping
diff --git a/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch b/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch
index 54dbdfe1b..5830c8f9e 100644
--- a/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch
+++ b/debian/patches-rt/0138-rtmutex-Avoid-include-hell.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 29 Jun 2011 20:06:39 +0200
-Subject: [PATCH 138/353] rtmutex: Avoid include hell
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=318d1b407db029035da74bbd758aabc0352168ce
+Subject: [PATCH 138/354] rtmutex: Avoid include hell
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5b8ed93ab235d8cff7e8a01225efe33fb719ca22
Include only the required raw types. This avoids pulling in the
complete spinlock header which in turn requires rtmutex.h at some point.
diff --git a/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch b/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch
index fac209896..8b7e41455 100644
--- a/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch
+++ b/debian/patches-rt/0139-rbtree-don-t-include-the-rcu-header.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Feb 2019 16:56:02 +0100
-Subject: [PATCH 139/353] rbtree: don't include the rcu header
+Subject: [PATCH 139/354] rbtree: don't include the rcu header
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=01edc3f9e31e5153bde8f96cab83edc1259da691
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=04dfb0f69dd66c9eab3498d4134bf7a04e6a0638
The RCU header pulls in spinlock.h and fails due not yet defined types:
@@ -25,10 +25,12 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
include/linux/rbtree.h | 2 +-
include/linux/rcu_assign_pointer.h | 54 ++++++++++++++++++++++++++++++
- include/linux/rcupdate.h | 49 +--------------------------
- 3 files changed, 56 insertions(+), 49 deletions(-)
+ include/linux/rcupdate.h | 1 +
+ 3 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 include/linux/rcu_assign_pointer.h
+diff --git a/include/linux/rbtree.h b/include/linux/rbtree.h
+index fcbeed4053ef..2aa2aec354c2 100644
--- a/include/linux/rbtree.h
+++ b/include/linux/rbtree.h
@@ -31,7 +31,7 @@
@@ -40,6 +42,9 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
struct rb_node {
unsigned long __rb_parent_color;
+diff --git a/include/linux/rcu_assign_pointer.h b/include/linux/rcu_assign_pointer.h
+new file mode 100644
+index 000000000000..7066962a4379
--- /dev/null
+++ b/include/linux/rcu_assign_pointer.h
@@ -0,0 +1,54 @@
@@ -97,6 +102,8 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
+})
+
+#endif
+diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
+index 18262dd58476..de6f65f69a71 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -42,6 +42,7 @@
@@ -107,58 +114,3 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#define ULONG_CMP_GE(a, b) (ULONG_MAX / 2 >= (a) - (b))
#define ULONG_CMP_LT(a, b) (ULONG_MAX / 2 < (a) - (b))
-@@ -370,54 +371,6 @@ static inline void rcu_preempt_sleep_che
- })
-
- /**
-- * RCU_INITIALIZER() - statically initialize an RCU-protected global variable
-- * @v: The value to statically initialize with.
-- */
--#define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
--
--/**
-- * rcu_assign_pointer() - assign to RCU-protected pointer
-- * @p: pointer to assign to
-- * @v: value to assign (publish)
-- *
-- * Assigns the specified value to the specified RCU-protected
-- * pointer, ensuring that any concurrent RCU readers will see
-- * any prior initialization.
-- *
-- * Inserts memory barriers on architectures that require them
-- * (which is most of them), and also prevents the compiler from
-- * reordering the code that initializes the structure after the pointer
-- * assignment. More importantly, this call documents which pointers
-- * will be dereferenced by RCU read-side code.
-- *
-- * In some special cases, you may use RCU_INIT_POINTER() instead
-- * of rcu_assign_pointer(). RCU_INIT_POINTER() is a bit faster due
-- * to the fact that it does not constrain either the CPU or the compiler.
-- * That said, using RCU_INIT_POINTER() when you should have used
-- * rcu_assign_pointer() is a very bad thing that results in
-- * impossible-to-diagnose memory corruption. So please be careful.
-- * See the RCU_INIT_POINTER() comment header for details.
-- *
-- * Note that rcu_assign_pointer() evaluates each of its arguments only
-- * once, appearances notwithstanding. One of the "extra" evaluations
-- * is in typeof() and the other visible only to sparse (__CHECKER__),
-- * neither of which actually execute the argument. As with most cpp
-- * macros, this execute-arguments-only-once property is important, so
-- * please be careful when making changes to rcu_assign_pointer() and the
-- * other macros that it invokes.
-- */
--#define rcu_assign_pointer(p, v) \
--({ \
-- uintptr_t _r_a_p__v = (uintptr_t)(v); \
-- \
-- if (__builtin_constant_p(v) && (_r_a_p__v) == (uintptr_t)NULL) \
-- WRITE_ONCE((p), (typeof(p))(_r_a_p__v)); \
-- else \
-- smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
-- _r_a_p__v; \
--})
--
--/**
- * rcu_replace_pointer() - replace an RCU pointer, returning its old value
- * @rcu_ptr: RCU pointer, whose old value is returned
- * @ptr: regular pointer
diff --git a/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch b/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch
index 889697bda..0adeba275 100644
--- a/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch
+++ b/debian/patches-rt/0140-rtmutex-Provide-rt_mutex_slowlock_locked.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 16:14:22 +0200
-Subject: [PATCH 140/353] rtmutex: Provide rt_mutex_slowlock_locked()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4ed8a5378624e79f354f26b29f4ef135cabf19d5
+Subject: [PATCH 140/354] rtmutex: Provide rt_mutex_slowlock_locked()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a9611be6785bf323146a1d7f70491567d922f356
This is the inner-part of rt_mutex_slowlock(), required for rwsem-rt.
diff --git a/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch b/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch
index 46da5b85f..ba660979e 100644
--- a/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch
+++ b/debian/patches-rt/0141-rtmutex-export-lockdep-less-version-of-rt_mutex-s-lo.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 16:36:39 +0200
-Subject: [PATCH 141/353] rtmutex: export lockdep-less version of rt_mutex's
+Subject: [PATCH 141/354] rtmutex: export lockdep-less version of rt_mutex's
lock, trylock and unlock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=740b84a1d5c6a69733ac82835e4c7219eaa578d5
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a9ac8aca91e9102d62c28cca5f48bc6b341c2fc
Required for lock implementation ontop of rtmutex.
diff --git a/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch b/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch
index fd0264324..451ee0fd2 100644
--- a/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch
+++ b/debian/patches-rt/0142-rtmutex-add-sleeping-lock-implementation.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:11:19 +0200
-Subject: [PATCH 142/353] rtmutex: add sleeping lock implementation
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ae1b6e0e9a014befed2b7bc5c4eece86daa446db
+Subject: [PATCH 142/354] rtmutex: add sleeping lock implementation
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f3963525766840f746101c9745815d57d5315e77
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
@@ -407,7 +407,7 @@ index efe690af29f1..51ec12803c0b 100644
account_kernel_stack(tsk, 1);
diff --git a/kernel/futex.c b/kernel/futex.c
-index 0e136045a720..a5a263a3efbf 100644
+index 12b658dc016a..3d2570e9c8c1 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -1575,6 +1575,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_pi_state *pi_
diff --git a/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch b/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch
index 5f9de40bb..49a452177 100644
--- a/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch
+++ b/debian/patches-rt/0143-rtmutex-add-mutex-implementation-based-on-rtmutex.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:17:03 +0200
-Subject: [PATCH 143/353] rtmutex: add mutex implementation based on rtmutex
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d4e5a93b3550756da1004d9a27f77ffe93790a22
+Subject: [PATCH 143/354] rtmutex: add mutex implementation based on rtmutex
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=833745671974a1e686de1c79673fe87edbec4269
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch b/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch
index 8affbba1a..c07471313 100644
--- a/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch
+++ b/debian/patches-rt/0144-rtmutex-add-rwsem-implementation-based-on-rtmutex.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:28:34 +0200
-Subject: [PATCH 144/353] rtmutex: add rwsem implementation based on rtmutex
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=19c04220398e1defbbc2ead7debf3effa79759a4
+Subject: [PATCH 144/354] rtmutex: add rwsem implementation based on rtmutex
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=59e7908ea37732a98a6b91e4ebf272da7775c534
The RT specific R/W semaphore implementation restricts the number of readers
to one because a writer cannot block on multiple readers and inherit its
diff --git a/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch b/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch
index 29d8d3732..d8d442114 100644
--- a/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch
+++ b/debian/patches-rt/0145-rtmutex-add-rwlock-implementation-based-on-rtmutex.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:18:06 +0200
-Subject: [PATCH 145/353] rtmutex: add rwlock implementation based on rtmutex
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea18fa0cbcb369fa74a6d4f1f1a679dc0c41dd73
+Subject: [PATCH 145/354] rtmutex: add rwlock implementation based on rtmutex
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=60af7f285662cd574d8a5c490a23f23eb8bb81a7
The implementation is bias-based, similar to the rwsem implementation.
diff --git a/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch b/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch
index b75a172cf..9102b62a5 100644
--- a/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch
+++ b/debian/patches-rt/0146-rtmutex-rwlock-preserve-state-like-a-sleeping-lock.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 11 Jan 2019 21:16:31 +0100
-Subject: [PATCH 146/353] rtmutex/rwlock: preserve state like a sleeping lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b030b3a7e813383b360eb3c3b4971713d252707f
+Subject: [PATCH 146/354] rtmutex/rwlock: preserve state like a sleeping lock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f8ae4c1a55ef2c1e7cb8e8ddd9a74c868d23f08e
The rwlock is spinning while acquiring a lock. Therefore it must become
a sleeping lock on RT and preserve its task state while sleeping and
diff --git a/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch b/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch
index 0509ec71f..537802aac 100644
--- a/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch
+++ b/debian/patches-rt/0147-rtmutex-wire-up-RT-s-locking.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 12 Oct 2017 17:31:14 +0200
-Subject: [PATCH 147/353] rtmutex: wire up RT's locking
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=82c70eaccd0321348a401a8ee751938f3be5f0e4
+Subject: [PATCH 147/354] rtmutex: wire up RT's locking
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9c9a5bd5a5cb9559b8a27f7e3c47d28e8c7f49f6
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
diff --git a/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch b/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch
index 994eb4348..3cd7d025f 100644
--- a/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch
+++ b/debian/patches-rt/0148-rtmutex-add-ww_mutex-addon-for-mutex-rt.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 12 Oct 2017 17:34:38 +0200
-Subject: [PATCH 148/353] rtmutex: add ww_mutex addon for mutex-rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5638b534fffb7e1464776909b8ea609101dceddb
+Subject: [PATCH 148/354] rtmutex: add ww_mutex addon for mutex-rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fa8b1482ff1b468ec5f2e8109be74448a28a0017
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
---
diff --git a/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch b/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch
index a8b54fe2f..88350133d 100644
--- a/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch
+++ b/debian/patches-rt/0149-kconfig-Add-PREEMPT_RT_FULL.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 29 Jun 2011 14:58:57 +0200
-Subject: [PATCH 149/353] kconfig: Add PREEMPT_RT_FULL
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=752046a4b227d6883a5b603f45e0987013571b82
+Subject: [PATCH 149/354] kconfig: Add PREEMPT_RT_FULL
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=218b06866238a1f4f68d65f7904dc07730f7d675
Introduce the final symbol for PREEMPT_RT_FULL.
diff --git a/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch b/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch
index 3106ba866..9e036fe14 100644
--- a/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch
+++ b/debian/patches-rt/0150-locking-rt-mutex-fix-deadlock-in-device-mapper-block.patch
@@ -1,8 +1,8 @@
From: Mikulas Patocka <mpatocka@redhat.com>
Date: Mon, 13 Nov 2017 12:56:53 -0500
-Subject: [PATCH 150/353] locking/rt-mutex: fix deadlock in device mapper /
+Subject: [PATCH 150/354] locking/rt-mutex: fix deadlock in device mapper /
block-IO
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2942d326ca47d9bea018e1e5ccfa2d11887bccbf
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7fb3b608c2bac591dd3ff3f32230253a8706d312
When some block device driver creates a bio and submits it to another
block device driver, the bio is added to current->bio_list (in order to
diff --git a/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch b/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch
index 1068113c5..dabf9560e 100644
--- a/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch
+++ b/debian/patches-rt/0151-locking-rt-mutex-Flush-block-plug-on-__down_read.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Fri, 4 Jan 2019 15:33:21 -0500
-Subject: [PATCH 151/353] locking/rt-mutex: Flush block plug on __down_read()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e16669ece8894e9a9a0b506e37e957c05aafb084
+Subject: [PATCH 151/354] locking/rt-mutex: Flush block plug on __down_read()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cc5550a838341090c57c98f866384cd5c816aac6
__down_read() bypasses the rtmutex frontend to call
rt_mutex_slowlock_locked() directly, and thus it needs to call
diff --git a/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch b/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch
index f807c7f17..73c77a74c 100644
--- a/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch
+++ b/debian/patches-rt/0152-locking-rtmutex-re-init-the-wait_lock-in-rt_mutex_in.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 16 Nov 2017 16:48:48 +0100
-Subject: [PATCH 152/353] locking/rtmutex: re-init the wait_lock in
+Subject: [PATCH 152/354] locking/rtmutex: re-init the wait_lock in
rt_mutex_init_proxy_locked()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5ae97ece9b790294f0706285373a1606659442eb
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d794cd9c4646c6841de4068f1259a25c18221f09
We could provide a key-class for the lockdep (and fixup all callers) or
move the init to all callers (like it was) in order to avoid lockdep
diff --git a/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch b/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch
index 4d2f62a96..27702ff78 100644
--- a/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch
+++ b/debian/patches-rt/0153-ptrace-fix-ptrace-vs-tasklist_lock-race.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Aug 2013 18:21:04 +0200
-Subject: [PATCH 153/353] ptrace: fix ptrace vs tasklist_lock race
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4db302711bda5e85a7be1eaaeaf80e330caf920
+Subject: [PATCH 153/354] ptrace: fix ptrace vs tasklist_lock race
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=457cc6e030ab04478a2659eb00fbe56b898f37b0
As explained by Alexander Fyodorov <halcy@yandex.ru>:
diff --git a/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch b/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch
index 3f4ee1298..b6148774c 100644
--- a/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch
+++ b/debian/patches-rt/0154-rtmutex-annotate-sleeping-lock-context.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2017 14:25:13 +0200
-Subject: [PATCH 154/353] rtmutex: annotate sleeping lock context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4229625b3748a394f2e8127fec95d6c42845c5a
+Subject: [PATCH 154/354] rtmutex: annotate sleeping lock context
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3d9546d9f6ba2535079556b2da1c56b0f67b17e7
The RCU code complains on schedule() within a rcu_readlock() section.
The valid scenario on -RT is if a sleeping is held. In order to suppress
@@ -33,7 +33,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
6 files changed, 109 insertions(+), 7 deletions(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index 27c3176d88d2..9eafc34898b4 100644
+index c196866734d3..13e3f889b335 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -211,6 +211,15 @@ extern void migrate_enable(void);
diff --git a/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch b/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch
index 52c0508d4..fc576ebc0 100644
--- a/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch
+++ b/debian/patches-rt/0155-sched-migrate_disable-fallback-to-preempt_disable-in.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 5 Jul 2018 14:44:51 +0200
-Subject: [PATCH 155/353] sched/migrate_disable: fallback to preempt_disable()
+Subject: [PATCH 155/354] sched/migrate_disable: fallback to preempt_disable()
instead barrier()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=042d278b7e7b9f28417ae7c95ad95ba83065b1de
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6995caad3506ab5555fb756e251a94909ebaf0c7
On SMP + !RT migrate_disable() is still around. It is not part of spin_lock()
anymore so it has almost no users. However the futex code has a workaround for
@@ -46,7 +46,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
4 files changed, 17 insertions(+), 18 deletions(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index 9eafc34898b4..ed8413e7140f 100644
+index 13e3f889b335..302f491b05ec 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -204,7 +204,7 @@ do { \
diff --git a/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch b/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch
index f95b6cfce..5b529d881 100644
--- a/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch
+++ b/debian/patches-rt/0156-locking-don-t-check-for-__LINUX_SPINLOCK_TYPES_H-on-.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 4 Aug 2017 17:40:42 +0200
-Subject: [PATCH 156/353] locking: don't check for __LINUX_SPINLOCK_TYPES_H on
+Subject: [PATCH 156/354] locking: don't check for __LINUX_SPINLOCK_TYPES_H on
-RT archs
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1de5ba8a20471fbf228898156b626f15ddccf818
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d26c3e4878b2d3ebf3123cb736bd8e6de0032342
Upstream uses arch_spinlock_t within spinlock_t and requests that
spinlock_types.h header file is included first.
diff --git a/debian/patches-rt/0157-rcu-Frob-softirq-test.patch b/debian/patches-rt/0157-rcu-Frob-softirq-test.patch
index b97fa394b..850c00048 100644
--- a/debian/patches-rt/0157-rcu-Frob-softirq-test.patch
+++ b/debian/patches-rt/0157-rcu-Frob-softirq-test.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <a.p.zijlstra@chello.nl>
Date: Sat, 13 Aug 2011 00:23:17 +0200
-Subject: [PATCH 157/353] rcu: Frob softirq test
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8b22c921775db6303ca3915515934c5a07fe3bcc
+Subject: [PATCH 157/354] rcu: Frob softirq test
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=328420704fbc5e6d8ceaafcbf1bfafcf01d315b6
With RT_FULL we get the below wreckage:
diff --git a/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch b/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch
index aa96498ec..318a8e28a 100644
--- a/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch
+++ b/debian/patches-rt/0158-rcu-Merge-RCU-bh-into-RCU-preempt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 5 Oct 2011 11:59:38 -0700
-Subject: [PATCH 158/353] rcu: Merge RCU-bh into RCU-preempt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea7433159b2ffcf58ecc592690f31311034372c7
+Subject: [PATCH 158/354] rcu: Merge RCU-bh into RCU-preempt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9f5b41077696c1c5d7d2f00c3fa5a73b303c1920
The Linux kernel has long RCU-bh read-side critical sections that
intolerably increase scheduling latency under mainline's RCU-bh rules,
@@ -34,7 +34,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
7 files changed, 73 insertions(+), 2 deletions(-)
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h
-index e6733d7911e9..08d64e5713fc 100644
+index de6f65f69a71..f30feeb1cbab 100644
--- a/include/linux/rcupdate.h
+++ b/include/linux/rcupdate.h
@@ -56,7 +56,11 @@ void call_rcu(struct rcu_head *head, rcu_callback_t func);
@@ -64,7 +64,7 @@ index e6733d7911e9..08d64e5713fc 100644
int rcu_read_lock_sched_held(void);
#else /* #ifdef CONFIG_DEBUG_LOCK_ALLOC */
-@@ -661,10 +672,14 @@ static inline void rcu_read_unlock(void)
+@@ -727,10 +738,14 @@ static inline void rcu_read_unlock(void)
static inline void rcu_read_lock_bh(void)
{
local_bh_disable();
@@ -79,7 +79,7 @@ index e6733d7911e9..08d64e5713fc 100644
}
/*
-@@ -674,10 +689,14 @@ static inline void rcu_read_lock_bh(void)
+@@ -740,10 +755,14 @@ static inline void rcu_read_lock_bh(void)
*/
static inline void rcu_read_unlock_bh(void)
{
diff --git a/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch b/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch
index 71ab01a58..c8a18041b 100644
--- a/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch
+++ b/debian/patches-rt/0159-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch
@@ -1,7 +1,7 @@
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Date: Wed, 5 Oct 2011 11:45:18 -0700
-Subject: [PATCH 159/353] rcu: Make ksoftirqd do RCU quiescent states
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8a04d9b0fd14c11feab735183e2390994a77db29
+Subject: [PATCH 159/354] rcu: Make ksoftirqd do RCU quiescent states
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0281fe4b1e64a1376cde400197af51ae6047b01e
Implementing RCU-bh in terms of RCU-preempt makes the system vulnerable
to network-based denial-of-service attacks. This patch therefore
diff --git a/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch b/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch
index b78fba523..a894403bb 100644
--- a/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch
+++ b/debian/patches-rt/0160-rcu-Eliminate-softirq-processing-from-rcutree.patch
@@ -1,7 +1,7 @@
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Date: Mon, 4 Nov 2013 13:21:10 -0800
-Subject: [PATCH 160/353] rcu: Eliminate softirq processing from rcutree
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0b1567b981ee2c329d7c899c6cd49917803f4de2
+Subject: [PATCH 160/354] rcu: Eliminate softirq processing from rcutree
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b85f7944f59da7dd11767db41c98b3b038e45c50
Running RCU out of softirq is a problem for some workloads that would
like to manage RCU core processing independently of other softirq work,
diff --git a/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch b/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch
index 555450b9a..dfb47dd86 100644
--- a/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch
+++ b/debian/patches-rt/0161-srcu-use-cpu_online-instead-custom-check.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 13 Sep 2017 14:43:41 +0200
-Subject: [PATCH 161/353] srcu: use cpu_online() instead custom check
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b1423f183c0e3ff9419de9b9d3cd09bed0b84540
+Subject: [PATCH 161/354] srcu: use cpu_online() instead custom check
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6ba1b25e042b8c9b551d6ff8e7d35102ec77f544
The current check via srcu_online is slightly racy because after looking
at srcu_online there could be an interrupt that interrupted us long
diff --git a/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch b/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch
index 1b8579494..ba736b670 100644
--- a/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch
+++ b/debian/patches-rt/0162-srcu-replace-local_irqsave-with-a-locallock.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 12 Oct 2017 18:37:12 +0200
-Subject: [PATCH 162/353] srcu: replace local_irqsave() with a locallock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a6e91931c31ac57dfd998afb20cf33c5db0211f1
+Subject: [PATCH 162/354] srcu: replace local_irqsave() with a locallock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cca3434820462a5c77afd4e917e4e4962cbbfa09
There are two instances which disable interrupts in order to become a
stable this_cpu_ptr() pointer. The restore part is coupled with
diff --git a/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch b/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
index 34de5c874..8b4939daf 100644
--- a/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
+++ b/debian/patches-rt/0163-rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch
@@ -1,7 +1,7 @@
From: Julia Cartwright <julia@ni.com>
Date: Wed, 12 Oct 2016 11:21:14 -0500
-Subject: [PATCH 163/353] rcu: enable rcu_normal_after_boot by default for RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=715730eb2e4c433fec91c0b5be88a42cf53250b1
+Subject: [PATCH 163/354] rcu: enable rcu_normal_after_boot by default for RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3306adb347401d093d898e89580e9a309dc25ec4
The forcing of an expedited grace period is an expensive and very
RT-application unfriendly operation, as it forcibly preempts all running
diff --git a/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch b/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch
index e31363e71..ea8a619c5 100644
--- a/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch
+++ b/debian/patches-rt/0164-tty-serial-omap-Make-the-locking-RT-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 28 Jul 2011 13:32:57 +0200
-Subject: [PATCH 164/353] tty/serial/omap: Make the locking RT aware
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=43f213f089719957589286cb6d993219d226880f
+Subject: [PATCH 164/354] tty/serial/omap: Make the locking RT aware
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1e8e3580f7c188a65f926326bd1b8eeba022fbb2
The lock is a sleeping lock and local_irq_save() is not the
optimsation we are looking for. Redo it to make it work on -RT and
diff --git a/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch b/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch
index 3920ee816..0af1e53f2 100644
--- a/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch
+++ b/debian/patches-rt/0165-tty-serial-pl011-Make-the-locking-work-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 8 Jan 2013 21:36:51 +0100
-Subject: [PATCH 165/353] tty/serial/pl011: Make the locking work on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fc32db3abe672f6824c06bcc529972a74b1c7b44
+Subject: [PATCH 165/354] tty/serial/pl011: Make the locking work on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0e42f8f75bde7e5d13fb4c18ed5c598305dfd5af
The lock is a sleeping lock and local_irq_save() is not the optimsation
we are looking for. Redo it to make it work on -RT and non-RT.
diff --git a/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch b/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch
index dd96a0f53..06b8a58c3 100644
--- a/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch
+++ b/debian/patches-rt/0166-tty-serial-pl011-explicitly-initialize-the-flags-var.patch
@@ -1,11 +1,11 @@
From: Kurt Kanzenbach <kurt@linutronix.de>
Date: Mon, 24 Sep 2018 10:29:01 +0200
-Subject: [PATCH 166/353] tty: serial: pl011: explicitly initialize the flags
+Subject: [PATCH 166/354] tty: serial: pl011: explicitly initialize the flags
variable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6d9aaa3e016ce6e6c21fd051f669bc169ba8fb58
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=28e7bbd2ceab19819d33534f5ab2e3818fdd1fef
Silence the following gcc warning:
diff --git a/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch b/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch
index e91a0dc2e..7f96a6424 100644
--- a/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch
+++ b/debian/patches-rt/0167-rt-Improve-the-serial-console-PASS_LIMIT.patch
@@ -1,10 +1,10 @@
From: Ingo Molnar <mingo@elte.hu>
Date: Wed, 14 Dec 2011 13:05:54 +0100
-Subject: [PATCH 167/353] rt: Improve the serial console PASS_LIMIT
+Subject: [PATCH 167/354] rt: Improve the serial console PASS_LIMIT
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0d67046491f07ce337099d9076f5d0af41457f4e
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0e40c1effb13fb57056db9f7172932fce5ba0bea
Beyond the warning:
diff --git a/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch b/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch
index 2a649311b..c80a34250 100644
--- a/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch
+++ b/debian/patches-rt/0168-tty-serial-8250-don-t-take-the-trylock-during-oops.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Apr 2016 16:55:02 +0200
-Subject: [PATCH 168/353] tty: serial: 8250: don't take the trylock during oops
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fedac9e5838862f2a77d0d8a34b4b0bffca76c83
+Subject: [PATCH 168/354] tty: serial: 8250: don't take the trylock during oops
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9bf1e4e2c9ba1ddb81cd0be68e7d93f8ccb70a41
An oops with irqs off (panic() from irqsafe hrtimer like the watchdog
timer) will lead to a lockdep warning on each invocation and as such
@@ -14,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
-index cba4888bc482..af7df5ca17a5 100644
+index 7f5d51de622d..766bdb1717d5 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
-@@ -3316,10 +3316,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
+@@ -3315,10 +3315,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
serial8250_rpm_get(up);
diff --git a/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch b/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch
index c94ddef0f..c87eee50f 100644
--- a/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch
+++ b/debian/patches-rt/0169-locking-percpu-rwsem-Remove-preempt_disable-variants.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Wed, 23 Nov 2016 16:29:32 +0100
-Subject: [PATCH 169/353] locking/percpu-rwsem: Remove preempt_disable variants
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fddf5c58a99b20575b47df00a28f199e3c685d89
+Subject: [PATCH 169/354] locking/percpu-rwsem: Remove preempt_disable variants
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=42b6adadac37c91c1dde57d7c2852076ac4c17d9
Effective revert commit:
diff --git a/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch b/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch
index e6308c73d..facfc4bde 100644
--- a/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch
+++ b/debian/patches-rt/0170-mm-Protect-activate_mm-by-preempt_-disable-enable-_r.patch
@@ -1,8 +1,8 @@
From: Yong Zhang <yong.zhang0@gmail.com>
Date: Tue, 15 May 2012 13:53:56 +0800
-Subject: [PATCH 170/353] mm: Protect activate_mm() by
+Subject: [PATCH 170/354] mm: Protect activate_mm() by
preempt_[disable&enable]_rt()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=72765ad90ad37a0185e3be74225c144d5d83cfc8
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ca2a6dce0220e2384068a38b64a46d253e06ff3e
User preempt_*_rt instead of local_irq_*_rt or otherwise there will be
warning on ARM like below:
diff --git a/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch b/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch
index 8f5257657..c58750dd6 100644
--- a/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch
+++ b/debian/patches-rt/0171-fs-dcache-bring-back-explicit-INIT_HLIST_BL_HEAD-ini.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 13 Sep 2017 12:32:34 +0200
-Subject: [PATCH 171/353] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD
+Subject: [PATCH 171/354] fs/dcache: bring back explicit INIT_HLIST_BL_HEAD
init
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aecaf31f5a98b65e4f49dd9ecfddfe1da5b686e6
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=429cb6881d65bc2a8c51883beecc8f44da66bf81
Commit 3d375d78593c ("mm: update callers to use HASH_ZERO flag") removed
INIT_HLIST_BL_HEAD and uses the ZERO flag instead for the init. However
diff --git a/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch b/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch
index e05bfa94a..c91a896a1 100644
--- a/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch
+++ b/debian/patches-rt/0172-fs-dcache-disable-preemption-on-i_dir_seq-s-write-si.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 20 Oct 2017 11:29:53 +0200
-Subject: [PATCH 172/353] fs/dcache: disable preemption on i_dir_seq's write
+Subject: [PATCH 172/354] fs/dcache: disable preemption on i_dir_seq's write
side
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=73dad1b4c735605f03c709d3631000ed38390d8e
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dbb94b79e4151c3ff897d2df1ce2b2e24bdcd967
i_dir_seq is an opencoded seqcounter. Based on the code it looks like we
could have two writers in parallel despite the fact that the d_lock is
@@ -81,7 +81,7 @@ index 5df2e8ee23ed..9cdec5f41e40 100644
inode->dirtied_when = 0;
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 95b8ef09b76c..e77b126ea76a 100644
+index f89748aac8c3..23388d4d2fb8 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -679,7 +679,7 @@ struct inode {
diff --git a/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch b/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch
index be58e2840..e6016af58 100644
--- a/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch
+++ b/debian/patches-rt/0173-squashfs-make-use-of-local-lock-in-multi_cpu-decompr.patch
@@ -1,8 +1,8 @@
From: Julia Cartwright <julia@ni.com>
Date: Mon, 7 May 2018 08:58:57 -0500
-Subject: [PATCH 173/353] squashfs: make use of local lock in multi_cpu
+Subject: [PATCH 173/354] squashfs: make use of local lock in multi_cpu
decompressor
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1b53a7e12286b2e587e9bea1c4ab5ab4ebc5c892
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=54e8d9d122e7500d16ec29a7d0958b475b7df9c6
Currently, the squashfs multi_cpu decompressor makes use of
get_cpu_ptr()/put_cpu_ptr(), which unconditionally disable preemption
diff --git a/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch b/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch
index 3e8f606ca..de3de4632 100644
--- a/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch
+++ b/debian/patches-rt/0174-thermal-Defer-thermal-wakups-to-threads.patch
@@ -1,7 +1,7 @@
From: Daniel Wagner <wagi@monom.org>
Date: Tue, 17 Feb 2015 09:37:44 +0100
-Subject: [PATCH 174/353] thermal: Defer thermal wakups to threads
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ecea5d1de8aaf3cf20b90ce2dd1b811db8ca070b
+Subject: [PATCH 174/354] thermal: Defer thermal wakups to threads
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=87c64d81690682f1d3d854aef4225d5ed65e4ef5
On RT the spin lock in pkg_temp_thermal_platfrom_thermal_notify will
call schedule while we run in irq context.
diff --git a/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch b/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch
index 2c386a391..be7a2f708 100644
--- a/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch
+++ b/debian/patches-rt/0175-x86-fpu-Disable-preemption-around-local_bh_disable.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 11 Dec 2018 15:10:33 +0100
-Subject: [PATCH 175/353] x86/fpu: Disable preemption around local_bh_disable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c9d155d7360346edcfd997c4f8857013a8c93466
+Subject: [PATCH 175/354] x86/fpu: Disable preemption around local_bh_disable()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4dd3cc1c43c1bcc7763a2c7c010c40a76d292df8
__fpu__restore_sig() restores the content of the FPU state in the CPUs
and in order to avoid concurency it disbles BH. On !RT it also disables
diff --git a/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch b/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch
index 1b43d2cda..b4414d2f9 100644
--- a/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch
+++ b/debian/patches-rt/0176-fs-epoll-Do-not-disable-preemption-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 8 Jul 2011 16:35:35 +0200
-Subject: [PATCH 176/353] fs/epoll: Do not disable preemption on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ccbbabc4e09d6892351af5078f8d0992c4f33d98
+Subject: [PATCH 176/354] fs/epoll: Do not disable preemption on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5812793f2680e31a6631eb76d64b5faf489e8f43
ep_call_nested() takes a sleeping lock so we can't disable preemption.
The light version is enough since ep_call_nested() doesn't mind beeing
diff --git a/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch b/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch
index 40f9e89d5..77193bec5 100644
--- a/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch
+++ b/debian/patches-rt/0177-mm-vmalloc-Another-preempt-disable-region-which-suck.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 12 Jul 2011 11:39:36 +0200
-Subject: [PATCH 177/353] mm/vmalloc: Another preempt disable region which
+Subject: [PATCH 177/354] mm/vmalloc: Another preempt disable region which
sucks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0a630b63e6f1caa67f15cc0d7503c051b9d5bed5
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3fcab84b133f45d3c6ee9f2fa0e58448b73ceaf2
Avoid the preempt disable version of get_cpu_var(). The inner-lock should
provide enough serialisation.
diff --git a/debian/patches-rt/0178-block-mq-use-cpu_light.patch b/debian/patches-rt/0178-block-mq-use-cpu_light.patch
index 7516eb79c..c62fa8bf0 100644
--- a/debian/patches-rt/0178-block-mq-use-cpu_light.patch
+++ b/debian/patches-rt/0178-block-mq-use-cpu_light.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 9 Apr 2014 10:37:23 +0200
-Subject: [PATCH 178/353] block: mq: use cpu_light()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8c5e8c04bf7fb78a2af8e0a2f3aebdf9afb0e134
+Subject: [PATCH 178/354] block: mq: use cpu_light()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=372cc57310b011197a496c5069171575b8678e4f
there is a might sleep splat because get_cpu() disables preemption and
later we grab a lock. As a workaround for this we use get_cpu_light().
diff --git a/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch b/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch
index 51b6697fe..995996494 100644
--- a/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch
+++ b/debian/patches-rt/0179-block-mq-do-not-invoke-preempt_disable.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200
-Subject: [PATCH 179/353] block/mq: do not invoke preempt_disable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=653694f4e5539ad66c3c8094d1885337c2b9cb39
+Subject: [PATCH 179/354] block/mq: do not invoke preempt_disable()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=79747b5d405aba22927ec1f712a590812bd1d6a3
preempt_disable() and get_cpu() don't play well together with the sleeping
locks it tries to allocate later.
diff --git a/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch b/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch
index 20844564a..32774c77b 100644
--- a/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch
+++ b/debian/patches-rt/0180-block-mq-don-t-complete-requests-via-IPI.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 29 Jan 2015 15:10:08 +0100
-Subject: [PATCH 180/353] block/mq: don't complete requests via IPI
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ddc500f1fab91f0709b7c883b688b12a63366890
+Subject: [PATCH 180/354] block/mq: don't complete requests via IPI
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4de202ade1f83a61b9dea261de4a26ef31092cb5
The IPI runs in hardirq context and there are sleeping locks. This patch
moves the completion into a workqueue.
diff --git a/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch b/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch
index da3a64c76..6f27557bb 100644
--- a/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch
+++ b/debian/patches-rt/0181-md-raid5-Make-raid5_percpu-handling-RT-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 6 Apr 2010 16:51:31 +0200
-Subject: [PATCH 181/353] md: raid5: Make raid5_percpu handling RT aware
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6903e12a02cec96bb490da0d8a8dda162a457e14
+Subject: [PATCH 181/354] md: raid5: Make raid5_percpu handling RT aware
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a6fe116128639978d7c91654b6bf5aa0cc2054ce
__raid_run_ops() disables preemption with get_cpu() around the access
to the raid5_percpu variables. That causes scheduling while atomic
@@ -19,7 +19,7 @@ Tested-by: Udo van den Heuvel <udovdh@xs4all.nl>
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
-index 7eeae0301ccc..a93f05b9e3a2 100644
+index b98abe927d06..4363b0325b51 100644
--- a/drivers/md/raid5.c
+++ b/drivers/md/raid5.c
@@ -2070,8 +2070,9 @@ static void raid_run_ops(struct stripe_head *sh, unsigned long ops_request)
diff --git a/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch b/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch
index 2c469cd98..382f0f055 100644
--- a/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch
+++ b/debian/patches-rt/0182-rt-Introduce-cpu_chill.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 7 Mar 2012 20:51:03 +0100
-Subject: [PATCH 182/353] rt: Introduce cpu_chill()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b039ab1c70ccae3ab8d445c85aed514ac4bf63ca
+Subject: [PATCH 182/354] rt: Introduce cpu_chill()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=82c8b4098833aa717a4ef004ccf03e38df11f892
Retry loops on RT might loop forever when the modifying side was
preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill()
@@ -76,7 +76,7 @@ index b78bab4395d8..7c4bc414a504 100644
+
#endif /* defined(_LINUX_DELAY_H) */
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 4de39964594d..768de46dba6b 100644
+index 260487c89a14..0ab19aa36357 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1963,6 +1963,27 @@ COMPAT_SYSCALL_DEFINE2(nanosleep, struct compat_timespec __user *, rqtp,
diff --git a/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch b/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch
index accdab949..7ef1e813f 100644
--- a/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch
+++ b/debian/patches-rt/0183-hrtimer-Don-t-lose-state-in-cpu_chill.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Feb 2019 16:59:15 +0100
-Subject: [PATCH 183/353] hrtimer: Don't lose state in cpu_chill()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=721ff03f231a027cb0e48525bec4e1ecc07f0c86
+Subject: [PATCH 183/354] hrtimer: Don't lose state in cpu_chill()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b78f6c6c48e7f2394b77cdb736f146ea9f8b9ea6
In cpu_chill() the state is set to TASK_UNINTERRUPTIBLE and a timer is
programmed. On return the state is always TASK_RUNNING which means we
@@ -19,7 +19,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 768de46dba6b..aa208a350a3b 100644
+index 0ab19aa36357..983c29fe0ff7 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1971,15 +1971,18 @@ void cpu_chill(void)
diff --git a/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch b/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch
index 4b0927b0a..376cd7800 100644
--- a/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch
+++ b/debian/patches-rt/0184-hrtimer-cpu_chill-save-task-state-in-saved_state.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Feb 2019 12:31:10 +0100
-Subject: [PATCH 184/353] hrtimer: cpu_chill(): save task state in
+Subject: [PATCH 184/354] hrtimer: cpu_chill(): save task state in
->saved_state()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0b619882e45a08ee21433ecd2b74d06981e22414
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7eadb4d1ffee649bab16b22b7328d9fcbc5376ac
In the previous change I saved the current task state on stack. This was
bad because while the task is scheduled-out it might receive a wake-up.
@@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index aa208a350a3b..1992f107599e 100644
+index 983c29fe0ff7..8f315ad08cd1 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -1969,20 +1969,28 @@ COMPAT_SYSCALL_DEFINE2(nanosleep, struct compat_timespec __user *, rqtp,
diff --git a/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch b/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch
index 4ede7bb86..f028860fc 100644
--- a/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch
+++ b/debian/patches-rt/0185-block-blk-mq-move-blk_queue_usage_counter_release-in.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 13 Mar 2018 13:49:16 +0100
-Subject: [PATCH 185/353] block: blk-mq: move blk_queue_usage_counter_release()
+Subject: [PATCH 185/354] block: blk-mq: move blk_queue_usage_counter_release()
into process context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=598cc45494b90c42a2f400150aaa3164ae26236a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c68a5d1db635c5eaa207649a4331bf1a22061b88
| BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914
| in_atomic(): 1, irqs_disabled(): 0, pid: 255, name: kworker/u257:6
diff --git a/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch b/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch
index 2d9c8eeab..e98c9b60e 100644
--- a/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch
+++ b/debian/patches-rt/0186-block-Use-cpu_chill-for-retry-loops.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 20 Dec 2012 18:28:26 +0100
-Subject: [PATCH 186/353] block: Use cpu_chill() for retry loops
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=583684fb86328d92d6b173d67714e9560a07a940
+Subject: [PATCH 186/354] block: Use cpu_chill() for retry loops
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5f766c719ef5c289d94d119117d36b82f0901f86
Retry loops on RT might loop forever when the modifying side was
preempted. Steven also observed a live lock when there was a
diff --git a/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch b/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch
index d0965cbcd..b08525a8b 100644
--- a/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch
+++ b/debian/patches-rt/0187-fs-dcache-Use-cpu_chill-in-trylock-loops.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 7 Mar 2012 21:00:34 +0100
-Subject: [PATCH 187/353] fs: dcache: Use cpu_chill() in trylock loops
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=54fa302171c7878902ca36c506e0939142c4905d
+Subject: [PATCH 187/354] fs: dcache: Use cpu_chill() in trylock loops
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8d67bd1b8db1d9d56af792fc7904903578026f73
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
diff --git a/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch b/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch
index 0afbc3e71..c14608c3c 100644
--- a/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch
+++ b/debian/patches-rt/0188-net-Use-cpu_chill-instead-of-cpu_relax.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 7 Mar 2012 21:10:04 +0100
-Subject: [PATCH 188/353] net: Use cpu_chill() instead of cpu_relax()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e96b68e550cd4012674a63859f68d242b7dbf31c
+Subject: [PATCH 188/354] net: Use cpu_chill() instead of cpu_relax()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8531ec0fd1acd6c5810b1f7ee4780383546d616d
Retry loops on RT might loop forever when the modifying side was
preempted. Use cpu_chill() instead of cpu_relax() to let the system
@@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
-index aa12bee4133a..dd652eae83e3 100644
+index 377832981178..24e4026017ec 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -63,6 +63,7 @@
@@ -25,7 +25,7 @@ index aa12bee4133a..dd652eae83e3 100644
#include <linux/kmod.h>
#include <linux/slab.h>
#include <linux/vmalloc.h>
-@@ -668,7 +669,7 @@ static void prb_retire_rx_blk_timer_expired(struct timer_list *t)
+@@ -672,7 +673,7 @@ static void prb_retire_rx_blk_timer_expired(struct timer_list *t)
if (BLOCK_NUM_PKTS(pbd)) {
while (atomic_read(&pkc->blk_fill_in_prog)) {
/* Waiting for skb_copy_bits to finish... */
@@ -34,7 +34,7 @@ index aa12bee4133a..dd652eae83e3 100644
}
}
-@@ -930,7 +931,7 @@ static void prb_retire_current_block(struct tpacket_kbdq_core *pkc,
+@@ -934,7 +935,7 @@ static void prb_retire_current_block(struct tpacket_kbdq_core *pkc,
if (!(status & TP_STATUS_BLK_TMO)) {
while (atomic_read(&pkc->blk_fill_in_prog)) {
/* Waiting for skb_copy_bits to finish... */
diff --git a/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch b/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch
index e8ef46f68..38127dfde 100644
--- a/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch
+++ b/debian/patches-rt/0189-fs-dcache-use-swait_queue-instead-of-waitqueue.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Sep 2016 14:35:49 +0200
-Subject: [PATCH 189/353] fs/dcache: use swait_queue instead of waitqueue
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=61d4045b9c6beeffcdd2c05d35c3214d65c595ed
+Subject: [PATCH 189/354] fs/dcache: use swait_queue instead of waitqueue
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=68ab83929039c1bf3c95833d1055613830ef96fb
__d_lookup_done() invokes wake_up_all() while holding a hlist_bl_lock()
which disables preemption. As a workaround convert it to swait.
@@ -84,7 +84,7 @@ index 1ae163d54925..6e1c0b4c04f4 100644
hlist_bl_unlock(b);
INIT_HLIST_NODE(&dentry->d_u.d_alias);
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
-index 6098e0c7f87b..9ce28840684a 100644
+index 0e03adbcf942..68df4ac61c30 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -1234,7 +1234,7 @@ static int fuse_direntplus_link(struct file *file,
@@ -97,7 +97,7 @@ index 6098e0c7f87b..9ce28840684a 100644
if (!o->nodeid) {
/*
diff --git a/fs/namei.c b/fs/namei.c
-index 9e8fca598acc..277508fc3cbc 100644
+index 60b57e0bc174..219c3bd94a8f 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -1646,7 +1646,7 @@ static struct dentry *__lookup_slow(const struct qstr *name,
@@ -109,7 +109,7 @@ index 9e8fca598acc..277508fc3cbc 100644
/* Don't go there if it's already dead */
if (unlikely(IS_DEADDIR(inode)))
-@@ -3136,7 +3136,7 @@ static int lookup_open(struct nameidata *nd, struct path *path,
+@@ -3156,7 +3156,7 @@ static int lookup_open(struct nameidata *nd, struct path *path,
struct dentry *dentry;
int error, create_error = 0;
umode_t mode = op->mode;
@@ -163,7 +163,7 @@ index ce9100b5604d..839bfa76f41e 100644
status = -EBUSY;
spin_lock(&dentry->d_lock);
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index e3f10c110b74..accc230079bb 100644
+index 69f48794b550..26334fa56e18 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1889,7 +1889,7 @@ bool proc_fill_cache(struct file *file, struct dir_context *ctx,
diff --git a/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch b/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch
index 53e612863..c6ecccd8f 100644
--- a/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch
+++ b/debian/patches-rt/0190-workqueue-Use-normal-rcu.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 24 Jul 2013 15:26:54 +0200
-Subject: [PATCH 190/353] workqueue: Use normal rcu
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=37451e023726bbdd8de45fa86e8c5038be90e3ae
+Subject: [PATCH 190/354] workqueue: Use normal rcu
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f077c23964fda23dcb109b53b423ca1b8f512573
There is no need for sched_rcu. The undocumented reason why sched_rcu
is used is to avoid a few explicit rcu_read_lock()/unlock() pairs by
@@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 52 insertions(+), 43 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index 4ea2f7fd20ce..d002a0ab68d6 100644
+index 017939097451..8bd6fe347a32 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -128,7 +128,7 @@ enum {
@@ -107,7 +107,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
* read locked.
* If the pwq needs to be used beyond the locking in effect, the caller is
* responsible for guaranteeing that the pwq stays online.
-@@ -695,8 +695,8 @@ static struct pool_workqueue *get_work_pwq(struct work_struct *work)
+@@ -700,8 +700,8 @@ static struct pool_workqueue *get_work_pwq(struct work_struct *work)
* @work: the work item of interest
*
* Pools are created and destroyed under wq_pool_mutex, and allows read
@@ -118,7 +118,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
*
* All fields of the returned pool are accessible as long as the above
* mentioned locking is in effect. If the returned pool needs to be used
-@@ -1101,7 +1101,7 @@ static void put_pwq_unlocked(struct pool_workqueue *pwq)
+@@ -1104,7 +1104,7 @@ static void put_pwq_unlocked(struct pool_workqueue *pwq)
{
if (pwq) {
/*
@@ -127,7 +127,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
* following lock operations are safe.
*/
spin_lock_irq(&pwq->pool->lock);
-@@ -1229,6 +1229,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1232,6 +1232,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
if (!test_and_set_bit(WORK_STRUCT_PENDING_BIT, work_data_bits(work)))
return 0;
@@ -135,7 +135,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
/*
* The queueing is in progress, or it is already queued. Try to
* steal it from ->worklist without clearing WORK_STRUCT_PENDING.
-@@ -1267,10 +1268,12 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1270,10 +1271,12 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
set_work_pool_and_keep_pending(work, pool->id);
spin_unlock(&pool->lock);
@@ -148,7 +148,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
local_irq_restore(*flags);
if (work_is_canceling(work))
return -ENOENT;
-@@ -1383,6 +1386,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1386,6 +1389,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
if (unlikely(wq->flags & __WQ_DRAINING) &&
WARN_ON_ONCE(!is_chained_work(wq)))
return;
@@ -156,7 +156,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
retry:
/* pwq which will be used unless @work is executing elsewhere */
if (wq->flags & WQ_UNBOUND) {
-@@ -1441,10 +1445,8 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1444,10 +1448,8 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
/* pwq determined, queue */
trace_workqueue_queue_work(req_cpu, pwq, work);
@@ -169,7 +169,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
pwq->nr_in_flight[pwq->work_color]++;
work_flags = work_color_to_flags(pwq->work_color);
-@@ -1463,7 +1465,9 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1466,7 +1468,9 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
debug_work_activate(work);
insert_work(pwq, work, worklist, work_flags);
@@ -179,7 +179,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
}
/**
-@@ -2861,14 +2865,14 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
+@@ -2864,14 +2868,14 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
might_sleep();
@@ -197,7 +197,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
/* see the comment in try_to_grab_pending() with the same code */
pwq = get_work_pwq(work);
if (pwq) {
-@@ -2900,10 +2904,11 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
+@@ -2903,10 +2907,11 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
lock_map_acquire(&pwq->wq->lockdep_map);
lock_map_release(&pwq->wq->lockdep_map);
}
@@ -210,7 +210,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
return false;
}
-@@ -3348,7 +3353,7 @@ static void rcu_free_pool(struct rcu_head *rcu)
+@@ -3351,7 +3356,7 @@ static void rcu_free_pool(struct rcu_head *rcu)
* put_unbound_pool - put a worker_pool
* @pool: worker_pool to put
*
@@ -219,7 +219,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
* safe manner. get_unbound_pool() calls this function on its failure path
* and this function should be able to release pools which went through,
* successfully or not, init_worker_pool().
-@@ -3402,8 +3407,8 @@ static void put_unbound_pool(struct worker_pool *pool)
+@@ -3405,8 +3410,8 @@ static void put_unbound_pool(struct worker_pool *pool)
del_timer_sync(&pool->idle_timer);
del_timer_sync(&pool->mayday_timer);
@@ -230,7 +230,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
}
/**
-@@ -3516,14 +3521,14 @@ static void pwq_unbound_release_workfn(struct work_struct *work)
+@@ -3519,14 +3524,14 @@ static void pwq_unbound_release_workfn(struct work_struct *work)
put_unbound_pool(pool);
mutex_unlock(&wq_pool_mutex);
@@ -247,7 +247,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
}
/**
-@@ -4230,7 +4235,7 @@ void destroy_workqueue(struct workqueue_struct *wq)
+@@ -4233,7 +4238,7 @@ void destroy_workqueue(struct workqueue_struct *wq)
* The base ref is never dropped on per-cpu pwqs. Directly
* schedule RCU free.
*/
@@ -256,7 +256,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
} else {
/*
* We're the sole accessor of @wq at this point. Directly
-@@ -4340,7 +4345,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq)
+@@ -4343,7 +4348,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq)
struct pool_workqueue *pwq;
bool ret;
@@ -266,7 +266,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
if (cpu == WORK_CPU_UNBOUND)
cpu = smp_processor_id();
-@@ -4351,7 +4357,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq)
+@@ -4354,7 +4360,8 @@ bool workqueue_congested(int cpu, struct workqueue_struct *wq)
pwq = unbound_pwq_by_node(wq, cpu_to_node(cpu));
ret = !list_empty(&pwq->delayed_works);
@@ -276,7 +276,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
return ret;
}
-@@ -4377,15 +4384,15 @@ unsigned int work_busy(struct work_struct *work)
+@@ -4380,15 +4387,15 @@ unsigned int work_busy(struct work_struct *work)
if (work_pending(work))
ret |= WORK_BUSY_PENDING;
@@ -296,7 +296,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
return ret;
}
-@@ -4570,7 +4577,7 @@ void show_workqueue_state(void)
+@@ -4573,7 +4580,7 @@ void show_workqueue_state(void)
unsigned long flags;
int pi;
@@ -305,7 +305,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
pr_info("Showing busy workqueues and worker pools:\n");
-@@ -4635,7 +4642,7 @@ void show_workqueue_state(void)
+@@ -4638,7 +4645,7 @@ void show_workqueue_state(void)
touch_nmi_watchdog();
}
@@ -314,7 +314,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
}
/* used to show worker information through /proc/PID/{comm,stat,status} */
-@@ -5022,16 +5029,16 @@ bool freeze_workqueues_busy(void)
+@@ -5025,16 +5032,16 @@ bool freeze_workqueues_busy(void)
* nr_active is monotonically decreasing. It's safe
* to peek without lock.
*/
@@ -334,7 +334,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
}
out_unlock:
mutex_unlock(&wq_pool_mutex);
-@@ -5233,7 +5240,8 @@ static ssize_t wq_pool_ids_show(struct device *dev,
+@@ -5240,7 +5247,8 @@ static ssize_t wq_pool_ids_show(struct device *dev,
const char *delim = "";
int node, written = 0;
@@ -344,7 +344,7 @@ index 4ea2f7fd20ce..d002a0ab68d6 100644
for_each_node(node) {
written += scnprintf(buf + written, PAGE_SIZE - written,
"%s%d:%d", delim, node,
-@@ -5241,7 +5249,8 @@ static ssize_t wq_pool_ids_show(struct device *dev,
+@@ -5248,7 +5256,8 @@ static ssize_t wq_pool_ids_show(struct device *dev,
delim = " ";
}
written += scnprintf(buf + written, PAGE_SIZE - written, "\n");
diff --git a/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch b/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch
index afc96c299..e2b10051b 100644
--- a/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch
+++ b/debian/patches-rt/0191-workqueue-Use-local-irq-lock-instead-of-irq-disable-.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:42:26 +0200
-Subject: [PATCH 191/353] workqueue: Use local irq lock instead of irq disable
+Subject: [PATCH 191/354] workqueue: Use local irq lock instead of irq disable
regions
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f12d688441df0c1a59c7e65616a8a4eabe4d52c3
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c620d30a8ecfc1a79d34431f64defe6afa24bfb9
Use a local_irq_lock as a replacement for irq off regions. We keep the
semantic of irq-off in regard to the pool->lock and remain preemptible.
@@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 30 insertions(+), 15 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index d002a0ab68d6..3cf50eac5351 100644
+index 8bd6fe347a32..71afa2de6aba 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -50,6 +50,7 @@
@@ -33,7 +33,7 @@ index d002a0ab68d6..3cf50eac5351 100644
static int worker_thread(void *__worker);
static void workqueue_sysfs_unregister(struct workqueue_struct *wq);
-@@ -1104,9 +1107,11 @@ static void put_pwq_unlocked(struct pool_workqueue *pwq)
+@@ -1107,9 +1110,11 @@ static void put_pwq_unlocked(struct pool_workqueue *pwq)
* As both pwqs and pools are RCU protected, the
* following lock operations are safe.
*/
@@ -47,7 +47,7 @@ index d002a0ab68d6..3cf50eac5351 100644
}
}
-@@ -1210,7 +1215,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1213,7 +1218,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
struct worker_pool *pool;
struct pool_workqueue *pwq;
@@ -56,7 +56,7 @@ index d002a0ab68d6..3cf50eac5351 100644
/* try to steal the timer if it exists */
if (is_dwork) {
-@@ -1274,7 +1279,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1277,7 +1282,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
spin_unlock(&pool->lock);
fail:
rcu_read_unlock();
@@ -65,7 +65,7 @@ index d002a0ab68d6..3cf50eac5351 100644
if (work_is_canceling(work))
return -ENOENT;
cpu_relax();
-@@ -1379,7 +1384,13 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1382,7 +1387,13 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
* queued or lose PENDING. Grabbing PENDING and queueing should
* happen with IRQ disabled.
*/
@@ -79,7 +79,7 @@ index d002a0ab68d6..3cf50eac5351 100644
/* if draining, only works from the same workqueue are allowed */
-@@ -1487,14 +1498,14 @@ bool queue_work_on(int cpu, struct workqueue_struct *wq,
+@@ -1490,14 +1501,14 @@ bool queue_work_on(int cpu, struct workqueue_struct *wq,
bool ret = false;
unsigned long flags;
@@ -96,7 +96,7 @@ index d002a0ab68d6..3cf50eac5351 100644
return ret;
}
EXPORT_SYMBOL(queue_work_on);
-@@ -1503,8 +1514,11 @@ void delayed_work_timer_fn(struct timer_list *t)
+@@ -1506,8 +1517,11 @@ void delayed_work_timer_fn(struct timer_list *t)
{
struct delayed_work *dwork = from_timer(dwork, t, timer);
@@ -108,7 +108,7 @@ index d002a0ab68d6..3cf50eac5351 100644
}
EXPORT_SYMBOL(delayed_work_timer_fn);
-@@ -1559,14 +1573,14 @@ bool queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
+@@ -1562,14 +1576,14 @@ bool queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
unsigned long flags;
/* read the comment in __queue_work() */
@@ -125,7 +125,7 @@ index d002a0ab68d6..3cf50eac5351 100644
return ret;
}
EXPORT_SYMBOL(queue_delayed_work_on);
-@@ -1601,7 +1615,7 @@ bool mod_delayed_work_on(int cpu, struct workqueue_struct *wq,
+@@ -1604,7 +1618,7 @@ bool mod_delayed_work_on(int cpu, struct workqueue_struct *wq,
if (likely(ret >= 0)) {
__queue_delayed_work(cpu, wq, dwork, delay);
@@ -134,7 +134,7 @@ index d002a0ab68d6..3cf50eac5351 100644
}
/* -ENOENT from try_to_grab_pending() becomes %true */
-@@ -1612,11 +1626,12 @@ EXPORT_SYMBOL_GPL(mod_delayed_work_on);
+@@ -1615,11 +1629,12 @@ EXPORT_SYMBOL_GPL(mod_delayed_work_on);
static void rcu_work_rcufn(struct rcu_head *rcu)
{
struct rcu_work *rwork = container_of(rcu, struct rcu_work, rcu);
@@ -149,7 +149,7 @@ index d002a0ab68d6..3cf50eac5351 100644
}
/**
-@@ -3006,7 +3021,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork)
+@@ -3009,7 +3024,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork)
/* tell other tasks trying to grab @work to back off */
mark_work_canceling(work);
@@ -158,7 +158,7 @@ index d002a0ab68d6..3cf50eac5351 100644
/*
* This allows canceling during early boot. We know that @work
-@@ -3067,10 +3082,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync);
+@@ -3070,10 +3085,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync);
*/
bool flush_delayed_work(struct delayed_work *dwork)
{
@@ -171,7 +171,7 @@ index d002a0ab68d6..3cf50eac5351 100644
return flush_work(&dwork->work);
}
EXPORT_SYMBOL(flush_delayed_work);
-@@ -3108,7 +3123,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork)
+@@ -3111,7 +3126,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork)
return false;
set_work_pool_and_clear_pending(work, get_work_pool_id(work));
diff --git a/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch b/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch
index 4c6b7160c..cf1ea6812 100644
--- a/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch
+++ b/debian/patches-rt/0192-workqueue-Prevent-workqueue-versus-ata-piix-livelock.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 1 Jul 2013 11:02:42 +0200
-Subject: [PATCH 192/353] workqueue: Prevent workqueue versus ata-piix livelock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b9576dddf691d00fbd07ff2e92b503f25c4c2d58
+Subject: [PATCH 192/354] workqueue: Prevent workqueue versus ata-piix livelock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb198a2ba0d915ad966bcec1f40b15f824f64c6c
An Intel i7 system regularly detected rcu_preempt stalls after the kernel
was upgraded from 3.6-rt to 3.8-rt. When the stall happened, disk I/O was no
@@ -113,7 +113,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index 3cf50eac5351..50b037b79101 100644
+index 71afa2de6aba..a44e5c245276 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -51,6 +51,7 @@
@@ -124,7 +124,7 @@ index 3cf50eac5351..50b037b79101 100644
#include "workqueue_internal.h"
-@@ -1282,7 +1283,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1285,7 +1286,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
local_unlock_irqrestore(pendingb_lock, *flags);
if (work_is_canceling(work))
return -ENOENT;
diff --git a/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch b/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch
index d68e7c167..e71c1b480 100644
--- a/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch
+++ b/debian/patches-rt/0193-sched-Distangle-worker-accounting-from-rqlock.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 22 Jun 2011 19:47:03 +0200
-Subject: [PATCH 193/353] sched: Distangle worker accounting from rqlock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f51bb16041ffffd9adf703fde1245e9afda898b9
+Subject: [PATCH 193/354] sched: Distangle worker accounting from rqlock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7d6a23596c58f6835f693f56efda15aedfe2e48b
The worker accounting for cpu bound workers is plugged into the core
scheduler code and the wakeup code. This is not a hard requirement and
@@ -169,10 +169,10 @@ index 4a714c92dff2..20585605b2ac 100644
EXPORT_SYMBOL(schedule);
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index 50b037b79101..7561ac884a3e 100644
+index a44e5c245276..21751b94b93a 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
-@@ -844,43 +844,32 @@ static void wake_up_worker(struct worker_pool *pool)
+@@ -847,43 +847,32 @@ static void wake_up_worker(struct worker_pool *pool)
}
/**
@@ -227,7 +227,7 @@ index 50b037b79101..7561ac884a3e 100644
struct worker_pool *pool;
/*
-@@ -889,13 +878,15 @@ struct task_struct *wq_worker_sleeping(struct task_struct *task)
+@@ -892,13 +881,15 @@ struct task_struct *wq_worker_sleeping(struct task_struct *task)
* checking NOT_RUNNING.
*/
if (worker->flags & WORKER_NOT_RUNNING)
@@ -247,7 +247,7 @@ index 50b037b79101..7561ac884a3e 100644
/*
* The counterpart of the following dec_and_test, implied mb,
-@@ -909,9 +900,12 @@ struct task_struct *wq_worker_sleeping(struct task_struct *task)
+@@ -912,9 +903,12 @@ struct task_struct *wq_worker_sleeping(struct task_struct *task)
* lock is safe.
*/
if (atomic_dec_and_test(&pool->nr_running) &&
diff --git a/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch b/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch
index ec8411674..f05c8a424 100644
--- a/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch
+++ b/debian/patches-rt/0194-debugobjects-Make-RT-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 17 Jul 2011 21:41:35 +0200
-Subject: [PATCH 194/353] debugobjects: Make RT aware
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b56a11fdddede9388a998f84bc84f86f0ed9197e
+Subject: [PATCH 194/354] debugobjects: Make RT aware
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=752e1e6a5668d281e4d7fdeb624bcfa5e61264bd
Avoid filling the pool / allocating memory with irqs off().
@@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/debugobjects.c b/lib/debugobjects.c
-index 5f23d896df55..e486693aea49 100644
+index 62d095fd0c52..08c372c65d10 100644
--- a/lib/debugobjects.c
+++ b/lib/debugobjects.c
-@@ -466,7 +466,7 @@ static void debug_objects_fill_pool(void)
+@@ -475,7 +475,7 @@ static void debug_objects_fill_pool(void)
* On RT enabled kernels the pool refill must happen in preemptible
* context:
*/
diff --git a/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch b/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch
index 84e014caa..697f122f2 100644
--- a/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch
+++ b/debian/patches-rt/0195-seqlock-Prevent-rt-starvation.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 22 Feb 2012 12:03:30 +0100
-Subject: [PATCH 195/353] seqlock: Prevent rt starvation
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f274d1f15458bdf8a8f29a8e2e976e27ce2c1d93
+Subject: [PATCH 195/354] seqlock: Prevent rt starvation
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a3ba756f999110aa6ca549e1eaa5584bbd16c4ca
If a low prio writer gets preempted while holding the seqlock write
locked, a high prio reader spins forever on RT.
@@ -159,10 +159,10 @@ index a42a29952889..a3768cfce914 100644
}
diff --git a/include/net/neighbour.h b/include/net/neighbour.h
-index 5ce035984a4d..1166fc17b757 100644
+index e58ef9e338de..bd140597e068 100644
--- a/include/net/neighbour.h
+++ b/include/net/neighbour.h
-@@ -451,7 +451,7 @@ static inline int neigh_hh_bridge(struct hh_cache *hh, struct sk_buff *skb)
+@@ -444,7 +444,7 @@ static inline int neigh_hh_bridge(struct hh_cache *hh, struct sk_buff *skb)
}
#endif
@@ -171,7 +171,7 @@ index 5ce035984a4d..1166fc17b757 100644
{
unsigned int hh_alen = 0;
unsigned int seq;
-@@ -493,7 +493,7 @@ static inline int neigh_hh_output(const struct hh_cache *hh, struct sk_buff *skb
+@@ -486,7 +486,7 @@ static inline int neigh_hh_output(const struct hh_cache *hh, struct sk_buff *skb
static inline int neigh_output(struct neighbour *n, struct sk_buff *skb)
{
@@ -180,7 +180,7 @@ index 5ce035984a4d..1166fc17b757 100644
if ((n->nud_state & NUD_CONNECTED) && hh->hh_len)
return neigh_hh_output(hh, skb);
-@@ -534,7 +534,7 @@ struct neighbour_cb {
+@@ -527,7 +527,7 @@ struct neighbour_cb {
#define NEIGH_CB(skb) ((struct neighbour_cb *)(skb)->cb)
diff --git a/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch b/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch
index 483c54fad..b4e59cbc4 100644
--- a/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch
+++ b/debian/patches-rt/0196-sunrpc-Make-svc_xprt_do_enqueue-use-get_cpu_light.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Wed, 18 Feb 2015 16:05:28 +0100
-Subject: [PATCH 196/353] sunrpc: Make svc_xprt_do_enqueue() use
+Subject: [PATCH 196/354] sunrpc: Make svc_xprt_do_enqueue() use
get_cpu_light()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=250fbc3d90c6ccd11c5c1aec106882f031bccfa8
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=30de5199c391e2f9e845253c5287e3a46d588fc2
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:915
|in_atomic(): 1, irqs_disabled(): 0, pid: 3194, name: rpc.nfsd
diff --git a/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch b/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch
index 9ea8b1ddc..0a66ef1ac 100644
--- a/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch
+++ b/debian/patches-rt/0197-net-Use-skbufhead-with-raw-lock.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 12 Jul 2011 15:38:34 +0200
-Subject: [PATCH 197/353] net: Use skbufhead with raw lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=128030e2370b7b2d2b5607a2e95202392ae79eaa
+Subject: [PATCH 197/354] net: Use skbufhead with raw lock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ac48ebc6bbcdf2e311ceec73d31c14d14b172601
Use the rps lock as rawlock so we can keep irq-off regions. It looks low
latency. However we can't kfree() from this context therefore we defer this
@@ -15,10 +15,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
3 files changed, 28 insertions(+), 6 deletions(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index 4d0f48e74755..d3e4b3f195ff 100644
+index ac87fcc4d44b..77209c1c2e7e 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -2992,6 +2992,7 @@ struct softnet_data {
+@@ -2998,6 +2998,7 @@ struct softnet_data {
unsigned int dropped;
struct sk_buff_head input_pkt_queue;
struct napi_struct backlog;
@@ -52,7 +52,7 @@ index f97734f34746..3ede4f0eac10 100644
struct lock_class_key *class)
{
diff --git a/net/core/dev.c b/net/core/dev.c
-index 70a3cebdac89..7bce4581d6f0 100644
+index c6c45f663539..97c74c2e500e 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -219,14 +219,14 @@ static inline struct hlist_head *dev_index_hash(struct net *net, int ifindex)
@@ -72,7 +72,7 @@ index 70a3cebdac89..7bce4581d6f0 100644
#endif
}
-@@ -5862,7 +5862,9 @@ static int process_backlog(struct napi_struct *napi, int quota)
+@@ -5864,7 +5864,9 @@ static int process_backlog(struct napi_struct *napi, int quota)
while (again) {
struct sk_buff *skb;
@@ -82,7 +82,7 @@ index 70a3cebdac89..7bce4581d6f0 100644
rcu_read_lock();
__netif_receive_skb(skb);
rcu_read_unlock();
-@@ -5870,9 +5872,9 @@ static int process_backlog(struct napi_struct *napi, int quota)
+@@ -5872,9 +5874,9 @@ static int process_backlog(struct napi_struct *napi, int quota)
if (++work >= quota)
return work;
@@ -93,7 +93,7 @@ index 70a3cebdac89..7bce4581d6f0 100644
rps_lock(sd);
if (skb_queue_empty(&sd->input_pkt_queue)) {
/*
-@@ -6345,13 +6347,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h)
+@@ -6347,13 +6349,21 @@ static __latent_entropy void net_rx_action(struct softirq_action *h)
unsigned long time_limit = jiffies +
usecs_to_jiffies(READ_ONCE(netdev_budget_usecs));
int budget = READ_ONCE(netdev_budget);
@@ -115,7 +115,7 @@ index 70a3cebdac89..7bce4581d6f0 100644
for (;;) {
struct napi_struct *n;
-@@ -9549,10 +9559,13 @@ static int dev_cpu_dead(unsigned int oldcpu)
+@@ -9541,10 +9551,13 @@ static int dev_cpu_dead(unsigned int oldcpu)
netif_rx_ni(skb);
input_queue_head_incr(oldsd);
}
@@ -130,7 +130,7 @@ index 70a3cebdac89..7bce4581d6f0 100644
return 0;
}
-@@ -9863,8 +9876,9 @@ static int __init net_dev_init(void)
+@@ -9855,8 +9868,9 @@ static int __init net_dev_init(void)
INIT_WORK(flush, flush_backlog);
diff --git a/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch b/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch
index caf96c5f5..c4c909787 100644
--- a/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch
+++ b/debian/patches-rt/0198-net-move-xmit_recursion-to-per-task-variable-on-RT.patch
@@ -1,7 +1,7 @@
From: Clark Williams <williams@redhat.com>
Date: Fri, 17 Dec 2021 14:31:31 -0600
-Subject: [PATCH 198/353] net: move xmit_recursion to per-task variable on -RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9fcf3310d12df456718d378ff2826b302f35c28b
+Subject: [PATCH 198/354] net: move xmit_recursion to per-task variable on -RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f0c1a3fa8d4d3a2a90e975e9aa5dea6e7144a06b
A softirq on -RT can be preempted. That means one task is in
__dev_queue_xmit(), gets preempted and another task may enter
@@ -24,10 +24,10 @@ Signed-off-by: Clark Williams <williams@redhat.com>
3 files changed, 77 insertions(+), 3 deletions(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index d3e4b3f195ff..63a0574e2ac2 100644
+index 77209c1c2e7e..1644390430a3 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -590,7 +590,11 @@ struct netdev_queue {
+@@ -597,7 +597,11 @@ struct netdev_queue {
* write-mostly part
*/
spinlock_t _xmit_lock ____cacheline_aligned_in_smp;
@@ -39,7 +39,7 @@ index d3e4b3f195ff..63a0574e2ac2 100644
/*
* Time (in jiffies) of last Tx
*/
-@@ -3011,14 +3015,38 @@ static inline void input_queue_tail_incr_save(struct softnet_data *sd,
+@@ -3017,14 +3021,38 @@ static inline void input_queue_tail_incr_save(struct softnet_data *sd,
#endif
}
@@ -79,7 +79,7 @@ index d3e4b3f195ff..63a0574e2ac2 100644
static inline bool dev_xmit_recursion(void)
{
return unlikely(__this_cpu_read(softnet_data.xmit.recursion) >
-@@ -3034,6 +3062,7 @@ static inline void dev_xmit_recursion_dec(void)
+@@ -3040,6 +3068,7 @@ static inline void dev_xmit_recursion_dec(void)
{
__this_cpu_dec(softnet_data.xmit.recursion);
}
@@ -87,7 +87,7 @@ index d3e4b3f195ff..63a0574e2ac2 100644
void __netif_schedule(struct Qdisc *q);
void netif_schedule_queue(struct netdev_queue *txq);
-@@ -3843,6 +3872,44 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
+@@ -3849,6 +3878,44 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
return (1U << debug_value) - 1;
}
@@ -132,7 +132,7 @@ index d3e4b3f195ff..63a0574e2ac2 100644
static inline void __netif_tx_lock(struct netdev_queue *txq, int cpu)
{
spin_lock(&txq->_xmit_lock);
-@@ -3895,7 +3962,7 @@ static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
+@@ -3901,7 +3968,7 @@ static inline void __netif_tx_unlock_bh(struct netdev_queue *txq)
static inline void txq_trans_update(struct netdev_queue *txq)
{
@@ -156,7 +156,7 @@ index 3bc6b3206e14..7aa299de5ebf 100644
int pagefault_disabled;
#ifdef CONFIG_MMU
diff --git a/net/core/dev.c b/net/core/dev.c
-index 7bce4581d6f0..32e8b237496c 100644
+index 97c74c2e500e..01f06514aed9 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3837,10 +3837,14 @@ static int __dev_queue_xmit(struct sk_buff *skb, struct net_device *sb_dev)
@@ -174,7 +174,7 @@ index 7bce4581d6f0..32e8b237496c 100644
if (dev_xmit_recursion())
goto recursion_alert;
-@@ -8598,7 +8602,7 @@ static void netdev_init_one_queue(struct net_device *dev,
+@@ -8600,7 +8604,7 @@ static void netdev_init_one_queue(struct net_device *dev,
/* Initialize queue lock */
spin_lock_init(&queue->_xmit_lock);
netdev_set_xmit_lockdep_class(&queue->_xmit_lock, dev->type);
diff --git a/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch b/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch
index 4138baf8e..49def276f 100644
--- a/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch
+++ b/debian/patches-rt/0199-net-provide-a-way-to-delegate-processing-a-softirq-t.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 20 Jan 2016 15:39:05 +0100
-Subject: [PATCH 199/353] net: provide a way to delegate processing a softirq
+Subject: [PATCH 199/354] net: provide a way to delegate processing a softirq
to ksoftirqd
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=641249df860e32f2d7f64f5960c7eaa359ba7228
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fb1f8d10fb922529f1cb373bc3d13996917e6c52
If the NET_RX uses up all of his budget it moves the following NAPI
invocations into the `ksoftirqd`. On -RT it does not do so. Instead it
@@ -71,10 +71,10 @@ index 27a4bb2303d0..25bcf2f2714b 100644
* This function must run with irqs disabled!
*/
diff --git a/net/core/dev.c b/net/core/dev.c
-index 32e8b237496c..7a316f4ff13c 100644
+index 01f06514aed9..797f64ecc587 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -6395,7 +6395,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h)
+@@ -6397,7 +6397,7 @@ static __latent_entropy void net_rx_action(struct softirq_action *h)
list_splice_tail(&repoll, &list);
list_splice(&list, &sd->poll_list);
if (!list_empty(&sd->poll_list))
diff --git a/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch b/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
index 31ef66632..0b3c23de7 100644
--- a/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
+++ b/debian/patches-rt/0200-net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 30 Mar 2016 13:36:29 +0200
-Subject: [PATCH 200/353] net: dev: always take qdisc's busylock in
+Subject: [PATCH 200/354] net: dev: always take qdisc's busylock in
__dev_xmit_skb()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=07a4adaebe9b2f45b7f9e2a42138e8ca69d2aaeb
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=15bb3174f03ace026888081b3341bcc51443e15c
The root-lock is dropped before dev_hard_start_xmit() is invoked and after
setting the __QDISC___STATE_RUNNING bit. If this task is now pushed away
@@ -21,7 +21,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 4 insertions(+)
diff --git a/net/core/dev.c b/net/core/dev.c
-index 7a316f4ff13c..face03c32651 100644
+index 797f64ecc587..2c563e0f6955 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -3476,7 +3476,11 @@ static inline int __dev_xmit_skb(struct sk_buff *skb, struct Qdisc *q,
diff --git a/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch b/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch
index 1862aa862..e67d7cca6 100644
--- a/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch
+++ b/debian/patches-rt/0201-net-Qdisc-use-a-seqlock-instead-seqcount.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Sep 2016 17:36:35 +0200
-Subject: [PATCH 201/353] net/Qdisc: use a seqlock instead seqcount
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fec8c24ca8eae0c68bbd7edda06be39082985029
+Subject: [PATCH 201/354] net/Qdisc: use a seqlock instead seqcount
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d0f4cbf706e9a623aec379a6fec835c29d3feac7
The seqcount disables preemption on -RT while it is held which can't
remove. Also we don't want the reader to spin for ages if the writer is
@@ -241,10 +241,10 @@ index e2fd8baec65f..8bab88738691 100644
struct gnet_stats_basic_cpu __percpu *cpu,
struct gnet_stats_basic_packed *b)
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
-index 41c67cfd264f..61dd555e6c35 100644
+index ab57c0ee9923..90d7c875eaf3 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
-@@ -1195,7 +1195,7 @@ static struct Qdisc *qdisc_create(struct net_device *dev,
+@@ -1201,7 +1201,7 @@ static struct Qdisc *qdisc_create(struct net_device *dev,
rcu_assign_pointer(sch->stab, stab);
}
if (tca[TCA_RATE]) {
diff --git a/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch b/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch
index ccec0ae2d..215a223b9 100644
--- a/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch
+++ b/debian/patches-rt/0202-net-add-back-the-missing-serialization-in-ip_send_un.patch
@@ -1,11 +1,11 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 31 Aug 2016 17:21:56 +0200
-Subject: [PATCH 202/353] net: add back the missing serialization in
+Subject: [PATCH 202/354] net: add back the missing serialization in
ip_send_unicast_reply()
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=946961cab5d726a4f7915d9c76be44e043b4369b
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bab40aee8dfd99ba465c12713ac1eea34b69d87d
Some time ago Sami Pietikäinen reported a crash on -RT in
ip_send_unicast_reply() which was later fixed by Nicholas Mc Guire
diff --git a/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch b/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch
index d55749788..09d3228fd 100644
--- a/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch
+++ b/debian/patches-rt/0203-net-add-a-lock-around-icmp_sk.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 31 Aug 2016 17:54:09 +0200
-Subject: [PATCH 203/353] net: add a lock around icmp_sk()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c532906af442e35a3dd02bf538c432102b50cc63
+Subject: [PATCH 203/354] net: add a lock around icmp_sk()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=280a1e2774882bd9b04b8989380d85046f5d3da6
It looks like the this_cpu_ptr() access in icmp_sk() is protected with
local_bh_disable(). To avoid missing serialization in -RT I am adding
diff --git a/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch b/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch
index 43e8e3793..d787da14a 100644
--- a/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch
+++ b/debian/patches-rt/0204-net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch
@@ -1,8 +1,8 @@
From: Steven Rostedt <rostedt@goodmis.org>
Date: Tue, 6 Dec 2016 17:50:30 -0500
-Subject: [PATCH 204/353] net: Have __napi_schedule_irqoff() disable interrupts
+Subject: [PATCH 204/354] net: Have __napi_schedule_irqoff() disable interrupts
on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=be0d623b9eb2bb8865429d5196103ee6dea04611
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5b01cd8898158a9ed0b54e85ca8642fe3fd17b27
A customer hit a crash where the napi sd->poll_list became corrupted.
The customer had the bnx2x driver, which does a
@@ -28,10 +28,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2 files changed, 14 insertions(+)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index 63a0574e2ac2..086cd650f555 100644
+index 1644390430a3..821337d81da2 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -425,7 +425,19 @@ typedef enum rx_handler_result rx_handler_result_t;
+@@ -432,7 +432,19 @@ typedef enum rx_handler_result rx_handler_result_t;
typedef rx_handler_result_t rx_handler_func_t(struct sk_buff **pskb);
void __napi_schedule(struct napi_struct *n);
@@ -52,10 +52,10 @@ index 63a0574e2ac2..086cd650f555 100644
static inline bool napi_disable_pending(struct napi_struct *n)
{
diff --git a/net/core/dev.c b/net/core/dev.c
-index face03c32651..209d15808646 100644
+index 2c563e0f6955..cd270a6c0f46 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -5957,6 +5957,7 @@ bool napi_schedule_prep(struct napi_struct *n)
+@@ -5959,6 +5959,7 @@ bool napi_schedule_prep(struct napi_struct *n)
}
EXPORT_SYMBOL(napi_schedule_prep);
@@ -63,7 +63,7 @@ index face03c32651..209d15808646 100644
/**
* __napi_schedule_irqoff - schedule for receive
* @n: entry to schedule
-@@ -5975,6 +5976,7 @@ void __napi_schedule_irqoff(struct napi_struct *n)
+@@ -5977,6 +5978,7 @@ void __napi_schedule_irqoff(struct napi_struct *n)
__napi_schedule(n);
}
EXPORT_SYMBOL(__napi_schedule_irqoff);
diff --git a/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch b/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch
index 2a1aafa6b..1d1873aa3 100644
--- a/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch
+++ b/debian/patches-rt/0205-irqwork-push-most-work-into-softirq-context.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 23 Jun 2015 15:32:51 +0200
-Subject: [PATCH 205/353] irqwork: push most work into softirq context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c11f2c43e5bc12c20b6e8179f771e3b40a60d4d3
+Subject: [PATCH 205/354] irqwork: push most work into softirq context
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c6b1607475d4cf0886055d4d8275d94053a4eb16
Initially we defered all irqwork into softirq because we didn't want the
latency spikes if perf or another user was busy and delayed the RT task.
diff --git a/debian/patches-rt/0206-printk-Make-rt-aware.patch b/debian/patches-rt/0206-printk-Make-rt-aware.patch
index 6ca2b29cb..4a69340e3 100644
--- a/debian/patches-rt/0206-printk-Make-rt-aware.patch
+++ b/debian/patches-rt/0206-printk-Make-rt-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 19 Sep 2012 14:50:37 +0200
-Subject: [PATCH 206/353] printk: Make rt aware
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2ca530b3ca6f68800d3328ff5683b171fdc02c0d
+Subject: [PATCH 206/354] printk: Make rt aware
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=989c0b0f60d5d64106b7f95dfb5d5645c6c72f5b
Drop the lock before calling the console driver and do not disable
interrupts while printing to a serial console.
diff --git a/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch b/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch
index 2eafd4c58..1d6c62dc8 100644
--- a/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch
+++ b/debian/patches-rt/0207-kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 19 May 2016 17:45:27 +0200
-Subject: [PATCH 207/353] kernel/printk: Don't try to print from IRQ/NMI region
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=34eed687e22358b9b77ca0faa44c2d356c421b59
+Subject: [PATCH 207/354] kernel/printk: Don't try to print from IRQ/NMI region
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=26e8a12252345b8143e68679e2761db4ab19ad5c
On -RT we try to acquire sleeping locks which might lead to warnings
from lockdep or a warn_on() from spin_try_lock() (which is a rtmutex on
diff --git a/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch b/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch
index e117a9d89..8dce77125 100644
--- a/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch
+++ b/debian/patches-rt/0208-printk-Drop-the-logbuf_lock-more-often.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Mar 2013 19:01:05 +0100
-Subject: [PATCH 208/353] printk: Drop the logbuf_lock more often
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e5d3731456da72b3ea25aed4f5e169050d4be6ff
+Subject: [PATCH 208/354] printk: Drop the logbuf_lock more often
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8fe31fb97da77ab275535360d70b086303fd425d
The lock is hold with irgs off. The latency drops 500us+ on my arm bugs
with a "full" buffer after executing "dmesg" on the shell.
diff --git a/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch b/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch
index 616080edd..1a59ff8f6 100644
--- a/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch
+++ b/debian/patches-rt/0209-ARM-enable-irq-in-translation-section-permission-fau.patch
@@ -1,11 +1,11 @@
From: "Yadi.hu" <yadi.hu@windriver.com>
Date: Wed, 10 Dec 2014 10:32:09 +0800
-Subject: [PATCH 209/353] ARM: enable irq in translation/section permission
+Subject: [PATCH 209/354] ARM: enable irq in translation/section permission
fault handlers
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=934c8796b262e3cdce988bb5780874a78e8d023e
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea727030ccc8a82d7445e2bdced527796f9966f9
Probably happens on all ARM, with
CONFIG_PREEMPT_RT_FULL
diff --git a/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch b/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch
index fa0d2dee0..6cc82a89f 100644
--- a/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch
+++ b/debian/patches-rt/0210-genirq-update-irq_set_irqchip_state-documentation.patch
@@ -1,7 +1,7 @@
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 11 Feb 2016 11:54:00 -0600
-Subject: [PATCH 210/353] genirq: update irq_set_irqchip_state documentation
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=02c452a7c85dde40bbf980013c32089cd9009a7b
+Subject: [PATCH 210/354] genirq: update irq_set_irqchip_state documentation
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f9d2bf702086e94b24cbd77e8d8319a789331cdd
On -rt kernels, the use of migrate_disable()/migrate_enable() is
sufficient to guarantee a task isn't moved to another CPU. Update the
diff --git a/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch b/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch
index 5dd50c842..9de8e02b7 100644
--- a/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch
+++ b/debian/patches-rt/0211-KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch
@@ -1,8 +1,8 @@
From: Josh Cartwright <joshc@ni.com>
Date: Thu, 11 Feb 2016 11:54:01 -0600
-Subject: [PATCH 211/353] KVM: arm/arm64: downgrade preempt_disable()d region
+Subject: [PATCH 211/354] KVM: arm/arm64: downgrade preempt_disable()d region
to migrate_disable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dcfba66a472f5d394a35d873563feccbf1ebde61
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4de46cf26e5e5ad6ea2ccc1673516999ecf58c42
kvm_arch_vcpu_ioctl_run() disables the use of preemption when updating
the vgic and timer states to prevent the calling task from migrating to
diff --git a/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch b/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
index cb7c0e1ff..3b4f2fb38 100644
--- a/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
+++ b/debian/patches-rt/0212-arm64-fpsimd-use-preemp_disable-in-addition-to-local.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 25 Jul 2018 14:02:38 +0200
-Subject: [PATCH 212/353] arm64: fpsimd: use preemp_disable in addition to
+Subject: [PATCH 212/354] arm64: fpsimd: use preemp_disable in addition to
local_bh_disable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=beea622c8b43d003ebb7013eaaeb2c68e8a514e3
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4af86cd79bc5096f07fc7bb8fcb3aef2c1538510
In v4.16-RT I noticed a number of warnings from task_fpsimd_load(). The
code disables BH and expects that it is not preemptible. On -RT the
diff --git a/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch b/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch
index 034c1b771..9980f7aa1 100644
--- a/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch
+++ b/debian/patches-rt/0213-kgdb-serial-Short-term-workaround.patch
@@ -1,7 +1,7 @@
From: Jason Wessel <jason.wessel@windriver.com>
Date: Thu, 28 Jul 2011 12:42:23 -0500
-Subject: [PATCH 213/353] kgdb/serial: Short term workaround
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1f05b193f51153e127f1d580cf9e2cac17c6a9e7
+Subject: [PATCH 213/354] kgdb/serial: Short term workaround
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1e51a694f26dd31ba81cff7eb578c548a15c1ae
On 07/27/2011 04:37 PM, Thomas Gleixner wrote:
> - KGDB (not yet disabled) is reportedly unusable on -rt right now due
@@ -24,7 +24,7 @@ Jason.
3 files changed, 7 insertions(+)
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
-index af7df5ca17a5..214818b7242d 100644
+index 766bdb1717d5..7ab066606b25 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -32,6 +32,7 @@
@@ -35,7 +35,7 @@ index af7df5ca17a5..214818b7242d 100644
#include <linux/uaccess.h>
#include <linux/pm_runtime.h>
#include <linux/ktime.h>
-@@ -3318,6 +3319,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
+@@ -3317,6 +3318,8 @@ void serial8250_console_write(struct uart_8250_port *up, const char *s,
if (port->sysrq || oops_in_progress)
locked = 0;
diff --git a/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch b/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch
index 9cb414805..a2e61ef45 100644
--- a/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch
+++ b/debian/patches-rt/0214-sysfs-Add-sys-kernel-realtime-entry.patch
@@ -1,7 +1,7 @@
From: Clark Williams <williams@redhat.com>
Date: Sat, 30 Jul 2011 21:55:53 -0500
-Subject: [PATCH 214/353] sysfs: Add /sys/kernel/realtime entry
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=63cdf57144587bc178a94170e17c65477542af67
+Subject: [PATCH 214/354] sysfs: Add /sys/kernel/realtime entry
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c2360b6e369d7b39fd52d9d2fa1e9aa9df9f829d
Add a /sys/kernel entry to indicate that the kernel is a
realtime kernel.
diff --git a/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch b/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch
index 1a444d7b5..c750c92b7 100644
--- a/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch
+++ b/debian/patches-rt/0215-mm-rt-kmap_atomic-scheduling.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Thu, 28 Jul 2011 10:43:51 +0200
-Subject: [PATCH 215/353] mm, rt: kmap_atomic scheduling
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c3be727a86e41a0f4aba7f5030c288587ce649e6
+Subject: [PATCH 215/354] mm, rt: kmap_atomic scheduling
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e13b8e11be58c0c5c8fc50de9e96805c321f88db
In fact, with migrate_disable() existing one could play games with
kmap_atomic. You could save/restore the kmap_atomic slots on context
diff --git a/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch b/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch
index e60ea7966..06aae49a1 100644
--- a/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch
+++ b/debian/patches-rt/0216-x86-highmem-Add-a-already-used-pte-check.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Mar 2013 17:09:55 +0100
-Subject: [PATCH 216/353] x86/highmem: Add a "already used pte" check
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5900bcb024e34c92c262f0614b159d5d17abcc49
+Subject: [PATCH 216/354] x86/highmem: Add a "already used pte" check
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e457740efed6fff0678501ec114d5b31f5a4e9e4
This is a copy from kmap_atomic_prot().
diff --git a/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch b/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch
index ca88b9752..2272860bf 100644
--- a/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch
+++ b/debian/patches-rt/0217-arm-highmem-Flush-tlb-on-unmap.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 11 Mar 2013 21:37:27 +0100
-Subject: [PATCH 217/353] arm/highmem: Flush tlb on unmap
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aa0deea1ec74cc60877cfc0ba29d1912148efec1
+Subject: [PATCH 217/354] arm/highmem: Flush tlb on unmap
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fa8f2bb04b200fb53602b533e095d0aa0cf5fe01
The tlb should be flushed on unmap and thus make the mapping entry
invalid. This is only done in the non-debug case which does not look
diff --git a/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch b/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch
index 67763f9da..0af86d7c8 100644
--- a/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch
+++ b/debian/patches-rt/0218-arm-Enable-highmem-for-rt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 13 Feb 2013 11:03:11 +0100
-Subject: [PATCH 218/353] arm: Enable highmem for rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=97b385d587e0dd9f8d6413c6d2d0165685d55640
+Subject: [PATCH 218/354] arm: Enable highmem for rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2bd0467b8b04336d68eef05d01697c63805df8c4
fixup highmem for ARM.
diff --git a/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch b/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch
index dcc450382..d16735bdc 100644
--- a/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch
+++ b/debian/patches-rt/0219-scsi-fcoe-Make-RT-aware.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sat, 12 Nov 2011 14:00:48 +0100
-Subject: [PATCH 219/353] scsi/fcoe: Make RT aware.
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e7bb0107ed0c1ebc7b826f9a256cf992e73bda72
+Subject: [PATCH 219/354] scsi/fcoe: Make RT aware.
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c1cb9f2990ed6cea247ab6b0c7bfafdf32dacc07
Do not disable preemption while taking sleeping locks. All user look safe
for migrate_diable() only.
@@ -72,10 +72,10 @@ index c5c4805435f6..4316a451c67d 100644
}
diff --git a/drivers/scsi/fcoe/fcoe_ctlr.c b/drivers/scsi/fcoe/fcoe_ctlr.c
-index 1e087a206f48..27624aac530f 100644
+index c49986eba47b..df686ef0fd82 100644
--- a/drivers/scsi/fcoe/fcoe_ctlr.c
+++ b/drivers/scsi/fcoe/fcoe_ctlr.c
-@@ -838,7 +838,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
+@@ -840,7 +840,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
INIT_LIST_HEAD(&del_list);
@@ -84,7 +84,7 @@ index 1e087a206f48..27624aac530f 100644
list_for_each_entry_safe(fcf, next, &fip->fcfs, list) {
deadline = fcf->time + fcf->fka_period + fcf->fka_period / 2;
-@@ -874,7 +874,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
+@@ -876,7 +876,7 @@ static unsigned long fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
sel_time = fcf->time;
}
}
diff --git a/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch b/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch
index d87440f95..c1fa98096 100644
--- a/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch
+++ b/debian/patches-rt/0220-x86-crypto-Reduce-preempt-disabled-regions.patch
@@ -1,7 +1,7 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 14 Nov 2011 18:19:27 +0100
-Subject: [PATCH 220/353] x86: crypto: Reduce preempt disabled regions
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b7f408d9b616faf238404b1480331aac3022e672
+Subject: [PATCH 220/354] x86: crypto: Reduce preempt disabled regions
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=679110a6cd89bfb72ca601bad4cc399bcfa72fcc
Restrict the preempt disabled regions to the actual floating point
operations and enable preemption for the administrative actions.
diff --git a/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch b/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch
index 99fa53916..58b13efa5 100644
--- a/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch
+++ b/debian/patches-rt/0221-crypto-Reduce-preempt-disabled-regions-more-algos.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Feb 2014 17:24:04 +0100
-Subject: [PATCH 221/353] crypto: Reduce preempt disabled regions, more algos
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=187af5ffa27f473e5ed6ac444fa6aed6487537ce
+Subject: [PATCH 221/354] crypto: Reduce preempt disabled regions, more algos
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0dc4bb0d8f3f27f483b63cc5b0f236d42c1477fd
Don Estabrook reported
| kernel: WARNING: CPU: 2 PID: 858 at kernel/sched/core.c:2428 migrate_disable+0xed/0x100()
diff --git a/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch b/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch
index 368f34074..cf66afc04 100644
--- a/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch
+++ b/debian/patches-rt/0222-crypto-limit-more-FPU-enabled-sections.patch
@@ -1,10 +1,10 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 30 Nov 2017 13:40:10 +0100
-Subject: [PATCH 222/353] crypto: limit more FPU-enabled sections
+Subject: [PATCH 222/354] crypto: limit more FPU-enabled sections
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4a64bee262410671ecf46e1d41ed29e91fe1ecaf
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=39d1465173baadad8ba1467b1f4b4ba1d6437939
Those crypto drivers use SSE/AVX/… for their crypto work and in order to
do so in kernel they need to enable the "FPU" in kernel mode which
diff --git a/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch b/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch
index 4bd49b8ae..4ba4a8f6e 100644
--- a/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch
+++ b/debian/patches-rt/0223-crypto-scompress-serialize-RT-percpu-scratch-buffer-.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <efault@gmx.de>
Date: Wed, 11 Jul 2018 17:14:47 +0200
-Subject: [PATCH 223/353] crypto: scompress - serialize RT percpu scratch
+Subject: [PATCH 223/354] crypto: scompress - serialize RT percpu scratch
buffer access with a local lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cdf7ff5e219e39c4dc6a7183c2803106be5dcb02
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cb2a08d41c3456049f5bc307ab6b57cbe87fb27a
| BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:974
| in_atomic(): 1, irqs_disabled(): 0, pid: 1401, name: cryptomgr_test
diff --git a/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch b/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch
index ec84a2721..d0b929648 100644
--- a/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch
+++ b/debian/patches-rt/0224-crypto-cryptd-add-a-lock-instead-preempt_disable-loc.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 26 Jul 2018 18:52:00 +0200
-Subject: [PATCH 224/353] crypto: cryptd - add a lock instead
+Subject: [PATCH 224/354] crypto: cryptd - add a lock instead
preempt_disable/local_bh_disable
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2c396da73e8a6a42ae9a68df15cbf94588c9798c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8e632c5cf2eb468ed6c74cd1e7992e3d51dfea47
cryptd has a per-CPU lock which protected with local_bh_disable() and
preempt_disable().
diff --git a/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch b/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch
index f0a2c5993..3b54d1f5f 100644
--- a/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch
+++ b/debian/patches-rt/0225-panic-skip-get_random_bytes-for-RT_FULL-in-init_oops.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 14 Jul 2015 14:26:34 +0200
-Subject: [PATCH 225/353] panic: skip get_random_bytes for RT_FULL in
+Subject: [PATCH 225/354] panic: skip get_random_bytes for RT_FULL in
init_oops_id
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0c487331a7bef1368299aed221809e4a8a0f051f
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7dd5b80bbfca25a4215c5570ac68f7842ff3fc69
Disable on -RT. If this is invoked from irq-context we will have problems
to acquire the sleeping lock.
diff --git a/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch b/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch
index 5c98a7326..277a46f37 100644
--- a/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch
+++ b/debian/patches-rt/0226-x86-stackprotector-Avoid-random-pool-on-rt.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 16 Dec 2010 14:25:18 +0100
-Subject: [PATCH 226/353] x86: stackprotector: Avoid random pool on rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1e5f4efc051fbe311c2d390c24fbf766637629c8
+Subject: [PATCH 226/354] x86: stackprotector: Avoid random pool on rt
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a65bc36ee80ef38869b199444d4ad958caefa1de
CPU bringup calls into the random pool to initialize the stack
canary. During boot that works nicely even on RT as the might sleep
diff --git a/debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch b/debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch
index 9f9d237db..438483853 100644
--- a/debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch
+++ b/debian/patches-rt/0227-cpu-hotplug-Implement-CPU-pinning.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 19 Jul 2017 17:31:20 +0200
-Subject: [PATCH 227/353] cpu/hotplug: Implement CPU pinning
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=44cbff5086ce5b39e85daacd494f6d5324fad422
+Subject: [PATCH 227/354] cpu/hotplug: Implement CPU pinning
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3332bcb6539fd31588bc3c1c691a8e78b2a0083c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
@@ -22,7 +22,7 @@ index b32eb75dd73b..19eb4838cf03 100644
int migrate_disable_atomic;
# endif
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index f4c49bbc3fa3..56cb58fce84c 100644
+index b25993345ea6..97d5f24fa435 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -78,6 +78,11 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = {
diff --git a/debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch b/debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch
index cf68e45b5..998306982 100644
--- a/debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch
+++ b/debian/patches-rt/0228-sched-Allow-pinned-user-tasks-to-be-awakened-to-the-.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <efault@gmx.de>
Date: Sun, 19 Aug 2018 08:28:35 +0200
-Subject: [PATCH 228/353] sched: Allow pinned user tasks to be awakened to the
+Subject: [PATCH 228/354] sched: Allow pinned user tasks to be awakened to the
CPU they pinned
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=56987c491a72d184677be3667a26f9227563bba6
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=38cd7a53efab921d02e62d5abc9bbb30286b5e2b
Since commit 7af443ee16976 ("sched/core: Require cpu_active() in
select_task_rq(), for user tasks") select_fallback_rq() will BUG() if
diff --git a/debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch b/debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch
index 93a807011..cacc7825f 100644
--- a/debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch
+++ b/debian/patches-rt/0229-hotplug-duct-tape-RT-rwlock-usage-for-non-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 4 Aug 2017 18:31:00 +0200
-Subject: [PATCH 229/353] hotplug: duct-tape RT-rwlock usage for non-RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7ae887b25fab969ed4ef6e13d9fe4180f7bcf1ca
+Subject: [PATCH 229/354] hotplug: duct-tape RT-rwlock usage for non-RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=821ee7012851443150f058ee24efe13f6bb4e00d
This type is only available on -RT. We need to craft something for
non-RT. Since the only migrate_disable() user is -RT only, there is no
@@ -13,7 +13,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index 56cb58fce84c..6ae5b18bf3a5 100644
+index 97d5f24fa435..605276e96143 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -78,7 +78,7 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = {
diff --git a/debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch b/debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch
index b0b267424..7a336d16a 100644
--- a/debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch
+++ b/debian/patches-rt/0230-net-Remove-preemption-disabling-in-netif_rx.patch
@@ -1,7 +1,7 @@
From: Priyanka Jain <Priyanka.Jain@freescale.com>
Date: Thu, 17 May 2012 09:35:11 +0530
-Subject: [PATCH 230/353] net: Remove preemption disabling in netif_rx()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e78188710318015f790503e2e67d09b0ee2edfcf
+Subject: [PATCH 230/354] net: Remove preemption disabling in netif_rx()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=66277e014d40db0577c37eaf1c7f27aa8e9e96fd
1)enqueue_to_backlog() (called from netif_rx) should be
bind to a particluar CPU. This can be achieved by
@@ -35,10 +35,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/net/core/dev.c b/net/core/dev.c
-index 209d15808646..1fb0a5340e94 100644
+index cd270a6c0f46..579fd24318ba 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -4498,7 +4498,7 @@ static int netif_rx_internal(struct sk_buff *skb)
+@@ -4500,7 +4500,7 @@ static int netif_rx_internal(struct sk_buff *skb)
struct rps_dev_flow voidflow, *rflow = &voidflow;
int cpu;
@@ -47,7 +47,7 @@ index 209d15808646..1fb0a5340e94 100644
rcu_read_lock();
cpu = get_rps_cpu(skb->dev, skb, &rflow);
-@@ -4508,14 +4508,14 @@ static int netif_rx_internal(struct sk_buff *skb)
+@@ -4510,14 +4510,14 @@ static int netif_rx_internal(struct sk_buff *skb)
ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail);
rcu_read_unlock();
diff --git a/debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch b/debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch
index 7b7ae5f83..59b58393b 100644
--- a/debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch
+++ b/debian/patches-rt/0231-net-Another-local_irq_disable-kmalloc-headache.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 26 Sep 2012 16:21:08 +0200
-Subject: [PATCH 231/353] net: Another local_irq_disable/kmalloc headache
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3867697d62230796c70714c4e8d81e71625d80ae
+Subject: [PATCH 231/354] net: Another local_irq_disable/kmalloc headache
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fc469f3cfe9e53f50d01ca47215ef170b0c9d282
Replace it by a local lock. Though that's pretty inefficient :(
@@ -11,7 +11,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index b7314a6cf8c2..c7d1f0c81c97 100644
+index e03cd719b86b..3a0f92e2e7de 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -63,6 +63,7 @@
diff --git a/debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch b/debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch
index 91d964093..828a9c16e 100644
--- a/debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch
+++ b/debian/patches-rt/0232-net-core-protect-users-of-napi_alloc_cache-against-r.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 15 Jan 2016 16:33:34 +0100
-Subject: [PATCH 232/353] net/core: protect users of napi_alloc_cache against
+Subject: [PATCH 232/354] net/core: protect users of napi_alloc_cache against
reentrance
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dc5ea742864b9a2748639c80614d47e6e6484b34
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=98dd65dc1537ab5f1b3e12381502c5febf673c5c
On -RT the code running in BH can not be moved to another CPU so CPU
local variable remain local. However the code can be preempted
@@ -17,7 +17,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
-index c7d1f0c81c97..d3706fa458a5 100644
+index 3a0f92e2e7de..28161e1c33cc 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -332,6 +332,7 @@ struct napi_alloc_cache {
diff --git a/debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch b/debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch
index 90b2c493f..1204c032d 100644
--- a/debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch
+++ b/debian/patches-rt/0233-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Sun, 28 Oct 2012 11:18:08 +0100
-Subject: [PATCH 233/353] net: netfilter: Serialize xt_write_recseq sections on
+Subject: [PATCH 233/354] net: netfilter: Serialize xt_write_recseq sections on
RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e76817dc5bdd2d6f035635f97eaf654f7a2a7a8c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=251bf58c5997c5f2cf7c27f941f89a74d8620722
The netfilter code relies only on the implicit semantics of
local_bh_disable() for serializing wt_write_recseq sections. RT breaks
@@ -55,7 +55,7 @@ index 0ade4d1e4dd9..3e21ce64ce54 100644
/*
diff --git a/net/netfilter/core.c b/net/netfilter/core.c
-index 722d1b057f61..5b8ebd8abcb0 100644
+index 0c6540780cb4..937363a528da 100644
--- a/net/netfilter/core.c
+++ b/net/netfilter/core.c
@@ -20,6 +20,7 @@
diff --git a/debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch b/debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch
index 57ad16162..4ee5efeca 100644
--- a/debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch
+++ b/debian/patches-rt/0234-lockdep-selftest-Only-do-hardirq-context-test-for-ra.patch
@@ -1,8 +1,8 @@
From: Yong Zhang <yong.zhang@windriver.com>
Date: Mon, 16 Apr 2012 15:01:56 +0800
-Subject: [PATCH 234/353] lockdep: selftest: Only do hardirq context test for
+Subject: [PATCH 234/354] lockdep: selftest: Only do hardirq context test for
raw spinlock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d2e4c16601ca6e9890cac6bf92cc92dbe5fa6175
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=606b7870906064a803bbe45f27b139e89c4e9e80
On -rt there is no softirq context any more and rwlock is sleepable,
disable softirq context test and rwlock+irq test.
diff --git a/debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch b/debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch
index c4e80691c..406dc808f 100644
--- a/debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch
+++ b/debian/patches-rt/0235-lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch
@@ -1,8 +1,8 @@
From: Josh Cartwright <josh.cartwright@ni.com>
Date: Wed, 28 Jan 2015 13:08:45 -0600
-Subject: [PATCH 235/353] lockdep: selftest: fix warnings due to missing
+Subject: [PATCH 235/354] lockdep: selftest: fix warnings due to missing
PREEMPT_RT conditionals
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2452260ecc7926026432821df728b508592d226b
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=999d90ceb93214b5290f3422d123dfc6dff86c60
"lockdep: Selftest: Only do hardirq context test for raw spinlock"
disabled the execution of certain tests with PREEMPT_RT_FULL, but did
diff --git a/debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch b/debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch
index 200adb4ca..bb989798a 100644
--- a/debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch
+++ b/debian/patches-rt/0236-sched-Add-support-for-lazy-preemption.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 26 Oct 2012 18:50:54 +0100
-Subject: [PATCH 236/353] sched: Add support for lazy preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=091e3b619256c38a1ca8760bea7e44d40b465fef
+Subject: [PATCH 236/354] sched: Add support for lazy preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ec120f921bf1ff7f3d689a805e139127117b89a1
It has become an obsession to mitigate the determinism vs. throughput
loss of RT. Looking at the mainline semantics of preemption points
@@ -69,7 +69,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
13 files changed, 228 insertions(+), 29 deletions(-)
diff --git a/include/linux/preempt.h b/include/linux/preempt.h
-index ed8413e7140f..9c74a019bf57 100644
+index 302f491b05ec..29ecd13afdda 100644
--- a/include/linux/preempt.h
+++ b/include/linux/preempt.h
@@ -180,6 +180,20 @@ extern void preempt_count_sub(int val);
@@ -215,7 +215,7 @@ index 62dbecfe9132..57a3d99dc067 100644
#ifndef CONFIG_HAVE_ARCH_WITHIN_STACK_FRAMES
static inline int arch_within_stack_frames(const void * const stack,
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h
-index 1cc4d2da954c..72864a11cec0 100644
+index 963c19f03bef..61011ac41b41 100644
--- a/include/linux/trace_events.h
+++ b/include/linux/trace_events.h
@@ -64,6 +64,7 @@ struct trace_entry {
@@ -244,7 +244,7 @@ index 907d72b3ba95..306567f72a3e 100644
prompt "Preemption Model"
default PREEMPT_NONE
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index 6ae5b18bf3a5..396394ebbc5b 100644
+index 605276e96143..9547c5bcbbc4 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -307,11 +307,13 @@ void pin_current_cpu(void)
@@ -419,7 +419,7 @@ index 41219ea235eb..e581ce1edc12 100644
}
EXPORT_SYMBOL(migrate_enable);
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
-index bd9a375c45f4..430248f46f72 100644
+index 3f6a613be8c3..b735b6088124 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4151,7 +4151,7 @@ check_preempt_tick(struct cfs_rq *cfs_rq, struct sched_entity *curr)
@@ -529,7 +529,7 @@ index 637c408fb2dc..87a05bb90124 100644
extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime);
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index b1c82b1dc3a6..d137601eed0e 100644
+index 61fdbe0ddeb1..3484c741261d 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2153,6 +2153,7 @@ tracing_generic_entry_update(struct trace_entry *entry, unsigned long flags,
@@ -550,7 +550,7 @@ index b1c82b1dc3a6..d137601eed0e 100644
(test_preempt_need_resched() ? TRACE_FLAG_PREEMPT_RESCHED : 0);
entry->migrate_disable = (tsk) ? __migrate_disabled(tsk) & 0xFF : 0;
-@@ -3364,15 +3366,17 @@ get_total_entries(struct trace_buffer *buf,
+@@ -3370,15 +3372,17 @@ get_total_entries(struct trace_buffer *buf,
static void print_lat_help_header(struct seq_file *m)
{
@@ -577,7 +577,7 @@ index b1c82b1dc3a6..d137601eed0e 100644
}
static void print_event_info(struct trace_buffer *buf, struct seq_file *m)
-@@ -3410,15 +3414,17 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file
+@@ -3416,15 +3420,17 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file
tgid ? tgid_space : space);
seq_printf(m, "# %s / _----=> need-resched\n",
tgid ? tgid_space : space);
@@ -601,7 +601,7 @@ index b1c82b1dc3a6..d137601eed0e 100644
}
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
-index 0923d1b18d1f..80a2d3f56c35 100644
+index f4d83b552a47..00fbf2cb505c 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -127,6 +127,7 @@ struct kretprobe_trace_entry_head {
diff --git a/debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch b/debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch
index 571294311..59891df57 100644
--- a/debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch
+++ b/debian/patches-rt/0237-ftrace-Fix-trace-header-alignment.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sun, 16 Oct 2016 05:08:30 +0200
-Subject: [PATCH 237/353] ftrace: Fix trace header alignment
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ac1c2ec880d53a9353f6c53c68ce7879566a7766
+Subject: [PATCH 237/354] ftrace: Fix trace header alignment
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b7565d7df1f29be3963b8d037516a0f6435a3a5d
Line up helper arrows to the right column.
@@ -14,10 +14,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index d137601eed0e..32a2a0e2c6ae 100644
+index 3484c741261d..3700c9f0bebb 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
-@@ -3366,17 +3366,17 @@ get_total_entries(struct trace_buffer *buf,
+@@ -3372,17 +3372,17 @@ get_total_entries(struct trace_buffer *buf,
static void print_lat_help_header(struct seq_file *m)
{
diff --git a/debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch b/debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch
index 53242df97..e1ce9cdfc 100644
--- a/debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch
+++ b/debian/patches-rt/0238-x86-Support-for-lazy-preemption.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Nov 2012 11:03:47 +0100
-Subject: [PATCH 238/353] x86: Support for lazy preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=abc7166676f6a451a3f3db148ae0fbc4ffeefa38
+Subject: [PATCH 238/354] x86: Support for lazy preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1abdacb2004c070b2ed0a0ae92bc6badf6b21e45
Implement the x86 pieces for lazy preempt.
@@ -17,10 +17,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
7 files changed, 79 insertions(+), 3 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 6ee7220e7f47..7299aeaa7cbb 100644
+index d2702e568153..72e7521a577b 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -180,6 +180,7 @@ config X86
+@@ -181,6 +181,7 @@ config X86
select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
diff --git a/debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch b/debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch
index 393d663f7..e1e918fad 100644
--- a/debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch
+++ b/debian/patches-rt/0239-x86-lazy-preempt-properly-check-against-preempt-mask.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 18 Feb 2019 16:57:09 +0100
-Subject: [PATCH 239/353] x86: lazy-preempt: properly check against
+Subject: [PATCH 239/354] x86: lazy-preempt: properly check against
preempt-mask
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4995c1328ec0d736291b9781a7d4588dd71cd1c2
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8a9e9841f86f934018cafab8e7dd5304dd36031c
should_resched() should check against preempt_offset after unmasking the
need-resched-bit. Otherwise should_resched() won't work for
diff --git a/debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch b/debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch
index 8c7a64443..1011b294f 100644
--- a/debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch
+++ b/debian/patches-rt/0240-x86-lazy-preempt-use-proper-return-label-on-32bit-x8.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Feb 2019 14:53:49 +0100
-Subject: [PATCH 240/353] x86: lazy-preempt: use proper return label on
+Subject: [PATCH 240/354] x86: lazy-preempt: use proper return label on
32bit-x86
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1c5ed7041c4abdb434de892ee97ec129a0401779
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a6bd3f321c942e96626ea294ef9c73f0e35f9cab
The lazy-preempt uses the wrong return label in case preemption isn't
possible. This results crash while returning to the kernel.
diff --git a/debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch b/debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch
index 63098df1a..fa4a28c81 100644
--- a/debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch
+++ b/debian/patches-rt/0241-arm-Add-support-for-lazy-preemption.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 31 Oct 2012 12:04:11 +0100
-Subject: [PATCH 241/353] arm: Add support for lazy preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b8a6ce72961961bf578e8b1c1f6aafff622a9ee5
+Subject: [PATCH 241/354] arm: Add support for lazy preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f212b3b028a34674be56ccaf16296edafb0d21fc
Implement the arm pieces for lazy preempt.
@@ -16,10 +16,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
6 files changed, 33 insertions(+), 8 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
-index d411fbbf13f0..11757b141c4a 100644
+index d105a362d1ac..6a467a56b628 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -91,6 +91,7 @@ config ARM
+@@ -92,6 +92,7 @@ config ARM
select HAVE_PERF_EVENTS
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
diff --git a/debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch b/debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch
index b6e0a456b..99db59aab 100644
--- a/debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch
+++ b/debian/patches-rt/0242-powerpc-Add-support-for-lazy-preemption.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 1 Nov 2012 10:14:11 +0100
-Subject: [PATCH 242/353] powerpc: Add support for lazy preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=11f2dca2c4c3c03a672652346d9b11e8543018e4
+Subject: [PATCH 242/354] powerpc: Add support for lazy preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f0261a63d9f224979b3642ab6913ebbde09a23a0
Implement the powerpc pieces for lazy preempt.
@@ -15,10 +15,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
5 files changed, 33 insertions(+), 11 deletions(-)
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
-index f4517f4be192..4536d047cdff 100644
+index cd338d971df2..3d9a02fb5879 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
-@@ -217,6 +217,7 @@ config PPC
+@@ -218,6 +218,7 @@ config PPC
select HAVE_HARDLOCKUP_DETECTOR_PERF if PERF_EVENTS && HAVE_PERF_EVENTS_NMI && !HAVE_HARDLOCKUP_DETECTOR_ARCH
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
@@ -76,10 +76,10 @@ index 3c0002044bc9..ce316076bc52 100644
/* Bits in local_flags */
/* Don't move TLF_NAPPING without adjusting the code in entry_32.S */
diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c
-index 50400f213bbf..1bb82c5dc1d9 100644
+index c2288c73d56d..082d01ba2ecb 100644
--- a/arch/powerpc/kernel/asm-offsets.c
+++ b/arch/powerpc/kernel/asm-offsets.c
-@@ -156,6 +156,7 @@ int main(void)
+@@ -159,6 +159,7 @@ int main(void)
OFFSET(TI_FLAGS, thread_info, flags);
OFFSET(TI_LOCAL_FLAGS, thread_info, local_flags);
OFFSET(TI_PREEMPT, thread_info, preempt_count);
diff --git a/debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch b/debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch
index 2c185cf43..0aaaa519d 100644
--- a/debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch
+++ b/debian/patches-rt/0243-arch-arm64-Add-lazy-preempt-support.patch
@@ -1,7 +1,7 @@
From: Anders Roxell <anders.roxell@linaro.org>
Date: Thu, 14 May 2015 17:52:17 +0200
-Subject: [PATCH 243/353] arch/arm64: Add lazy preempt support
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=309988716af0204cb8c7af13c25074fbef91dd00
+Subject: [PATCH 243/354] arch/arm64: Add lazy preempt support
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b94781e1c5cbccd2bfdf1e70d7aa3e71680a9737
arm64 is missing support for PREEMPT_RT. The main feature which is
lacking is support for lazy preemption. The arch-specific entry code,
diff --git a/debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch b/debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
index cc7cca86e..c100e73a7 100644
--- a/debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
+++ b/debian/patches-rt/0244-connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sun, 16 Oct 2016 05:11:54 +0200
-Subject: [PATCH 244/353] connector/cn_proc: Protect send_msg() with a local
+Subject: [PATCH 244/354] connector/cn_proc: Protect send_msg() with a local
lock on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0cc39551b5bc2d4a4bd55315967a7cfba0dbf1de
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2b4d085a00e21140a39d5bb85bd860bfea856bc4
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:931
|in_atomic(): 1, irqs_disabled(): 0, pid: 31807, name: sleep
diff --git a/debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch b/debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
index bbbf51237..34a4c4b01 100644
--- a/debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
+++ b/debian/patches-rt/0245-drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Thu, 31 Mar 2016 04:08:28 +0200
-Subject: [PATCH 245/353] drivers/block/zram: Replace bit spinlocks with
+Subject: [PATCH 245/354] drivers/block/zram: Replace bit spinlocks with
rtmutex for -rt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=16a2a63efa558226cdeb70a9789d896d6d5aef14
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5b2237f0f7980ad75b97686fa2897f62eda03e6a
They're nondeterministic, and lead to ___might_sleep() splats in -rt.
OTOH, they're a lot less wasteful than an rtmutex per page.
diff --git a/debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch b/debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch
index e672a47b7..1574cb6b1 100644
--- a/debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch
+++ b/debian/patches-rt/0246-drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Thu, 20 Oct 2016 11:15:22 +0200
-Subject: [PATCH 246/353] drivers/zram: Don't disable preemption in
+Subject: [PATCH 246/354] drivers/zram: Don't disable preemption in
zcomp_stream_get/put()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eed0f6e6ca04788c5325b248305c08647e399e3d
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=39be29a3de4e6a826198aaae82190db9446bb2cc
In v4.7, the driver switched to percpu compression streams, disabling
preemption via get/put_cpu_ptr(). Use a per-zcomp_strm lock here. We
diff --git a/debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch b/debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch
index 1709307da..72aecf48c 100644
--- a/debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch
+++ b/debian/patches-rt/0247-drivers-zram-fix-zcomp_stream_get-smp_processor_id-u.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <efault@gmx.de>
Date: Wed, 23 Aug 2017 11:57:29 +0200
-Subject: [PATCH 247/353] drivers/zram: fix zcomp_stream_get()
+Subject: [PATCH 247/354] drivers/zram: fix zcomp_stream_get()
smp_processor_id() use in preemptible code
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f40751d885752803c938fea8dc199c9280337925
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0b3a858719098c213c588ce4df8ae8dfbbc4c2a7
Use get_local_ptr() instead this_cpu_ptr() to avoid a warning regarding
smp_processor_id() in preemptible code.
diff --git a/debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch b/debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch
index 1ba216990..6a1fcf399 100644
--- a/debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch
+++ b/debian/patches-rt/0248-tpm_tis-fix-stall-after-iowrite-s.patch
@@ -1,7 +1,7 @@
From: Haris Okanovic <haris.okanovic@ni.com>
Date: Tue, 15 Aug 2017 15:13:08 -0500
-Subject: [PATCH 248/353] tpm_tis: fix stall after iowrite*()s
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d7ca6b216bbcdb3daf45864e995aecf3d94de9a2
+Subject: [PATCH 248/354] tpm_tis: fix stall after iowrite*()s
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2b5c1d30e161cbb01f23d497de714131740ac292
ioread8() operations to TPM MMIO addresses can stall the cpu when
immediately following a sequence of iowrite*()'s to the same region.
diff --git a/debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch b/debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch
index 458671102..f6b23d691 100644
--- a/debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch
+++ b/debian/patches-rt/0249-watchdog-prevent-deferral-of-watchdogd-wakeup-on-RT.patch
@@ -1,7 +1,7 @@
From: Julia Cartwright <julia@ni.com>
Date: Fri, 28 Sep 2018 21:03:51 +0000
-Subject: [PATCH 249/353] watchdog: prevent deferral of watchdogd wakeup on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aa8246032a3d912469805835a62695523d0f5069
+Subject: [PATCH 249/354] watchdog: prevent deferral of watchdogd wakeup on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=46dca4c860cbbd117f6f8c609fb6e131c60aae24
When PREEMPT_RT_FULL is enabled, all hrtimer expiry functions are
deferred for execution into the context of ktimersoftd unless otherwise
diff --git a/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch b/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch
index 88e644461..816ad71c1 100644
--- a/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch
+++ b/debian/patches-rt/0250-drm-radeon-i915-Use-preempt_disable-enable_rt-where-.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sat, 27 Feb 2016 08:09:11 +0100
-Subject: [PATCH 250/353] drm,radeon,i915: Use preempt_disable/enable_rt()
+Subject: [PATCH 250/354] drm,radeon,i915: Use preempt_disable/enable_rt()
where recommended
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a78df9205d320b7f34f95c2576ba325f0fc7af9c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a86ea6081adf9f7422ae28bf0d9d4f70f39f0c36
DRM folks identified the spots, so use them.
diff --git a/debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch b/debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch
index c273dd874..bc7ee19a5 100644
--- a/debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch
+++ b/debian/patches-rt/0251-drm-i915-Use-local_lock-unlock_irq-in-intel_pipe_upd.patch
@@ -1,8 +1,8 @@
From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Sat, 27 Feb 2016 09:01:42 +0100
-Subject: [PATCH 251/353] drm,i915: Use local_lock/unlock_irq() in
+Subject: [PATCH 251/354] drm,i915: Use local_lock/unlock_irq() in
intel_pipe_update_start/end()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ac57ad46b6fc7b30de016fa07ff78274aaf46fc1
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=14fe0cf1f27bba843b81b0d0263cd74d9fd769ce
[ 8.014039] BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:918
[ 8.014041] in_atomic(): 0, irqs_disabled(): 1, pid: 78, name: kworker/u4:4
diff --git a/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch b/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch
index b1f3aa473..dd1f3ce5b 100644
--- a/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch
+++ b/debian/patches-rt/0252-drm-i915-disable-tracing-on-RT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 6 Dec 2018 09:52:20 +0100
-Subject: [PATCH 252/353] drm/i915: disable tracing on -RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=702718725e855afb60c278b30eda18eeb5a0351e
+Subject: [PATCH 252/354] drm/i915: disable tracing on -RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0eaacd7820bd23ea6f22175e2106f2923fb50b1f
Luca Abeni reported this:
| BUG: scheduling while atomic: kworker/u8:2/15203/0x00000003
diff --git a/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch b/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
index 9cab945e6..4c298ab62 100644
--- a/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
+++ b/debian/patches-rt/0253-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 19 Dec 2018 10:47:02 +0100
-Subject: [PATCH 253/353] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with
+Subject: [PATCH 253/354] drm/i915: skip DRM_I915_LOW_LEVEL_TRACEPOINTS with
NOTRACE
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=639fc3d63f892e6406abea876f17cd94f2ebcdc7
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3ea56325e3e4962721ccb45d19bc814001e25fe0
The order of the header files is important. If this header file is
included after tracepoint.h was included then the NOTRACE here becomes a
diff --git a/debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch b/debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch
index 9cef137b8..fc7b9ac67 100644
--- a/debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch
+++ b/debian/patches-rt/0254-cgroups-use-simple-wait-in-css_release.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 13 Feb 2015 15:52:24 +0100
-Subject: [PATCH 254/353] cgroups: use simple wait in css_release()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e78c393381fac00d8163d30d56e9d4161880f64e
+Subject: [PATCH 254/354] cgroups: use simple wait in css_release()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eaaf08f8685909a9bcd18431f0ebb9afafaac17b
To avoid:
|BUG: sleeping function called from invalid context at kernel/locking/rtmutex.c:914
@@ -54,10 +54,10 @@ index 56442d3b651d..1d2275287f0e 100644
/*
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
-index a8185cdb8587..da19cf179b27 100644
+index 6322b56529e9..8df1b3cdfc42 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
-@@ -4787,10 +4787,10 @@ static void css_free_rwork_fn(struct work_struct *work)
+@@ -4801,10 +4801,10 @@ static void css_free_rwork_fn(struct work_struct *work)
}
}
@@ -70,7 +70,7 @@ index a8185cdb8587..da19cf179b27 100644
struct cgroup_subsys *ss = css->ss;
struct cgroup *cgrp = css->cgroup;
-@@ -4852,8 +4852,8 @@ static void css_release(struct percpu_ref *ref)
+@@ -4866,8 +4866,8 @@ static void css_release(struct percpu_ref *ref)
struct cgroup_subsys_state *css =
container_of(ref, struct cgroup_subsys_state, refcnt);
@@ -81,7 +81,7 @@ index a8185cdb8587..da19cf179b27 100644
}
static void init_and_link_css(struct cgroup_subsys_state *css,
-@@ -5573,6 +5573,7 @@ static int __init cgroup_wq_init(void)
+@@ -5587,6 +5587,7 @@ static int __init cgroup_wq_init(void)
*/
cgroup_destroy_wq = alloc_workqueue("cgroup_destroy", 0, 1);
BUG_ON(!cgroup_destroy_wq);
diff --git a/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch
index a96f6d2a0..aea28cb96 100644
--- a/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch
+++ b/debian/patches-rt/0255-cpuset-Convert-callback_lock-to-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Mike Galbraith <efault@gmx.de>
Date: Sun, 8 Jan 2017 09:32:25 +0100
-Subject: [PATCH 255/353] cpuset: Convert callback_lock to raw_spinlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cfb4edac99fdac0f650f2f27e04ba655fcae5475
+Subject: [PATCH 255/354] cpuset: Convert callback_lock to raw_spinlock_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=630ca59f289413c66eadebf07807ad4c36076590
The two commits below add up to a cpuset might_sleep() splat for RT:
diff --git a/debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch b/debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch
index 5b92f0674..1671e8068 100644
--- a/debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch
+++ b/debian/patches-rt/0256-apparmor-use-a-locallock-instead-preempt_disable.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 11 Oct 2017 17:43:49 +0200
-Subject: [PATCH 256/353] apparmor: use a locallock instead preempt_disable()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=53cae7e6f1ece1546a58a538f6a685162e44350e
+Subject: [PATCH 256/354] apparmor: use a locallock instead preempt_disable()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=826b05942ea2bb41956e147e1af9476f6a9b1ee6
get_buffers() disables preemption which acts as a lock for the per-CPU
variable. Since we can't disable preemption here on RT, a local_lock is
diff --git a/debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch b/debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch
index 6fb41c49a..ecade5cd6 100644
--- a/debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch
+++ b/debian/patches-rt/0257-workqueue-Prevent-deadlock-stall-on-RT.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 27 Jun 2014 16:24:52 +0200
-Subject: [PATCH 257/353] workqueue: Prevent deadlock/stall on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a62b1ced9d802c6c953e854a71ef4c2bfabfb7e1
+Subject: [PATCH 257/354] workqueue: Prevent deadlock/stall on RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=78b64dbd9f7ad3fb3e34cca02f8d504f1596ef7e
Austin reported a XFS deadlock/stall on RT where scheduled work gets
never exececuted and tasks are waiting for each other for ever.
@@ -67,7 +67,7 @@ index e581ce1edc12..fd1a7d1ff9f4 100644
* If we are going to sleep and we have plugged IO queued,
* make sure to submit it to avoid deadlocks.
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index 7561ac884a3e..cb81c7767b17 100644
+index 21751b94b93a..c148b0b8bda9 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -126,6 +126,11 @@ enum {
@@ -114,7 +114,7 @@ index 7561ac884a3e..cb81c7767b17 100644
#ifdef CONFIG_DEBUG_OBJECTS_WORK
static struct debug_obj_descr work_debug_descr;
-@@ -837,10 +867,16 @@ static struct worker *first_idle_worker(struct worker_pool *pool)
+@@ -840,10 +870,16 @@ static struct worker *first_idle_worker(struct worker_pool *pool)
*/
static void wake_up_worker(struct worker_pool *pool)
{
@@ -132,7 +132,7 @@ index 7561ac884a3e..cb81c7767b17 100644
}
/**
-@@ -869,7 +905,7 @@ void wq_worker_running(struct task_struct *task)
+@@ -872,7 +908,7 @@ void wq_worker_running(struct task_struct *task)
*/
void wq_worker_sleeping(struct task_struct *task)
{
@@ -141,7 +141,7 @@ index 7561ac884a3e..cb81c7767b17 100644
struct worker_pool *pool;
/*
-@@ -886,26 +922,18 @@ void wq_worker_sleeping(struct task_struct *task)
+@@ -889,26 +925,18 @@ void wq_worker_sleeping(struct task_struct *task)
return;
worker->sleeping = 1;
@@ -171,7 +171,7 @@ index 7561ac884a3e..cb81c7767b17 100644
}
/**
-@@ -1678,7 +1706,9 @@ static void worker_enter_idle(struct worker *worker)
+@@ -1681,7 +1709,9 @@ static void worker_enter_idle(struct worker *worker)
worker->last_active = jiffies;
/* idle_list is LIFO */
@@ -181,7 +181,7 @@ index 7561ac884a3e..cb81c7767b17 100644
if (too_many_workers(pool) && !timer_pending(&pool->idle_timer))
mod_timer(&pool->idle_timer, jiffies + IDLE_WORKER_TIMEOUT);
-@@ -1711,7 +1741,9 @@ static void worker_leave_idle(struct worker *worker)
+@@ -1714,7 +1744,9 @@ static void worker_leave_idle(struct worker *worker)
return;
worker_clr_flags(worker, WORKER_IDLE);
pool->nr_idle--;
@@ -191,7 +191,7 @@ index 7561ac884a3e..cb81c7767b17 100644
}
static struct worker *alloc_worker(int node)
-@@ -1876,7 +1908,9 @@ static void destroy_worker(struct worker *worker)
+@@ -1879,7 +1911,9 @@ static void destroy_worker(struct worker *worker)
pool->nr_workers--;
pool->nr_idle--;
diff --git a/debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch
index 773ec4c14..bd986ff3a 100644
--- a/debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch
+++ b/debian/patches-rt/0258-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 3 Jul 2009 08:44:56 -0500
-Subject: [PATCH 258/353] signals: Allow rt tasks to cache one sigqueue struct
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0c055281201f5bb1b85dcba7b89a0a1b047c98e0
+Subject: [PATCH 258/354] signals: Allow rt tasks to cache one sigqueue struct
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e7647e29fb06af1ac834bd062decf98ebd753761
To avoid allocation allow rt tasks to cache one sigqueue struct in
task struct.
@@ -41,7 +41,7 @@ index 0be5ce2375cb..6495fda18c2c 100644
/* Test if 'sig' is valid signal. Use this instead of testing _NSIG directly */
static inline int valid_signal(unsigned long sig)
diff --git a/kernel/exit.c b/kernel/exit.c
-index 02360ec3b122..51b36d58c872 100644
+index 0d1cca15e66f..cbe99ab0ac19 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -207,7 +207,7 @@ static void __exit_signal(struct task_struct *tsk)
diff --git a/debian/patches-rt/0259-Add-localversion-for-RT-release.patch b/debian/patches-rt/0259-Add-localversion-for-RT-release.patch
index b09cec7d2..e90b2e65a 100644
--- a/debian/patches-rt/0259-Add-localversion-for-RT-release.patch
+++ b/debian/patches-rt/0259-Add-localversion-for-RT-release.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 8 Jul 2011 20:25:16 +0200
-Subject: [PATCH 259/353] Add localversion for -RT release
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f71c0632cb0b366bd2a4edecf6dad65f3ebdedf9
+Subject: [PATCH 259/354] Add localversion for -RT release
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2abbbe313516165ed8e9db8dda916ee77c5fe717
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
diff --git a/debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch b/debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
index 61320b922..9ed0de3ca 100644
--- a/debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
+++ b/debian/patches-rt/0260-powerpc-pseries-iommu-Use-a-locallock-instead-local_.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 26 Mar 2019 18:31:54 +0100
-Subject: [PATCH 260/353] powerpc/pseries/iommu: Use a locallock instead
+Subject: [PATCH 260/354] powerpc/pseries/iommu: Use a locallock instead
local_irq_save()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=13ea01525e38daab61ff0fa8ea1c8d1d263ab08a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=45d089d7b59373f276a0c170618fa8f18d1eca9d
The locallock protects the per-CPU variable tce_page. The function
attempts to allocate memory while tce_page is protected (by disabling
diff --git a/debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch b/debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch
index 6072a9b52..05081f8d4 100644
--- a/debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch
+++ b/debian/patches-rt/0261-powerpc-reshuffle-TIF-bits.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 22 Mar 2019 17:15:58 +0100
-Subject: [PATCH 261/353] powerpc: reshuffle TIF bits
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=57b4c00fd16824d19063a3e5d3f9e7cdd25edb1d
+Subject: [PATCH 261/354] powerpc: reshuffle TIF bits
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6d0fb40ac9c0ef280c5ebaaf6d05709c088e4504
Powerpc32/64 does not compile because TIF_SYSCALL_TRACE's bit is higher
than 15 and the assembly instructions don't expect that.
diff --git a/debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch b/debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch
index 02391a4da..aab37da60 100644
--- a/debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch
+++ b/debian/patches-rt/0262-tty-sysrq-Convert-show_lock-to-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Julien Grall <julien.grall@arm.com>
Date: Wed, 13 Mar 2019 11:40:34 +0000
-Subject: [PATCH 262/353] tty/sysrq: Convert show_lock to raw_spinlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8cc84fa9dbfd5700804c0fe27200ffaf9b715a77
+Subject: [PATCH 262/354] tty/sysrq: Convert show_lock to raw_spinlock_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9f8bdb802a6c55deb5f4d5d19c3e4f573d221a0e
Systems which don't provide arch_trigger_cpumask_backtrace() will
invoke showacpu() from a smp_call_function() function which is invoked
diff --git a/debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch b/debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch
index 2af6325b9..1766dd0aa 100644
--- a/debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch
+++ b/debian/patches-rt/0263-drm-i915-Don-t-disable-interrupts-independently-of-t.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 10 Apr 2019 11:01:37 +0200
-Subject: [PATCH 263/353] drm/i915: Don't disable interrupts independently of
+Subject: [PATCH 263/354] drm/i915: Don't disable interrupts independently of
the lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cdf7e141f6f0c4257c28cb10cd300d374ea421d7
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=26f2ceb748093524cf155c42530de064585c8d21
The locks (timeline->lock and rq->lock) need to be taken with disabled
interrupts. This is done in __retire_engine_request() by disabling the
diff --git a/debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch b/debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch
index bc1c27b81..58d52232f 100644
--- a/debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch
+++ b/debian/patches-rt/0264-sched-completion-Fix-a-lockup-in-wait_for_completion.patch
@@ -1,8 +1,8 @@
From: Corey Minyard <cminyard@mvista.com>
Date: Thu, 9 May 2019 14:33:20 -0500
-Subject: [PATCH 264/353] sched/completion: Fix a lockup in
+Subject: [PATCH 264/354] sched/completion: Fix a lockup in
wait_for_completion()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=393e1673710468a59fe22a98375a2f184a8f0bdc
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=40df6ffd0c4ce90d987a432656bd24e8c24b2c41
Consider following race:
diff --git a/debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch b/debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch
index 3a0f56950..b1403337b 100644
--- a/debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch
+++ b/debian/patches-rt/0265-kthread-add-a-global-worker-thread.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 12 Feb 2019 15:09:38 +0100
-Subject: [PATCH 265/353] kthread: add a global worker thread.
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=94597b54548d7027857d3bf84a450098c8ca1953
+Subject: [PATCH 265/354] kthread: add a global worker thread.
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=df30ae90dd2374a42334e46231f7b6db84c07baa
[ Upstream commit 0532e87d9d44795221aa921ba7024bde689cc894 ]
@@ -28,7 +28,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
create mode 100644 include/linux/kthread-cgroup.h
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 12eb48980df7..b8c2c469ce7e 100644
+index 2e6c3f658894..2ba7391c4560 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -70,7 +70,7 @@
@@ -131,10 +131,10 @@ index e0498e46d642..31140f0a6c2c 100644
+
#endif /* _LINUX_KTHREAD_H */
diff --git a/init/main.c b/init/main.c
-index 703b627a6060..8555afc3f3e1 100644
+index 298257e2cd42..c90444ec2990 100644
--- a/init/main.c
+++ b/init/main.c
-@@ -1136,6 +1136,7 @@ static noinline void __init kernel_init_freeable(void)
+@@ -1126,6 +1126,7 @@ static noinline void __init kernel_init_freeable(void)
smp_prepare_cpus(setup_max_cpus);
workqueue_init();
diff --git a/debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch b/debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch
index 73c01a559..63ac55b62 100644
--- a/debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch
+++ b/debian/patches-rt/0266-arm-imx6-cpuidle-Use-raw_spinlock_t.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 14 May 2019 17:07:44 +0200
-Subject: [PATCH 266/353] arm: imx6: cpuidle: Use raw_spinlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9aae4da52d8263b477fd6bd5eb93f84d4f233a4d
+Subject: [PATCH 266/354] arm: imx6: cpuidle: Use raw_spinlock_t
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c27c1c162dd5f7fd50f118bea89515944652f93f
[ Upstream commit 40d0332ec8312e9c090f0a5414d9c90e12b13611 ]
diff --git a/debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch b/debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch
index e1aecd800..ff7013400 100644
--- a/debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch
+++ b/debian/patches-rt/0267-rcu-Don-t-allow-to-change-rcu_normal_after_boot-on-R.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 24 Jun 2019 18:29:13 +0200
-Subject: [PATCH 267/353] rcu: Don't allow to change rcu_normal_after_boot on
+Subject: [PATCH 267/354] rcu: Don't allow to change rcu_normal_after_boot on
RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=67bcea9091d3ff86f96550f5d264ce29bce86c49
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=65c42116ca4d41fd6e9f9aae46911caa0e424280
[ Upstream commit c6c058c10577815a2491ce661876cff00a4c3b15 ]
diff --git a/debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch b/debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch
index fd945f513..1522e9db2 100644
--- a/debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch
+++ b/debian/patches-rt/0268-pci-switchtec-fix-stream_open.cocci-warnings.patch
@@ -1,7 +1,7 @@
From: kbuild test robot <lkp@intel.com>
Date: Sat, 13 Apr 2019 11:22:51 +0800
-Subject: [PATCH 268/353] pci/switchtec: fix stream_open.cocci warnings
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=824356358c4e0d421b1f6fd2f0ac4a0120fdb9b2
+Subject: [PATCH 268/354] pci/switchtec: fix stream_open.cocci warnings
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=fdc3765d092d16144b362fefc6755e046813190c
[ Upstream commit 9462c69e29307adc95c289f50839d5d683973891 ]
diff --git a/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch b/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
index 2b822b87f..e3a7d4471 100644
--- a/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
+++ b/debian/patches-rt/0269-sched-core-Drop-a-preempt_disable_rt-statement.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 24 Jun 2019 19:33:16 +0200
-Subject: [PATCH 269/353] sched/core: Drop a preempt_disable_rt() statement
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8b7a96c1b8fa82f1ef908b15c0fce7f6e977a848
+Subject: [PATCH 269/354] sched/core: Drop a preempt_disable_rt() statement
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d82baed9d4cf7eb11be5cb47d403acb450781e11
[ Upstream commit 761126efdcbe3fa3e99c9079fa0ad6eca2f251f2 ]
diff --git a/debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch b/debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch
index 69d6e3478..9b11c1128 100644
--- a/debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch
+++ b/debian/patches-rt/0270-timers-Redo-the-notification-of-canceling-timers-on-.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 24 Jun 2019 19:39:06 +0200
-Subject: [PATCH 270/353] timers: Redo the notification of canceling timers on
+Subject: [PATCH 270/354] timers: Redo the notification of canceling timers on
-RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c8867b2f2275355c1aec09e3b07c2020fc6234fa
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f3beb62163e553487a4e1edb78d0409869cbde42
[ Upstream commit c71273154c2ad12e13333aada340ff30e826a11b ]
@@ -57,7 +57,7 @@ index 82d0f52414a6..f845093466be 100644
/*
diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
-index 082147c07831..aee31b1f0cc3 100644
+index f8b4818e6e08..5112913e419f 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -22,7 +22,6 @@
@@ -148,7 +148,7 @@ index dec68f9dab7b..85c7f4a6b9c1 100644
}
EXPORT_SYMBOL_GPL(alarm_cancel);
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 1992f107599e..6e19604eaa00 100644
+index 8f315ad08cd1..fb28793cb87b 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -981,33 +981,16 @@ u64 hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval)
@@ -317,10 +317,10 @@ index 2d29b269dc83..54632ed51c65 100644
* We need to handle case when timer was or is in the
* middle of firing. In other cases we already freed
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
-index 36ee80652208..9f1d4c092f54 100644
+index eae555df7ea3..ba508c0924b9 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
-@@ -821,25 +821,20 @@ static void common_hrtimer_arm(struct k_itimer *timr, ktime_t expires,
+@@ -826,25 +826,20 @@ static void common_hrtimer_arm(struct k_itimer *timr, ktime_t expires,
hrtimer_start_expires(timer, HRTIMER_MODE_ABS);
}
@@ -356,7 +356,7 @@ index 36ee80652208..9f1d4c092f54 100644
}
/* Set a POSIX.1b interval timer. */
-@@ -901,21 +896,21 @@ static int do_timer_settime(timer_t timer_id, int flags,
+@@ -906,21 +901,21 @@ static int do_timer_settime(timer_t timer_id, int flags,
if (!timr)
return -EINVAL;
@@ -382,7 +382,7 @@ index 36ee80652208..9f1d4c092f54 100644
return error;
}
-@@ -977,13 +972,21 @@ int common_timer_del(struct k_itimer *timer)
+@@ -982,13 +977,21 @@ int common_timer_del(struct k_itimer *timer)
return 0;
}
@@ -406,7 +406,7 @@ index 36ee80652208..9f1d4c092f54 100644
}
/* Delete a POSIX.1b interval timer. */
-@@ -997,15 +1000,8 @@ SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
+@@ -1002,15 +1005,8 @@ SYSCALL_DEFINE1(timer_delete, timer_t, timer_id)
if (!timer)
return -EINVAL;
@@ -423,7 +423,7 @@ index 36ee80652208..9f1d4c092f54 100644
spin_lock(&current->sighand->siglock);
list_del(&timer->list);
-@@ -1031,20 +1027,9 @@ static void itimer_delete(struct k_itimer *timer)
+@@ -1036,20 +1032,9 @@ static void itimer_delete(struct k_itimer *timer)
retry_delete:
spin_lock_irqsave(&timer->it_lock, flags);
diff --git a/debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch b/debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch
index 9c9191ec7..e6d02dd9b 100644
--- a/debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch
+++ b/debian/patches-rt/0271-Revert-futex-Ensure-lock-unlock-symetry-versus-pi_lo.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 26 Jun 2019 17:44:13 +0200
-Subject: [PATCH 271/353] Revert "futex: Ensure lock/unlock symetry versus
+Subject: [PATCH 271/354] Revert "futex: Ensure lock/unlock symetry versus
pi_lock and hash bucket lock"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=30396c61217580d4225fdb2e20eaf9aecea54a9a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4015f4555d680fed5664a5a70ba7301c112dfec4
[ Upstream commit 6a773b70cf105b46298ed3b44e77c102ce31d9ec ]
@@ -16,7 +16,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 file changed, 2 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index a5a263a3efbf..3449a716a378 100644
+index 3d2570e9c8c1..2cfeaa8e9379 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -962,9 +962,7 @@ static void exit_pi_state_list(struct task_struct *curr)
diff --git a/debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch b/debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch
index 442adae1e..479fdd107 100644
--- a/debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch
+++ b/debian/patches-rt/0272-Revert-futex-Fix-bug-on-when-a-requeued-RT-task-time.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 26 Jun 2019 17:44:18 +0200
-Subject: [PATCH 272/353] Revert "futex: Fix bug on when a requeued RT task
+Subject: [PATCH 272/354] Revert "futex: Fix bug on when a requeued RT task
times out"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=95059a1e8417cb772e741a05b1bbd6684bbc6d56
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=32dd9bc78f9b08338de79eed6301329c292e03f2
[ Upstream commit f1a170cb3289a48df26cae3c60d77608f7a988bb ]
diff --git a/debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch b/debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch
index 6a1bb0658..7d8b42c98 100644
--- a/debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch
+++ b/debian/patches-rt/0273-Revert-rtmutex-Handle-the-various-new-futex-race-con.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 26 Jun 2019 17:44:21 +0200
-Subject: [PATCH 273/353] Revert "rtmutex: Handle the various new futex race
+Subject: [PATCH 273/354] Revert "rtmutex: Handle the various new futex race
conditions"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8c1d1aee640dced483d8f2f6144bd691cfe3524e
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a196113022056a21ebcd3eb961b51392505682ce
[ Upstream commit 9e0265c21af4d6388d47dcd5ce20f76ec3a2e468 ]
@@ -18,7 +18,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
3 files changed, 20 insertions(+), 93 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index 3449a716a378..bcd01b5a47df 100644
+index 2cfeaa8e9379..dd0d6a166a83 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2255,16 +2255,6 @@ static int futex_requeue(u32 __user *uaddr1, unsigned int flags,
diff --git a/debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch b/debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch
index efd697df7..18736f90c 100644
--- a/debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch
+++ b/debian/patches-rt/0274-Revert-futex-workaround-migrate_disable-enable-in-di.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 26 Jun 2019 17:44:27 +0200
-Subject: [PATCH 274/353] Revert "futex: workaround migrate_disable/enable in
+Subject: [PATCH 274/354] Revert "futex: workaround migrate_disable/enable in
different context"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d2dcb7eaaa0efc8bfa45966437cd717ab6318c99
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=94d4be2c5195ea06136c948348e7152fc56bc4a3
[ Upstream commit a71221d81cc4873891ae44f3aa02df596079b786 ]
@@ -16,7 +16,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 file changed, 19 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index bcd01b5a47df..9bcfdcffb2dd 100644
+index dd0d6a166a83..b0667c419509 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -2998,14 +2998,6 @@ static int futex_lock_pi(u32 __user *uaddr, unsigned int flags,
diff --git a/debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch b/debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch
index db685f174..1dca75e7e 100644
--- a/debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch
+++ b/debian/patches-rt/0275-futex-Make-the-futex_hash_bucket-lock-raw.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 26 Jun 2019 11:59:44 +0200
-Subject: [PATCH 275/353] futex: Make the futex_hash_bucket lock raw
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2a322e04cc1a2220cedbada7ba39667daef47ec7
+Subject: [PATCH 275/354] futex: Make the futex_hash_bucket lock raw
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e5b6ef0830dd3e7e9f413acc3bade0e8dbc97cc7
[ Upstream commit f646521aadedab78801c9befe193e2e8a0c99298 ]
@@ -22,7 +22,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 file changed, 43 insertions(+), 43 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index 9bcfdcffb2dd..8a49dd71b233 100644
+index b0667c419509..f41a08629734 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -243,7 +243,7 @@ struct futex_q {
diff --git a/debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch b/debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch
index fbf1d4a06..538e4e3ff 100644
--- a/debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch
+++ b/debian/patches-rt/0276-futex-Delay-deallocation-of-pi_state.patch
@@ -1,7 +1,7 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Wed, 26 Jun 2019 13:35:36 +0200
-Subject: [PATCH 276/353] futex: Delay deallocation of pi_state
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9d2af42f0b95c0309539ea7ace7d8fe31300517b
+Subject: [PATCH 276/354] futex: Delay deallocation of pi_state
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=651f0822e72728ab29a264da74d83fe6d2a22c6f
[ Upstream commit d7c7cf8cb68b7df17e6e50be1f25f35d83e686c7 ]
@@ -17,7 +17,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 file changed, 44 insertions(+), 11 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index 8a49dd71b233..2fc6bedb460e 100644
+index f41a08629734..5708382157c4 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -871,13 +871,13 @@ static void get_pi_state(struct futex_pi_state *pi_state)
diff --git a/debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch b/debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch
index bfc38b697..73f2bc096 100644
--- a/debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch
+++ b/debian/patches-rt/0277-mm-zswap-Do-not-disable-preemption-in-zswap_frontswa.patch
@@ -1,8 +1,8 @@
From: "Luis Claudio R. Goncalves" <lclaudio@uudg.org>
Date: Tue, 25 Jun 2019 11:28:04 -0300
-Subject: [PATCH 277/353] mm/zswap: Do not disable preemption in
+Subject: [PATCH 277/354] mm/zswap: Do not disable preemption in
zswap_frontswap_store()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=76b124c411d62a490954f663e6408c62b0b5ae0c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dff3515e460d7c4c9cd059bf814de36c6946de11
[ Upstream commit 4e4cf4be79635e67144632d9135286381acbc95a ]
diff --git a/debian/patches-rt/0278-revert-aio.patch b/debian/patches-rt/0278-revert-aio.patch
index f543db86b..495515509 100644
--- a/debian/patches-rt/0278-revert-aio.patch
+++ b/debian/patches-rt/0278-revert-aio.patch
@@ -1,7 +1,7 @@
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Date: Fri, 20 Sep 2019 17:50:53 -0400
-Subject: [PATCH 278/353] revert-aio
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6fe31f853eb820787f9cb92c68cf3cc1a3e9aa98
+Subject: [PATCH 278/354] revert-aio
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0d09d14f7562d9de2c4c353e3cb0b81fbf4262d
revert: fs/aio: simple simple work
diff --git a/debian/patches-rt/0279-fs-aio-simple-simple-work.patch b/debian/patches-rt/0279-fs-aio-simple-simple-work.patch
index 3e169ddab..71013b344 100644
--- a/debian/patches-rt/0279-fs-aio-simple-simple-work.patch
+++ b/debian/patches-rt/0279-fs-aio-simple-simple-work.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 16 Feb 2015 18:49:10 +0100
-Subject: [PATCH 279/353] fs/aio: simple simple work
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3185b0aa6832a8d6f779ba17eb2caf236247c6fc
+Subject: [PATCH 279/354] fs/aio: simple simple work
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9e5660cfe47703d44bf51ffc9a29c9a4853f492a
[ Upstream commit 1a142116f6435ef070ecebb66d2d599507c10601 ]
diff --git a/debian/patches-rt/0280-revert-thermal.patch b/debian/patches-rt/0280-revert-thermal.patch
index 522a2eaf7..41394bc92 100644
--- a/debian/patches-rt/0280-revert-thermal.patch
+++ b/debian/patches-rt/0280-revert-thermal.patch
@@ -1,7 +1,7 @@
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Date: Fri, 20 Sep 2019 17:50:53 -0400
-Subject: [PATCH 280/353] revert-thermal
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=53bcb94a7e0108446c6a61b4006ccf32ed238929
+Subject: [PATCH 280/354] revert-thermal
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a0043083bcd86f75d1352329a5762072df127562
Revert: thermal: Defer thermal wakups to threads
diff --git a/debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch b/debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch
index 3757fa2d6..79ef71bb3 100644
--- a/debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch
+++ b/debian/patches-rt/0281-thermal-Defer-thermal-wakups-to-threads.patch
@@ -1,7 +1,7 @@
From: Daniel Wagner <wagi@monom.org>
Date: Tue, 17 Feb 2015 09:37:44 +0100
-Subject: [PATCH 281/353] thermal: Defer thermal wakups to threads
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f7fbdef70212226ebc92dad2324314a8622bc932
+Subject: [PATCH 281/354] thermal: Defer thermal wakups to threads
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c6002dd0f95978c47d63b2bb6f4cbe0b45992f86
[ Upstream commit ad2408dc248fe58536eef5b2b5734d8f9d3a280b ]
diff --git a/debian/patches-rt/0282-revert-block.patch b/debian/patches-rt/0282-revert-block.patch
index 64822be0f..5920267bd 100644
--- a/debian/patches-rt/0282-revert-block.patch
+++ b/debian/patches-rt/0282-revert-block.patch
@@ -1,7 +1,7 @@
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Date: Fri, 20 Sep 2019 17:50:54 -0400
-Subject: [PATCH 282/353] revert-block
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2f49ff6cc5e6ab3714c16d7862f65881092c8f64
+Subject: [PATCH 282/354] revert-block
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=95122234de3af61b19ef45185fa478a95f1d09d2
Revert swork version of: block: blk-mq: move blk_queue_usage_counter_release() into process context
diff --git a/debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch b/debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch
index fd1086f94..053124d02 100644
--- a/debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch
+++ b/debian/patches-rt/0283-block-blk-mq-move-blk_queue_usage_counter_release-in.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 13 Mar 2018 13:49:16 +0100
-Subject: [PATCH 283/353] block: blk-mq: move blk_queue_usage_counter_release()
+Subject: [PATCH 283/354] block: blk-mq: move blk_queue_usage_counter_release()
into process context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=468da645fc327d9551d6d834526fdd7d7da951b0
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=bfe7ba6f78580409d44da6ece04b07c0a957b268
[ Upstream commit 61c928ecf4fe200bda9b49a0813b5ba0f43995b5 ]
diff --git a/debian/patches-rt/0284-workqueue-rework.patch b/debian/patches-rt/0284-workqueue-rework.patch
index 7acedd9ad..9d553557f 100644
--- a/debian/patches-rt/0284-workqueue-rework.patch
+++ b/debian/patches-rt/0284-workqueue-rework.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 29 May 2019 18:52:27 +0200
-Subject: [PATCH 284/353] workqueue: rework
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=11c0b968a11a4a0c4e9b0e4f4129c5d3dbf995ac
+Subject: [PATCH 284/354] workqueue: rework
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f331f53f8783ce6f1a36700c65f3760236ded195
[ Upstream commit d15a862f24df983458533aebd6fa207ecdd1095a ]
@@ -65,7 +65,7 @@ index aa40960ef4c0..732913d4966c 100644
/*
* Init percpu_ref in atomic mode so that it's faster to shutdown.
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index b8c2c469ce7e..12eb48980df7 100644
+index 2ba7391c4560..2e6c3f658894 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -70,7 +70,7 @@
@@ -293,10 +293,10 @@ index f426a0661aa0..21ae66cd41d3 100644
+
#endif /* _LINUX_SWAIT_H */
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h
-index 60d673e15632..546aa73fba6a 100644
+index a7224fec99a7..7e77fe3900c2 100644
--- a/include/linux/workqueue.h
+++ b/include/linux/workqueue.h
-@@ -455,10 +455,6 @@ __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active,
+@@ -456,10 +456,6 @@ __alloc_workqueue_key(const char *fmt, unsigned int flags, int max_active,
extern void destroy_workqueue(struct workqueue_struct *wq);
@@ -308,10 +308,10 @@ index 60d673e15632..546aa73fba6a 100644
extern bool queue_work_on(int cpu, struct workqueue_struct *wq,
diff --git a/init/main.c b/init/main.c
-index 8555afc3f3e1..703b627a6060 100644
+index c90444ec2990..298257e2cd42 100644
--- a/init/main.c
+++ b/init/main.c
-@@ -1136,7 +1136,6 @@ static noinline void __init kernel_init_freeable(void)
+@@ -1126,7 +1126,6 @@ static noinline void __init kernel_init_freeable(void)
smp_prepare_cpus(setup_max_cpus);
workqueue_init();
@@ -364,7 +364,7 @@ index ab64a3c261bc..dded9ca916eb 100644
* If a worker went to sleep, notify and ask workqueue whether
* it wants to wake up a task to maintain concurrency.
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 6e19604eaa00..92ee6cf49c24 100644
+index fb28793cb87b..089c74ff0511 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -748,29 +748,6 @@ static void hrtimer_switch_to_hres(void)
@@ -406,7 +406,7 @@ index 6e19604eaa00..92ee6cf49c24 100644
#else
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index cb81c7767b17..c047a647146e 100644
+index c148b0b8bda9..8e012510425e 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -50,8 +50,6 @@
@@ -491,7 +491,7 @@ index cb81c7767b17..c047a647146e 100644
#ifdef CONFIG_DEBUG_OBJECTS_WORK
static struct debug_obj_descr work_debug_descr;
-@@ -863,20 +829,14 @@ static struct worker *first_idle_worker(struct worker_pool *pool)
+@@ -866,20 +832,14 @@ static struct worker *first_idle_worker(struct worker_pool *pool)
* Wake up the first idle worker of @pool.
*
* CONTEXT:
@@ -514,7 +514,7 @@ index cb81c7767b17..c047a647146e 100644
}
/**
-@@ -905,7 +865,7 @@ void wq_worker_running(struct task_struct *task)
+@@ -908,7 +868,7 @@ void wq_worker_running(struct task_struct *task)
*/
void wq_worker_sleeping(struct task_struct *task)
{
@@ -523,7 +523,7 @@ index cb81c7767b17..c047a647146e 100644
struct worker_pool *pool;
/*
-@@ -922,18 +882,26 @@ void wq_worker_sleeping(struct task_struct *task)
+@@ -925,18 +885,26 @@ void wq_worker_sleeping(struct task_struct *task)
return;
worker->sleeping = 1;
@@ -553,7 +553,7 @@ index cb81c7767b17..c047a647146e 100644
}
/**
-@@ -944,7 +912,7 @@ void wq_worker_sleeping(struct task_struct *task)
+@@ -947,7 +915,7 @@ void wq_worker_sleeping(struct task_struct *task)
* Set @flags in @worker->flags and adjust nr_running accordingly.
*
* CONTEXT:
@@ -562,7 +562,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static inline void worker_set_flags(struct worker *worker, unsigned int flags)
{
-@@ -969,7 +937,7 @@ static inline void worker_set_flags(struct worker *worker, unsigned int flags)
+@@ -972,7 +940,7 @@ static inline void worker_set_flags(struct worker *worker, unsigned int flags)
* Clear @flags in @worker->flags and adjust nr_running accordingly.
*
* CONTEXT:
@@ -571,7 +571,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static inline void worker_clr_flags(struct worker *worker, unsigned int flags)
{
-@@ -1017,7 +985,7 @@ static inline void worker_clr_flags(struct worker *worker, unsigned int flags)
+@@ -1020,7 +988,7 @@ static inline void worker_clr_flags(struct worker *worker, unsigned int flags)
* actually occurs, it should be easy to locate the culprit work function.
*
* CONTEXT:
@@ -580,7 +580,7 @@ index cb81c7767b17..c047a647146e 100644
*
* Return:
* Pointer to worker which is executing @work if found, %NULL
-@@ -1052,7 +1020,7 @@ static struct worker *find_worker_executing_work(struct worker_pool *pool,
+@@ -1055,7 +1023,7 @@ static struct worker *find_worker_executing_work(struct worker_pool *pool,
* nested inside outer list_for_each_entry_safe().
*
* CONTEXT:
@@ -589,7 +589,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void move_linked_works(struct work_struct *work, struct list_head *head,
struct work_struct **nextp)
-@@ -1130,11 +1098,9 @@ static void put_pwq_unlocked(struct pool_workqueue *pwq)
+@@ -1133,11 +1101,9 @@ static void put_pwq_unlocked(struct pool_workqueue *pwq)
* As both pwqs and pools are RCU protected, the
* following lock operations are safe.
*/
@@ -603,7 +603,7 @@ index cb81c7767b17..c047a647146e 100644
}
}
-@@ -1167,7 +1133,7 @@ static void pwq_activate_first_delayed(struct pool_workqueue *pwq)
+@@ -1170,7 +1136,7 @@ static void pwq_activate_first_delayed(struct pool_workqueue *pwq)
* decrement nr_in_flight of its pwq and handle workqueue flushing.
*
* CONTEXT:
@@ -612,7 +612,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void pwq_dec_nr_in_flight(struct pool_workqueue *pwq, int color)
{
-@@ -1238,7 +1204,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1241,7 +1207,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
struct worker_pool *pool;
struct pool_workqueue *pwq;
@@ -621,7 +621,7 @@ index cb81c7767b17..c047a647146e 100644
/* try to steal the timer if it exists */
if (is_dwork) {
-@@ -1266,7 +1232,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1269,7 +1235,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
if (!pool)
goto fail;
@@ -630,7 +630,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* work->data is guaranteed to point to pwq only while the work
* item is queued on pwq->wq, and both updating work->data to point
-@@ -1295,17 +1261,17 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1298,17 +1264,17 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
/* work->data points to pwq iff queued, point to pool */
set_work_pool_and_keep_pending(work, pool->id);
@@ -652,7 +652,7 @@ index cb81c7767b17..c047a647146e 100644
return -EAGAIN;
}
-@@ -1320,7 +1286,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
+@@ -1323,7 +1289,7 @@ static int try_to_grab_pending(struct work_struct *work, bool is_dwork,
* work_struct flags.
*
* CONTEXT:
@@ -661,7 +661,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void insert_work(struct pool_workqueue *pwq, struct work_struct *work,
struct list_head *head, unsigned int extra_flags)
-@@ -1407,13 +1373,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1410,13 +1376,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
* queued or lose PENDING. Grabbing PENDING and queueing should
* happen with IRQ disabled.
*/
@@ -675,7 +675,7 @@ index cb81c7767b17..c047a647146e 100644
/* if draining, only works from the same workqueue are allowed */
-@@ -1442,7 +1402,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1445,7 +1405,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
if (last_pool && last_pool != pwq->pool) {
struct worker *worker;
@@ -684,7 +684,7 @@ index cb81c7767b17..c047a647146e 100644
worker = find_worker_executing_work(last_pool, work);
-@@ -1450,11 +1410,11 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1453,11 +1413,11 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
pwq = worker->current_pwq;
} else {
/* meh... not running there, queue here */
@@ -699,7 +699,7 @@ index cb81c7767b17..c047a647146e 100644
}
/*
-@@ -1467,7 +1427,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1470,7 +1430,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
*/
if (unlikely(!pwq->refcnt)) {
if (wq->flags & WQ_UNBOUND) {
@@ -708,7 +708,7 @@ index cb81c7767b17..c047a647146e 100644
cpu_relax();
goto retry;
}
-@@ -1500,7 +1460,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
+@@ -1503,7 +1463,7 @@ static void __queue_work(int cpu, struct workqueue_struct *wq,
insert_work(pwq, work, worklist, work_flags);
out:
@@ -717,7 +717,7 @@ index cb81c7767b17..c047a647146e 100644
rcu_read_unlock();
}
-@@ -1521,14 +1481,14 @@ bool queue_work_on(int cpu, struct workqueue_struct *wq,
+@@ -1524,14 +1484,14 @@ bool queue_work_on(int cpu, struct workqueue_struct *wq,
bool ret = false;
unsigned long flags;
@@ -734,7 +734,7 @@ index cb81c7767b17..c047a647146e 100644
return ret;
}
EXPORT_SYMBOL(queue_work_on);
-@@ -1536,12 +1496,11 @@ EXPORT_SYMBOL(queue_work_on);
+@@ -1539,12 +1499,11 @@ EXPORT_SYMBOL(queue_work_on);
void delayed_work_timer_fn(struct timer_list *t)
{
struct delayed_work *dwork = from_timer(dwork, t, timer);
@@ -750,7 +750,7 @@ index cb81c7767b17..c047a647146e 100644
}
EXPORT_SYMBOL(delayed_work_timer_fn);
-@@ -1596,14 +1555,14 @@ bool queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
+@@ -1599,14 +1558,14 @@ bool queue_delayed_work_on(int cpu, struct workqueue_struct *wq,
unsigned long flags;
/* read the comment in __queue_work() */
@@ -767,7 +767,7 @@ index cb81c7767b17..c047a647146e 100644
return ret;
}
EXPORT_SYMBOL(queue_delayed_work_on);
-@@ -1638,7 +1597,7 @@ bool mod_delayed_work_on(int cpu, struct workqueue_struct *wq,
+@@ -1641,7 +1600,7 @@ bool mod_delayed_work_on(int cpu, struct workqueue_struct *wq,
if (likely(ret >= 0)) {
__queue_delayed_work(cpu, wq, dwork, delay);
@@ -776,7 +776,7 @@ index cb81c7767b17..c047a647146e 100644
}
/* -ENOENT from try_to_grab_pending() becomes %true */
-@@ -1649,12 +1608,11 @@ EXPORT_SYMBOL_GPL(mod_delayed_work_on);
+@@ -1652,12 +1611,11 @@ EXPORT_SYMBOL_GPL(mod_delayed_work_on);
static void rcu_work_rcufn(struct rcu_head *rcu)
{
struct rcu_work *rwork = container_of(rcu, struct rcu_work, rcu);
@@ -791,7 +791,7 @@ index cb81c7767b17..c047a647146e 100644
}
/**
-@@ -1689,7 +1647,7 @@ EXPORT_SYMBOL(queue_rcu_work);
+@@ -1692,7 +1650,7 @@ EXPORT_SYMBOL(queue_rcu_work);
* necessary.
*
* LOCKING:
@@ -800,7 +800,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void worker_enter_idle(struct worker *worker)
{
-@@ -1706,9 +1664,7 @@ static void worker_enter_idle(struct worker *worker)
+@@ -1709,9 +1667,7 @@ static void worker_enter_idle(struct worker *worker)
worker->last_active = jiffies;
/* idle_list is LIFO */
@@ -810,7 +810,7 @@ index cb81c7767b17..c047a647146e 100644
if (too_many_workers(pool) && !timer_pending(&pool->idle_timer))
mod_timer(&pool->idle_timer, jiffies + IDLE_WORKER_TIMEOUT);
-@@ -1731,7 +1687,7 @@ static void worker_enter_idle(struct worker *worker)
+@@ -1734,7 +1690,7 @@ static void worker_enter_idle(struct worker *worker)
* @worker is leaving idle state. Update stats.
*
* LOCKING:
@@ -819,7 +819,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void worker_leave_idle(struct worker *worker)
{
-@@ -1741,9 +1697,7 @@ static void worker_leave_idle(struct worker *worker)
+@@ -1744,9 +1700,7 @@ static void worker_leave_idle(struct worker *worker)
return;
worker_clr_flags(worker, WORKER_IDLE);
pool->nr_idle--;
@@ -829,7 +829,7 @@ index cb81c7767b17..c047a647146e 100644
}
static struct worker *alloc_worker(int node)
-@@ -1868,11 +1822,11 @@ static struct worker *create_worker(struct worker_pool *pool)
+@@ -1871,11 +1825,11 @@ static struct worker *create_worker(struct worker_pool *pool)
worker_attach_to_pool(worker, pool);
/* start the newly created worker */
@@ -843,7 +843,7 @@ index cb81c7767b17..c047a647146e 100644
return worker;
-@@ -1891,7 +1845,7 @@ static struct worker *create_worker(struct worker_pool *pool)
+@@ -1894,7 +1848,7 @@ static struct worker *create_worker(struct worker_pool *pool)
* be idle.
*
* CONTEXT:
@@ -852,7 +852,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void destroy_worker(struct worker *worker)
{
-@@ -1908,9 +1862,7 @@ static void destroy_worker(struct worker *worker)
+@@ -1911,9 +1865,7 @@ static void destroy_worker(struct worker *worker)
pool->nr_workers--;
pool->nr_idle--;
@@ -862,7 +862,7 @@ index cb81c7767b17..c047a647146e 100644
worker->flags |= WORKER_DIE;
wake_up_process(worker->task);
}
-@@ -1919,7 +1871,7 @@ static void idle_worker_timeout(struct timer_list *t)
+@@ -1922,7 +1874,7 @@ static void idle_worker_timeout(struct timer_list *t)
{
struct worker_pool *pool = from_timer(pool, t, idle_timer);
@@ -871,7 +871,7 @@ index cb81c7767b17..c047a647146e 100644
while (too_many_workers(pool)) {
struct worker *worker;
-@@ -1937,7 +1889,7 @@ static void idle_worker_timeout(struct timer_list *t)
+@@ -1940,7 +1892,7 @@ static void idle_worker_timeout(struct timer_list *t)
destroy_worker(worker);
}
@@ -880,7 +880,7 @@ index cb81c7767b17..c047a647146e 100644
}
static void send_mayday(struct work_struct *work)
-@@ -1968,8 +1920,8 @@ static void pool_mayday_timeout(struct timer_list *t)
+@@ -1971,8 +1923,8 @@ static void pool_mayday_timeout(struct timer_list *t)
struct worker_pool *pool = from_timer(pool, t, mayday_timer);
struct work_struct *work;
@@ -891,7 +891,7 @@ index cb81c7767b17..c047a647146e 100644
if (need_to_create_worker(pool)) {
/*
-@@ -1982,8 +1934,8 @@ static void pool_mayday_timeout(struct timer_list *t)
+@@ -1985,8 +1937,8 @@ static void pool_mayday_timeout(struct timer_list *t)
send_mayday(work);
}
@@ -902,7 +902,7 @@ index cb81c7767b17..c047a647146e 100644
mod_timer(&pool->mayday_timer, jiffies + MAYDAY_INTERVAL);
}
-@@ -2002,7 +1954,7 @@ static void pool_mayday_timeout(struct timer_list *t)
+@@ -2005,7 +1957,7 @@ static void pool_mayday_timeout(struct timer_list *t)
* may_start_working() %true.
*
* LOCKING:
@@ -911,7 +911,7 @@ index cb81c7767b17..c047a647146e 100644
* multiple times. Does GFP_KERNEL allocations. Called only from
* manager.
*/
-@@ -2011,7 +1963,7 @@ __releases(&pool->lock)
+@@ -2014,7 +1966,7 @@ __releases(&pool->lock)
__acquires(&pool->lock)
{
restart:
@@ -920,7 +920,7 @@ index cb81c7767b17..c047a647146e 100644
/* if we don't make progress in MAYDAY_INITIAL_TIMEOUT, call for help */
mod_timer(&pool->mayday_timer, jiffies + MAYDAY_INITIAL_TIMEOUT);
-@@ -2027,7 +1979,7 @@ __acquires(&pool->lock)
+@@ -2030,7 +1982,7 @@ __acquires(&pool->lock)
}
del_timer_sync(&pool->mayday_timer);
@@ -929,7 +929,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* This is necessary even after a new worker was just successfully
* created as @pool->lock was dropped and the new worker might have
-@@ -2050,7 +2002,7 @@ __acquires(&pool->lock)
+@@ -2053,7 +2005,7 @@ __acquires(&pool->lock)
* and may_start_working() is true.
*
* CONTEXT:
@@ -938,7 +938,7 @@ index cb81c7767b17..c047a647146e 100644
* multiple times. Does GFP_KERNEL allocations.
*
* Return:
-@@ -2073,7 +2025,7 @@ static bool manage_workers(struct worker *worker)
+@@ -2076,7 +2028,7 @@ static bool manage_workers(struct worker *worker)
pool->manager = NULL;
pool->flags &= ~POOL_MANAGER_ACTIVE;
@@ -947,7 +947,7 @@ index cb81c7767b17..c047a647146e 100644
return true;
}
-@@ -2089,7 +2041,7 @@ static bool manage_workers(struct worker *worker)
+@@ -2092,7 +2044,7 @@ static bool manage_workers(struct worker *worker)
* call this function to process a work.
*
* CONTEXT:
@@ -956,7 +956,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void process_one_work(struct worker *worker, struct work_struct *work)
__releases(&pool->lock)
-@@ -2171,7 +2123,7 @@ __acquires(&pool->lock)
+@@ -2174,7 +2126,7 @@ __acquires(&pool->lock)
*/
set_work_pool_and_clear_pending(work, pool->id);
@@ -965,7 +965,7 @@ index cb81c7767b17..c047a647146e 100644
lock_map_acquire(&pwq->wq->lockdep_map);
lock_map_acquire(&lockdep_map);
-@@ -2226,7 +2178,7 @@ __acquires(&pool->lock)
+@@ -2229,7 +2181,7 @@ __acquires(&pool->lock)
*/
cond_resched();
@@ -974,7 +974,7 @@ index cb81c7767b17..c047a647146e 100644
/* clear cpu intensive status */
if (unlikely(cpu_intensive))
-@@ -2249,7 +2201,7 @@ __acquires(&pool->lock)
+@@ -2252,7 +2204,7 @@ __acquires(&pool->lock)
* fetches a work from the top and executes it.
*
* CONTEXT:
@@ -983,7 +983,7 @@ index cb81c7767b17..c047a647146e 100644
* multiple times.
*/
static void process_scheduled_works(struct worker *worker)
-@@ -2291,11 +2243,11 @@ static int worker_thread(void *__worker)
+@@ -2294,11 +2246,11 @@ static int worker_thread(void *__worker)
/* tell the scheduler that this is a workqueue worker */
set_pf_worker(true);
woke_up:
@@ -997,7 +997,7 @@ index cb81c7767b17..c047a647146e 100644
WARN_ON_ONCE(!list_empty(&worker->entry));
set_pf_worker(false);
-@@ -2361,7 +2313,7 @@ static int worker_thread(void *__worker)
+@@ -2364,7 +2316,7 @@ static int worker_thread(void *__worker)
*/
worker_enter_idle(worker);
__set_current_state(TASK_IDLE);
@@ -1006,7 +1006,7 @@ index cb81c7767b17..c047a647146e 100644
schedule();
goto woke_up;
}
-@@ -2415,7 +2367,7 @@ static int rescuer_thread(void *__rescuer)
+@@ -2418,7 +2370,7 @@ static int rescuer_thread(void *__rescuer)
should_stop = kthread_should_stop();
/* see whether any pwq is asking for help */
@@ -1015,7 +1015,7 @@ index cb81c7767b17..c047a647146e 100644
while (!list_empty(&wq->maydays)) {
struct pool_workqueue *pwq = list_first_entry(&wq->maydays,
-@@ -2427,11 +2379,11 @@ static int rescuer_thread(void *__rescuer)
+@@ -2430,11 +2382,11 @@ static int rescuer_thread(void *__rescuer)
__set_current_state(TASK_RUNNING);
list_del_init(&pwq->mayday_node);
@@ -1029,7 +1029,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* Slurp in all works issued via this workqueue and
-@@ -2460,7 +2412,7 @@ static int rescuer_thread(void *__rescuer)
+@@ -2463,7 +2415,7 @@ static int rescuer_thread(void *__rescuer)
* incur MAYDAY_INTERVAL delay inbetween.
*/
if (need_to_create_worker(pool)) {
@@ -1038,7 +1038,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* Queue iff we aren't racing destruction
* and somebody else hasn't queued it already.
-@@ -2469,7 +2421,7 @@ static int rescuer_thread(void *__rescuer)
+@@ -2472,7 +2424,7 @@ static int rescuer_thread(void *__rescuer)
get_pwq(pwq);
list_add_tail(&pwq->mayday_node, &wq->maydays);
}
@@ -1047,7 +1047,7 @@ index cb81c7767b17..c047a647146e 100644
}
}
-@@ -2487,14 +2439,14 @@ static int rescuer_thread(void *__rescuer)
+@@ -2490,14 +2442,14 @@ static int rescuer_thread(void *__rescuer)
if (need_more_worker(pool))
wake_up_worker(pool);
@@ -1065,7 +1065,7 @@ index cb81c7767b17..c047a647146e 100644
if (should_stop) {
__set_current_state(TASK_RUNNING);
-@@ -2574,7 +2526,7 @@ static void wq_barrier_func(struct work_struct *work)
+@@ -2577,7 +2529,7 @@ static void wq_barrier_func(struct work_struct *work)
* underneath us, so we can't reliably determine pwq from @target.
*
* CONTEXT:
@@ -1074,7 +1074,7 @@ index cb81c7767b17..c047a647146e 100644
*/
static void insert_wq_barrier(struct pool_workqueue *pwq,
struct wq_barrier *barr,
-@@ -2661,7 +2613,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq,
+@@ -2664,7 +2616,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq,
for_each_pwq(pwq, wq) {
struct worker_pool *pool = pwq->pool;
@@ -1083,7 +1083,7 @@ index cb81c7767b17..c047a647146e 100644
if (flush_color >= 0) {
WARN_ON_ONCE(pwq->flush_color != -1);
-@@ -2678,7 +2630,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq,
+@@ -2681,7 +2633,7 @@ static bool flush_workqueue_prep_pwqs(struct workqueue_struct *wq,
pwq->work_color = work_color;
}
@@ -1092,7 +1092,7 @@ index cb81c7767b17..c047a647146e 100644
}
if (flush_color >= 0 && atomic_dec_and_test(&wq->nr_pwqs_to_flush))
-@@ -2878,9 +2830,9 @@ void drain_workqueue(struct workqueue_struct *wq)
+@@ -2881,9 +2833,9 @@ void drain_workqueue(struct workqueue_struct *wq)
for_each_pwq(pwq, wq) {
bool drained;
@@ -1104,7 +1104,7 @@ index cb81c7767b17..c047a647146e 100644
if (drained)
continue;
-@@ -2916,7 +2868,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
+@@ -2919,7 +2871,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
return false;
}
@@ -1113,7 +1113,7 @@ index cb81c7767b17..c047a647146e 100644
/* see the comment in try_to_grab_pending() with the same code */
pwq = get_work_pwq(work);
if (pwq) {
-@@ -2932,7 +2884,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
+@@ -2935,7 +2887,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
check_flush_dependency(pwq->wq, work);
insert_wq_barrier(pwq, barr, work, worker);
@@ -1122,7 +1122,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* Force a lock recursion deadlock when using flush_work() inside a
-@@ -2951,7 +2903,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
+@@ -2954,7 +2906,7 @@ static bool start_flush_work(struct work_struct *work, struct wq_barrier *barr,
rcu_read_unlock();
return true;
already_gone:
@@ -1131,7 +1131,7 @@ index cb81c7767b17..c047a647146e 100644
rcu_read_unlock();
return false;
}
-@@ -3050,7 +3002,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork)
+@@ -3053,7 +3005,7 @@ static bool __cancel_work_timer(struct work_struct *work, bool is_dwork)
/* tell other tasks trying to grab @work to back off */
mark_work_canceling(work);
@@ -1140,7 +1140,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* This allows canceling during early boot. We know that @work
-@@ -3111,10 +3063,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync);
+@@ -3114,10 +3066,10 @@ EXPORT_SYMBOL_GPL(cancel_work_sync);
*/
bool flush_delayed_work(struct delayed_work *dwork)
{
@@ -1153,7 +1153,7 @@ index cb81c7767b17..c047a647146e 100644
return flush_work(&dwork->work);
}
EXPORT_SYMBOL(flush_delayed_work);
-@@ -3152,7 +3104,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork)
+@@ -3155,7 +3107,7 @@ static bool __cancel_work(struct work_struct *work, bool is_dwork)
return false;
set_work_pool_and_clear_pending(work, get_work_pool_id(work));
@@ -1162,7 +1162,7 @@ index cb81c7767b17..c047a647146e 100644
return ret;
}
-@@ -3262,7 +3214,7 @@ EXPORT_SYMBOL_GPL(execute_in_process_context);
+@@ -3265,7 +3217,7 @@ EXPORT_SYMBOL_GPL(execute_in_process_context);
*
* Undo alloc_workqueue_attrs().
*/
@@ -1171,7 +1171,7 @@ index cb81c7767b17..c047a647146e 100644
{
if (attrs) {
free_cpumask_var(attrs->cpumask);
-@@ -3272,21 +3224,20 @@ void free_workqueue_attrs(struct workqueue_attrs *attrs)
+@@ -3275,21 +3227,20 @@ void free_workqueue_attrs(struct workqueue_attrs *attrs)
/**
* alloc_workqueue_attrs - allocate a workqueue_attrs
@@ -1196,7 +1196,7 @@ index cb81c7767b17..c047a647146e 100644
goto fail;
cpumask_copy(attrs->cpumask, cpu_possible_mask);
-@@ -3343,7 +3294,7 @@ static bool wqattrs_equal(const struct workqueue_attrs *a,
+@@ -3346,7 +3297,7 @@ static bool wqattrs_equal(const struct workqueue_attrs *a,
*/
static int init_worker_pool(struct worker_pool *pool)
{
@@ -1205,7 +1205,7 @@ index cb81c7767b17..c047a647146e 100644
pool->id = -1;
pool->cpu = -1;
pool->node = NUMA_NO_NODE;
-@@ -3364,7 +3315,7 @@ static int init_worker_pool(struct worker_pool *pool)
+@@ -3367,7 +3318,7 @@ static int init_worker_pool(struct worker_pool *pool)
pool->refcnt = 1;
/* shouldn't fail above this point */
@@ -1214,7 +1214,7 @@ index cb81c7767b17..c047a647146e 100644
if (!pool->attrs)
return -ENOMEM;
return 0;
-@@ -3429,15 +3380,15 @@ static void put_unbound_pool(struct worker_pool *pool)
+@@ -3432,15 +3383,15 @@ static void put_unbound_pool(struct worker_pool *pool)
* @pool's workers from blocking on attach_mutex. We're the last
* manager and @pool gets freed with the flag set.
*/
@@ -1233,7 +1233,7 @@ index cb81c7767b17..c047a647146e 100644
mutex_lock(&wq_pool_attach_mutex);
if (!list_empty(&pool->workers))
-@@ -3597,7 +3548,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq)
+@@ -3600,7 +3551,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq)
return;
/* this function can be called during early boot w/ irq disabled */
@@ -1242,7 +1242,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* During [un]freezing, the caller is responsible for ensuring that
-@@ -3627,7 +3578,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq)
+@@ -3630,7 +3581,7 @@ static void pwq_adjust_max_active(struct pool_workqueue *pwq)
pwq->max_active = 0;
}
@@ -1251,7 +1251,7 @@ index cb81c7767b17..c047a647146e 100644
}
/* initialize newly alloced @pwq which is associated with @wq and @pool */
-@@ -3800,8 +3751,8 @@ apply_wqattrs_prepare(struct workqueue_struct *wq,
+@@ -3803,8 +3754,8 @@ apply_wqattrs_prepare(struct workqueue_struct *wq,
ctx = kzalloc(struct_size(ctx, pwq_tbl, nr_node_ids), GFP_KERNEL);
@@ -1262,7 +1262,7 @@ index cb81c7767b17..c047a647146e 100644
if (!ctx || !new_attrs || !tmp_attrs)
goto out_free;
-@@ -3937,7 +3888,7 @@ static int apply_workqueue_attrs_locked(struct workqueue_struct *wq,
+@@ -3940,7 +3891,7 @@ static int apply_workqueue_attrs_locked(struct workqueue_struct *wq,
*
* Return: 0 on success and -errno on failure.
*/
@@ -1271,7 +1271,7 @@ index cb81c7767b17..c047a647146e 100644
const struct workqueue_attrs *attrs)
{
int ret;
-@@ -3948,7 +3899,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq,
+@@ -3951,7 +3902,6 @@ int apply_workqueue_attrs(struct workqueue_struct *wq,
return ret;
}
@@ -1279,7 +1279,7 @@ index cb81c7767b17..c047a647146e 100644
/**
* wq_update_unbound_numa - update NUMA affinity of a wq for CPU hot[un]plug
-@@ -4026,9 +3976,9 @@ static void wq_update_unbound_numa(struct workqueue_struct *wq, int cpu,
+@@ -4029,9 +3979,9 @@ static void wq_update_unbound_numa(struct workqueue_struct *wq, int cpu,
use_dfl_pwq:
mutex_lock(&wq->mutex);
@@ -1291,7 +1291,7 @@ index cb81c7767b17..c047a647146e 100644
old_pwq = numa_pwq_tbl_install(wq, node, wq->dfl_pwq);
out_unlock:
mutex_unlock(&wq->mutex);
-@@ -4147,7 +4097,7 @@ struct workqueue_struct *__alloc_workqueue_key(const char *fmt,
+@@ -4150,7 +4100,7 @@ struct workqueue_struct *__alloc_workqueue_key(const char *fmt,
return NULL;
if (flags & WQ_UNBOUND) {
@@ -1300,7 +1300,7 @@ index cb81c7767b17..c047a647146e 100644
if (!wq->unbound_attrs)
goto err_free_wq;
}
-@@ -4234,9 +4184,9 @@ void destroy_workqueue(struct workqueue_struct *wq)
+@@ -4237,9 +4187,9 @@ void destroy_workqueue(struct workqueue_struct *wq)
struct worker *rescuer = wq->rescuer;
/* this prevents new queueing */
@@ -1312,7 +1312,7 @@ index cb81c7767b17..c047a647146e 100644
/* rescuer will empty maydays list before exiting */
kthread_stop(rescuer->task);
-@@ -4431,10 +4381,10 @@ unsigned int work_busy(struct work_struct *work)
+@@ -4434,10 +4384,10 @@ unsigned int work_busy(struct work_struct *work)
rcu_read_lock();
pool = get_work_pool(work);
if (pool) {
@@ -1325,7 +1325,7 @@ index cb81c7767b17..c047a647146e 100644
}
rcu_read_unlock();
-@@ -4641,10 +4591,10 @@ void show_workqueue_state(void)
+@@ -4644,10 +4594,10 @@ void show_workqueue_state(void)
pr_info("workqueue %s: flags=0x%x\n", wq->name, wq->flags);
for_each_pwq(pwq, wq) {
@@ -1338,7 +1338,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* We could be printing a lot from atomic context, e.g.
* sysrq-t -> show_workqueue_state(). Avoid triggering
-@@ -4658,7 +4608,7 @@ void show_workqueue_state(void)
+@@ -4661,7 +4611,7 @@ void show_workqueue_state(void)
struct worker *worker;
bool first = true;
@@ -1347,7 +1347,7 @@ index cb81c7767b17..c047a647146e 100644
if (pool->nr_workers == pool->nr_idle)
goto next_pool;
-@@ -4677,7 +4627,7 @@ void show_workqueue_state(void)
+@@ -4680,7 +4630,7 @@ void show_workqueue_state(void)
}
pr_cont("\n");
next_pool:
@@ -1356,7 +1356,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* We could be printing a lot from atomic context, e.g.
* sysrq-t -> show_workqueue_state(). Avoid triggering
-@@ -4707,7 +4657,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task)
+@@ -4710,7 +4660,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task)
struct worker_pool *pool = worker->pool;
if (pool) {
@@ -1365,7 +1365,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* ->desc tracks information (wq name or
* set_worker_desc()) for the latest execution. If
-@@ -4721,7 +4671,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task)
+@@ -4724,7 +4674,7 @@ void wq_worker_comm(char *buf, size_t size, struct task_struct *task)
scnprintf(buf + off, size - off, "-%s",
worker->desc);
}
@@ -1374,7 +1374,7 @@ index cb81c7767b17..c047a647146e 100644
}
}
-@@ -4752,7 +4702,7 @@ static void unbind_workers(int cpu)
+@@ -4755,7 +4705,7 @@ static void unbind_workers(int cpu)
for_each_cpu_worker_pool(pool, cpu) {
mutex_lock(&wq_pool_attach_mutex);
@@ -1383,7 +1383,7 @@ index cb81c7767b17..c047a647146e 100644
/*
* We've blocked all attach/detach operations. Make all workers
-@@ -4766,7 +4716,7 @@ static void unbind_workers(int cpu)
+@@ -4769,7 +4719,7 @@ static void unbind_workers(int cpu)
pool->flags |= POOL_DISASSOCIATED;
@@ -1392,7 +1392,7 @@ index cb81c7767b17..c047a647146e 100644
mutex_unlock(&wq_pool_attach_mutex);
/*
-@@ -4792,9 +4742,9 @@ static void unbind_workers(int cpu)
+@@ -4795,9 +4745,9 @@ static void unbind_workers(int cpu)
* worker blocking could lead to lengthy stalls. Kick off
* unbound chain execution of currently pending work items.
*/
@@ -1404,7 +1404,7 @@ index cb81c7767b17..c047a647146e 100644
}
}
-@@ -4821,7 +4771,7 @@ static void rebind_workers(struct worker_pool *pool)
+@@ -4824,7 +4774,7 @@ static void rebind_workers(struct worker_pool *pool)
WARN_ON_ONCE(set_cpus_allowed_ptr(worker->task,
pool->attrs->cpumask) < 0);
@@ -1413,7 +1413,7 @@ index cb81c7767b17..c047a647146e 100644
pool->flags &= ~POOL_DISASSOCIATED;
-@@ -4860,7 +4810,7 @@ static void rebind_workers(struct worker_pool *pool)
+@@ -4863,7 +4813,7 @@ static void rebind_workers(struct worker_pool *pool)
WRITE_ONCE(worker->flags, worker_flags);
}
@@ -1422,7 +1422,7 @@ index cb81c7767b17..c047a647146e 100644
}
/**
-@@ -5319,7 +5269,7 @@ static struct workqueue_attrs *wq_sysfs_prep_attrs(struct workqueue_struct *wq)
+@@ -5326,7 +5276,7 @@ static struct workqueue_attrs *wq_sysfs_prep_attrs(struct workqueue_struct *wq)
lockdep_assert_held(&wq_pool_mutex);
@@ -1431,7 +1431,7 @@ index cb81c7767b17..c047a647146e 100644
if (!attrs)
return NULL;
-@@ -5748,7 +5698,7 @@ static void __init wq_numa_init(void)
+@@ -5755,7 +5705,7 @@ static void __init wq_numa_init(void)
return;
}
@@ -1440,7 +1440,7 @@ index cb81c7767b17..c047a647146e 100644
BUG_ON(!wq_update_unbound_numa_attrs_buf);
/*
-@@ -5823,7 +5773,7 @@ int __init workqueue_init_early(void)
+@@ -5830,7 +5780,7 @@ int __init workqueue_init_early(void)
for (i = 0; i < NR_STD_WORKER_POOLS; i++) {
struct workqueue_attrs *attrs;
@@ -1449,7 +1449,7 @@ index cb81c7767b17..c047a647146e 100644
attrs->nice = std_nice[i];
unbound_std_wq_attrs[i] = attrs;
-@@ -5832,7 +5782,7 @@ int __init workqueue_init_early(void)
+@@ -5839,7 +5789,7 @@ int __init workqueue_init_early(void)
* guaranteed by max_active which is enforced by pwqs.
* Turn off NUMA so that dfl_pwq is used for all nodes.
*/
diff --git a/debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch b/debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch
index 656441dba..8105a0518 100644
--- a/debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch
+++ b/debian/patches-rt/0285-i2c-exynos5-Remove-IRQF_ONESHOT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 13 Aug 2019 12:30:12 +0200
-Subject: [PATCH 285/353] i2c: exynos5: Remove IRQF_ONESHOT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e4f0bc9902f8516a6a18918ebdea0cc946225762
+Subject: [PATCH 285/354] i2c: exynos5: Remove IRQF_ONESHOT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=92b3710a41893b9fec5d7e30b30167e052b6f858
[ Upstream commit 4b217df0ab3f7910c96e42091cc7d9f221d05f01 ]
diff --git a/debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch b/debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch
index 1b56bc7d6..d72e96acf 100644
--- a/debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch
+++ b/debian/patches-rt/0286-i2c-hix5hd2-Remove-IRQF_ONESHOT.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 13 Aug 2019 12:30:37 +0200
-Subject: [PATCH 286/353] i2c: hix5hd2: Remove IRQF_ONESHOT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cc1104b08361696b6b71dffd43e16583ce515fd5
+Subject: [PATCH 286/354] i2c: hix5hd2: Remove IRQF_ONESHOT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=95604809c4c2d56015d7a04a775bc373be7bc1eb
[ Upstream commit e88b481f3f86f11e3243e0808a830e5ca5782a9d ]
diff --git a/debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch b/debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch
index 0f3777794..394f4a487 100644
--- a/debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch
+++ b/debian/patches-rt/0287-sched-deadline-Ensure-inactive_timer-runs-in-hardirq.patch
@@ -1,8 +1,8 @@
From: Juri Lelli <juri.lelli@redhat.com>
Date: Wed, 31 Jul 2019 12:37:15 +0200
-Subject: [PATCH 287/353] sched/deadline: Ensure inactive_timer runs in hardirq
+Subject: [PATCH 287/354] sched/deadline: Ensure inactive_timer runs in hardirq
context
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=33b8449cf20c75ee255c7b492f6ae53c013e3def
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=015cef02b3a90264f060ee3459f1b0593f459110
[ Upstream commit ba94e7aed7405c58251b1380e6e7d73aa8284b41 ]
diff --git a/debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch b/debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch
index 1632d9893..14f0f2c88 100644
--- a/debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch
+++ b/debian/patches-rt/0288-thermal-x86_pkg_temp-make-pkg_temp_lock-a-raw-spinlo.patch
@@ -1,8 +1,8 @@
From: Clark Williams <williams@redhat.com>
Date: Mon, 15 Jul 2019 15:25:00 -0500
-Subject: [PATCH 288/353] thermal/x86_pkg_temp: make pkg_temp_lock a raw
+Subject: [PATCH 288/354] thermal/x86_pkg_temp: make pkg_temp_lock a raw
spinlock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2d9572955bd495cac1572c1d3bbc28b80c3f0999
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7b439f8ddef4bbd86bd6c6a92f6fa578afccd1a1
[ Upstream commit 8b03bb3ea7861b70b506199a69b1c8f81fe2d4d0 ]
diff --git a/debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch b/debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch
index 79c39bf9c..756b6880a 100644
--- a/debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch
+++ b/debian/patches-rt/0289-dma-buf-Use-seqlock_t-instread-disabling-preemption.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Aug 2019 16:38:43 +0200
-Subject: [PATCH 289/353] dma-buf: Use seqlock_t instread disabling preemption
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f06b5fe097018422f3d5981c51e0355b5dd6cfc4
+Subject: [PATCH 289/354] dma-buf: Use seqlock_t instread disabling preemption
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b1c39223381cec7a342ce1f99ed7eeb049d4cd47
[ Upstream commit 240610aa31094f51f299f06eb8dae8d4cd8d4500 ]
diff --git a/debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch b/debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch
index 3bb0fbfc9..c8b1b5325 100644
--- a/debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch
+++ b/debian/patches-rt/0290-KVM-arm-arm64-Let-the-timer-expire-in-hardirq-contex.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Tue, 13 Aug 2019 14:29:41 +0200
-Subject: [PATCH 290/353] KVM: arm/arm64: Let the timer expire in hardirq
+Subject: [PATCH 290/354] KVM: arm/arm64: Let the timer expire in hardirq
context on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2b21d451eb954108eaafe77777e228684fe1a204
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=135c92672dc057f73fa6e86908082e6ae340554e
[ Upstream commit 719cc080c914045a6e35787bf4dc3ba91cfd3efb ]
diff --git a/debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch b/debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch
index 81ad5f5cc..824286a8a 100644
--- a/debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch
+++ b/debian/patches-rt/0291-x86-preempt-Check-preemption-level-before-looking-at.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 14 Aug 2019 17:08:58 +0200
-Subject: [PATCH 291/353] x86: preempt: Check preemption level before looking
+Subject: [PATCH 291/354] x86: preempt: Check preemption level before looking
at lazy-preempt
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8cbc52c4edd1435f24f0aee500f2b44e6091b345
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=05b92de6612a8913b14e0f51a4a998fcfcf90d27
[ Upstream commit 19fc8557f2323c52b26561651ed4d51fc688a740 ]
diff --git a/debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch b/debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch
index c16df6892..36ca6b33f 100644
--- a/debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch
+++ b/debian/patches-rt/0292-hrtimer-Use-READ_ONCE-to-access-timer-base-in-hrimer.patch
@@ -1,8 +1,8 @@
From: Julien Grall <julien.grall@arm.com>
Date: Wed, 21 Aug 2019 10:24:07 +0100
-Subject: [PATCH 292/353] hrtimer: Use READ_ONCE to access timer->base in
+Subject: [PATCH 292/354] hrtimer: Use READ_ONCE to access timer->base in
hrimer_grab_expiry_lock()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5817dd3ce58d48f4407ab82766339582745ff505
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=633223e872d06689128bafec90d4f2454a3218c9
[ Upstream commit 2c8fdbe7ef0ad06c1a326886c5954e117b5657d6 ]
@@ -24,7 +24,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 92ee6cf49c24..a868444c6154 100644
+index 089c74ff0511..648e41adf4ac 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -959,7 +959,7 @@ EXPORT_SYMBOL_GPL(hrtimer_forward);
diff --git a/debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch b/debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch
index 67a06e013..bc74b61ed 100644
--- a/debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch
+++ b/debian/patches-rt/0293-hrtimer-Don-t-grab-the-expiry-lock-for-non-soft-hrti.patch
@@ -1,8 +1,8 @@
From: Julien Grall <julien.grall@arm.com>
Date: Wed, 21 Aug 2019 10:24:08 +0100
-Subject: [PATCH 293/353] hrtimer: Don't grab the expiry lock for non-soft
+Subject: [PATCH 293/354] hrtimer: Don't grab the expiry lock for non-soft
hrtimer
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=092ae9a94d427cc8e7f9785d080600083352ff51
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9ee4f927ee17ee9abcc7af060180675b20086060
[ Upstream commit fd420354bea2f57c11f3de191dffdeea76531e76 ]
@@ -23,7 +23,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index a868444c6154..303e8cb2b52b 100644
+index 648e41adf4ac..834295861161 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -961,7 +961,7 @@ void hrtimer_grab_expiry_lock(const struct hrtimer *timer)
diff --git a/debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch b/debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch
index d4e68cff4..4e84053e8 100644
--- a/debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch
+++ b/debian/patches-rt/0294-hrtimer-Prevent-using-hrtimer_grab_expiry_lock-on-mi.patch
@@ -1,8 +1,8 @@
From: Julien Grall <julien.grall@arm.com>
Date: Wed, 21 Aug 2019 10:24:09 +0100
-Subject: [PATCH 294/353] hrtimer: Prevent using hrtimer_grab_expiry_lock() on
+Subject: [PATCH 294/354] hrtimer: Prevent using hrtimer_grab_expiry_lock() on
migration_base
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e6152518bccba12b3bbdd47b5d5c4cdd56541609
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e353598442a0afb191f9b7779c632aa906882d1e
[ Upstream commit cef1b87f98823af923a386f3f69149acb212d4a1 ]
@@ -25,7 +25,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 303e8cb2b52b..5a053bef18e7 100644
+index 834295861161..d643a1a7c06b 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -961,7 +961,7 @@ void hrtimer_grab_expiry_lock(const struct hrtimer *timer)
diff --git a/debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch b/debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch
index 7dd4d0442..0501aefde 100644
--- a/debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch
+++ b/debian/patches-rt/0295-hrtimer-Add-a-missing-bracket-and-hide-migration_bas.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 4 Sep 2019 16:55:27 +0200
-Subject: [PATCH 295/353] hrtimer: Add a missing bracket and hide
+Subject: [PATCH 295/354] hrtimer: Add a missing bracket and hide
`migration_base' on !SMP
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d4d0aa6302835846430bf1cde91bb94ec6ec8987
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6b7a0249ca4a351df0c66ba1cc3e12830d3c89e7
[ Upstream commit 47b6de0b7f22c28b40275aeede3993d807668c3b ]
@@ -33,7 +33,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 5a053bef18e7..3a5e258c243a 100644
+index d643a1a7c06b..67b91ab1c7e2 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -150,6 +150,11 @@ static struct hrtimer_cpu_base migration_cpu_base = {
diff --git a/debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch b/debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch
index bd957b6ab..e4c974706 100644
--- a/debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch
+++ b/debian/patches-rt/0296-posix-timers-Unlock-expiry-lock-in-the-early-return.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 16 Sep 2019 12:33:59 +0200
-Subject: [PATCH 296/353] posix-timers: Unlock expiry lock in the early return
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6786bf935fdb78423332e7a435b63a52809facde
+Subject: [PATCH 296/354] posix-timers: Unlock expiry lock in the early return
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=41718885273a82017896606e12cd8d23188cdb8d
[ Upstream commit 356a2781375ec58521a9bc3f500488745990c242 ]
diff --git a/debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch b/debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch
index ccd295d1a..0d230fa20 100644
--- a/debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch
+++ b/debian/patches-rt/0297-sched-migrate_dis-enable-Use-sleeping_lock-to-annota.patch
@@ -1,11 +1,11 @@
From: Scott Wood <swood@redhat.com>
Date: Tue, 24 Sep 2019 14:36:41 +0200
-Subject: [PATCH 297/353] =?UTF-8?q?sched:=20migrate=5Fdis/enable:=20Use=20?=
+Subject: [PATCH 297/354] =?UTF-8?q?sched:=20migrate=5Fdis/enable:=20Use=20?=
=?UTF-8?q?sleeping=5Flock=E2=80=A6()=20to=20annotate=20sleeping=20points?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b49a31f9d5d7fdda03f5bcb45ad967ef89f9821d
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f1a7c6b6fc4b40b5f8abbf40f75ba741feb4d95a
[ Upstream commit 4230dd3824c3e1785504e6f757ce79a4b55651fa ]
@@ -24,7 +24,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2 files changed, 5 insertions(+)
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index 396394ebbc5b..4bf82665f28c 100644
+index 9547c5bcbbc4..e0b8387ac924 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -310,7 +310,9 @@ void pin_current_cpu(void)
diff --git a/debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch b/debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch
index f07e9bd54..74f6de3c6 100644
--- a/debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch
+++ b/debian/patches-rt/0298-sched-__set_cpus_allowed_ptr-Check-cpus_mask-not-cpu.patch
@@ -1,8 +1,8 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 27 Jul 2019 00:56:32 -0500
-Subject: [PATCH 298/353] sched: __set_cpus_allowed_ptr: Check cpus_mask, not
+Subject: [PATCH 298/354] sched: __set_cpus_allowed_ptr: Check cpus_mask, not
cpus_ptr
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4e8e6aa43a48f6597b211cf6f6b1642c21051eaf
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b652417cdc333726e0b9c9e09fd6f3aa1d2f0c1
[ Upstream commit e5606fb7b042db634ed62b4dd733d62e050e468f ]
diff --git a/debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch b/debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch
index 131c65868..582212b03 100644
--- a/debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch
+++ b/debian/patches-rt/0299-sched-Remove-dead-__migrate_disabled-check.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 27 Jul 2019 00:56:33 -0500
-Subject: [PATCH 299/353] sched: Remove dead __migrate_disabled() check
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2beb0e09e6c79687ac5e46b7ab9466ad18b542f6
+Subject: [PATCH 299/354] sched: Remove dead __migrate_disabled() check
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5cde8b3ae4d59d8eebe0d476017d50fa1cdf6a28
[ Upstream commit 14d9272d534ea91262e15db99443fc5995c7c016 ]
diff --git a/debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch b/debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch
index a77c8fa71..f4318df05 100644
--- a/debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch
+++ b/debian/patches-rt/0300-sched-migrate-disable-Protect-cpus_ptr-with-lock.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 27 Jul 2019 00:56:34 -0500
-Subject: [PATCH 300/353] sched: migrate disable: Protect cpus_ptr with lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4eaf7716d710661a89298b3997982fcd46bd3736
+Subject: [PATCH 300/354] sched: migrate disable: Protect cpus_ptr with lock
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f3b8b37e45500cb5acedde9918c9596258397ab6
[ Upstream commit 27ee52a891ed2c7e2e2c8332ccae0de7c2674b09 ]
diff --git a/debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch b/debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch
index 241ea05fa..8e6114231 100644
--- a/debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch
+++ b/debian/patches-rt/0301-lib-smp_processor_id-Don-t-use-cpumask_equal.patch
@@ -1,7 +1,7 @@
From: Waiman Long <longman@redhat.com>
Date: Thu, 3 Oct 2019 16:36:08 -0400
-Subject: [PATCH 301/353] lib/smp_processor_id: Don't use cpumask_equal()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=79718592757dc1a6c28913770376a3027354b206
+Subject: [PATCH 301/354] lib/smp_processor_id: Don't use cpumask_equal()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aea3f526050f40b5e4d2b67a02cea91c6c23782a
[ Upstream commit 659252061477862f45b79e1de169e6030f5c8918 ]
diff --git a/debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch b/debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch
index 69e64ecf0..832793727 100644
--- a/debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch
+++ b/debian/patches-rt/0302-futex-Make-the-futex_hash_bucket-spinlock_t-again-an.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 7 Oct 2019 16:45:18 +0200
-Subject: [PATCH 302/353] futex: Make the futex_hash_bucket spinlock_t again
+Subject: [PATCH 302/354] futex: Make the futex_hash_bucket spinlock_t again
and bring back its old state
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3b3bea588f7b01159f2b0bcab282f896c81489d9
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8ea570f419f2a5741da44d1b3212b300e9a6061d
[ Upstream commit 954ad80c23edfe71f4e8ce70b961eac884320c3a ]
@@ -25,7 +25,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
3 files changed, 193 insertions(+), 103 deletions(-)
diff --git a/kernel/futex.c b/kernel/futex.c
-index 2fc6bedb460e..81090f7a3ed9 100644
+index 5708382157c4..22bfcf109e31 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -243,7 +243,7 @@ struct futex_q {
diff --git a/debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch b/debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch
index ec76caba1..34c4fc44f 100644
--- a/debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch
+++ b/debian/patches-rt/0303-locking-rtmutex-Clean-pi_blocked_on-in-the-error-cas.patch
@@ -1,8 +1,8 @@
From: Peter Zijlstra <peterz@infradead.org>
Date: Mon, 30 Sep 2019 18:15:44 +0200
-Subject: [PATCH 303/353] locking/rtmutex: Clean ->pi_blocked_on in the error
+Subject: [PATCH 303/354] locking/rtmutex: Clean ->pi_blocked_on in the error
case
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a109377bbb679cbd71529e00c9ae728d776b8485
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=35dc50badae9c42b195097bfb4f713f3ecf7f258
[ Upstream commit 0be4ea6e3ce693101be0fbd55a0cc7ce238ab2eb ]
diff --git a/debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch b/debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch
index 9db2c1f50..4172a2ff2 100644
--- a/debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch
+++ b/debian/patches-rt/0304-lib-ubsan-Don-t-seralize-UBSAN-report.patch
@@ -1,7 +1,7 @@
From: Julien Grall <julien.grall@arm.com>
Date: Fri, 20 Sep 2019 11:08:35 +0100
-Subject: [PATCH 304/353] lib/ubsan: Don't seralize UBSAN report
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3ed4fc163a128fd089195be065a07314330b013a
+Subject: [PATCH 304/354] lib/ubsan: Don't seralize UBSAN report
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6a6c566d780fd68e447ebd1b8f8e435778bf971b
[ Upstream commit 4702c28ac777b27acb499cbd5e8e787ce1a7d82d ]
diff --git a/debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch b/debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch
index 425441d82..f61cd33ad 100644
--- a/debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch
+++ b/debian/patches-rt/0305-kmemleak-Change-the-lock-of-kmemleak_object-to-raw_s.patch
@@ -1,8 +1,8 @@
From: Liu Haitao <haitao.liu@windriver.com>
Date: Fri, 27 Sep 2019 16:22:30 +0800
-Subject: [PATCH 305/353] kmemleak: Change the lock of kmemleak_object to
+Subject: [PATCH 305/354] kmemleak: Change the lock of kmemleak_object to
raw_spinlock_t
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=824ae2cb991ab667f8333f4863bb5e9bf3b9552c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=aaba0ac740352bd7398131c2ccf43b42f5ead3e9
[ Upstream commit 217847f57119b5fdd377bfa3d344613ddb98d9fc ]
diff --git a/debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch b/debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch
index 265fdd120..9c7e119b2 100644
--- a/debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch
+++ b/debian/patches-rt/0306-sched-migrate_enable-Use-select_fallback_rq.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 12 Oct 2019 01:52:12 -0500
-Subject: [PATCH 306/353] sched: migrate_enable: Use select_fallback_rq()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d5eebc90b5a02e2cbf415e6b056bd92cee740473
+Subject: [PATCH 306/354] sched: migrate_enable: Use select_fallback_rq()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e25daf6bebeeaf1c3064fae99e0f9aa0b68c8937
[ Upstream commit adfa969d4cfcc995a9d866020124e50f1827d2d1 ]
diff --git a/debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch b/debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch
index 83d5fabda..6608745b3 100644
--- a/debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch
+++ b/debian/patches-rt/0307-sched-Lazy-migrate_disable-processing.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 12 Oct 2019 01:52:13 -0500
-Subject: [PATCH 307/353] sched: Lazy migrate_disable processing
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e59f409c017d0df927609e4fe742e7db56c48fe5
+Subject: [PATCH 307/354] sched: Lazy migrate_disable processing
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=56d627e63870618c3968cb3a77b0970003cebae4
[ Upstream commit 425c5b38779a860062aa62219dc920d374b13c17 ]
@@ -44,7 +44,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
7 files changed, 129 insertions(+), 182 deletions(-)
diff --git a/include/linux/cpu.h b/include/linux/cpu.h
-index bddccdcd00ba..7f41ac9cf2ad 100644
+index 90985dbce8f4..0ce8ca019734 100644
--- a/include/linux/cpu.h
+++ b/include/linux/cpu.h
@@ -124,8 +124,6 @@ extern void cpu_hotplug_disable(void);
@@ -120,7 +120,7 @@ index 634becebd713..45b84137c4b3 100644
.active_mm = &init_mm,
.restart_block = {
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index 4bf82665f28c..f603ea80af2e 100644
+index e0b8387ac924..00c78fb73172 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -78,11 +78,6 @@ static DEFINE_PER_CPU(struct cpuhp_cpu_state, cpuhp_state) = {
diff --git a/debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch b/debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch
index 7eca722a0..711464fbe 100644
--- a/debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch
+++ b/debian/patches-rt/0308-sched-migrate_enable-Use-stop_one_cpu_nowait.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Sat, 12 Oct 2019 01:52:14 -0500
-Subject: [PATCH 308/353] sched: migrate_enable: Use stop_one_cpu_nowait()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=9a569a7f7c153ae5367090acad55faedba51cf23
+Subject: [PATCH 308/354] sched: migrate_enable: Use stop_one_cpu_nowait()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f944f2e36c575574ee90c945facabcae11978d13
[ Upstream commit 6b39a1fa8c53cae08dc03afdae193b7d3a78a173 ]
diff --git a/debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch b/debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch
index 24fad7ff6..02ddd2cd3 100644
--- a/debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch
+++ b/debian/patches-rt/0309-Revert-ARM-Initialize-split-page-table-locks-for-vec.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 18 Oct 2019 13:04:15 +0200
-Subject: [PATCH 309/353] Revert "ARM: Initialize split page table locks for
+Subject: [PATCH 309/354] Revert "ARM: Initialize split page table locks for
vector page"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a423ed25b55ccf69e009630f23c3c7812d250a7b
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=db376ab7528fe056f8223e16b263b5385b1616ef
[ Upstream commit 247074c44d8c3e619dfde6404a52295d8d671d38 ]
diff --git a/debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch b/debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch
index cfb9000e5..2eda2002f 100644
--- a/debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch
+++ b/debian/patches-rt/0310-locking-Make-spinlock_t-and-rwlock_t-a-RCU-section-o.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Nov 2019 09:25:04 +0100
-Subject: [PATCH 310/353] locking: Make spinlock_t and rwlock_t a RCU section
+Subject: [PATCH 310/354] locking: Make spinlock_t and rwlock_t a RCU section
on RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=516e5a915abdd48d23f01890a9ddd9b495a2524a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=55715717eaf0d2bb6cebfae536fc392194803d08
[ Upstream commit 84440022a0e1c8c936d61f8f97593674a295d409 ]
diff --git a/debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch b/debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch
index ec57af7e9..e15028b2a 100644
--- a/debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch
+++ b/debian/patches-rt/0311-sched-core-migrate_enable-must-access-takedown_cpu_t.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 29 Nov 2019 17:24:55 +0100
-Subject: [PATCH 311/353] sched/core: migrate_enable() must access
+Subject: [PATCH 311/354] sched/core: migrate_enable() must access
takedown_cpu_task on !HOTPLUG_CPU
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=375d4a2f36224a330bd486396a51a8a469047e76
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=93492d4e5196d37f1ea9a204ef6000b122fe8c31
[ Upstream commit a61d1977f692e46bad99a100f264981ba08cb4bd ]
@@ -20,7 +20,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2 files changed, 4 insertions(+)
diff --git a/kernel/cpu.c b/kernel/cpu.c
-index f603ea80af2e..57bd32c83c9e 100644
+index 00c78fb73172..4b0c5788a369 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -913,7 +913,9 @@ static int take_cpu_down(void *_param)
diff --git a/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch b/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch
index 6c351ef5a..7d6f79de5 100644
--- a/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch
+++ b/debian/patches-rt/0312-lib-smp_processor_id-Adjust-check_preemption_disable.patch
@@ -1,8 +1,8 @@
From: Daniel Wagner <dwagner@suse.de>
Date: Mon, 16 Dec 2019 16:15:57 +0100
-Subject: [PATCH 312/353] lib/smp_processor_id: Adjust
+Subject: [PATCH 312/354] lib/smp_processor_id: Adjust
check_preemption_disabled()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6b193fe7dfc2b15576e3306658dbaa48f908c32c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=321a8a33a1446356caf5c0d33688d9ee1e7476a7
[ Upstream commit af3c1c5fdf177870fb5e6e16b24e374696ab28f5 ]
diff --git a/debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch b/debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch
index 2acb322cd..86b8b4560 100644
--- a/debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch
+++ b/debian/patches-rt/0313-sched-migrate_enable-Busy-loop-until-the-migration-r.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 12 Dec 2019 10:53:59 +0100
-Subject: [PATCH 313/353] sched: migrate_enable: Busy loop until the migration
+Subject: [PATCH 313/354] sched: migrate_enable: Busy loop until the migration
request is completed
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f9b679103886ae636c06f0709528b4679f910594
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=beff8b5fccdf27e1461b86857ec338375515653f
[ Upstream commit 140d7f54a5fff02898d2ca9802b39548bf7455f1 ]
diff --git a/debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch b/debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch
index b77ed53fc..a175d44a0 100644
--- a/debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch
+++ b/debian/patches-rt/0314-userfaultfd-Use-a-seqlock-instead-of-seqcount.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 18 Dec 2019 12:25:09 +0100
-Subject: [PATCH 314/353] userfaultfd: Use a seqlock instead of seqcount
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=221d4d744e0fa4cbf6cbdfa93f36418495297c42
+Subject: [PATCH 314/354] userfaultfd: Use a seqlock instead of seqcount
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a32132970bbcaf578458944b83a17a8083f6440b
[ Upstream commit dc952a564d02997330654be9628bbe97ba2a05d3 ]
diff --git a/debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch b/debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch
index 0de7d0707..109b65eec 100644
--- a/debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch
+++ b/debian/patches-rt/0315-sched-migrate_enable-Use-per-cpu-cpu_stop_work.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Fri, 24 Jan 2020 06:11:46 -0500
-Subject: [PATCH 315/353] sched: migrate_enable: Use per-cpu cpu_stop_work
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f0a6804b47754240ecad3efe8bd2aafa0abf6157
+Subject: [PATCH 315/354] sched: migrate_enable: Use per-cpu cpu_stop_work
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c26519915b999d68b2d9a97722e58ff0bfa807f2
[ Upstream commit 2dcd94b443c5dcbc20281666321b7f025f9cc85c ]
diff --git a/debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch b/debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch
index aba027930..c482f3dcd 100644
--- a/debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch
+++ b/debian/patches-rt/0316-sched-migrate_enable-Remove-__schedule-call.patch
@@ -1,7 +1,7 @@
From: Scott Wood <swood@redhat.com>
Date: Fri, 24 Jan 2020 06:11:47 -0500
-Subject: [PATCH 316/353] sched: migrate_enable: Remove __schedule() call
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=dcbbd0ba34f84adb2b09fd1ee03c288bedb5e1af
+Subject: [PATCH 316/354] sched: migrate_enable: Remove __schedule() call
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c61a1d147ace3541a44386351841dc46be6ba897
[ Upstream commit b8162e61e9a33bd1de6452eb838fbf50a93ddd9a ]
diff --git a/debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch b/debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch
index bdb5d4a85..21d7e9868 100644
--- a/debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch
+++ b/debian/patches-rt/0317-mm-memcontrol-Move-misplaced-local_unlock_irqrestore.patch
@@ -1,8 +1,8 @@
From: Matt Fleming <matt@codeblueprint.co.uk>
Date: Sun, 26 Jan 2020 21:19:45 +0000
-Subject: [PATCH 317/353] mm/memcontrol: Move misplaced
+Subject: [PATCH 317/354] mm/memcontrol: Move misplaced
local_unlock_irqrestore()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ed8021a659bdfe9a30303ccb240b40eb36771a34
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eb31243590cf5862da1af6d51dfc5c77d8414696
[ Upstream commit 071a1d6a6e14d0dec240a8c67b425140d7f92f6a ]
@@ -21,7 +21,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
-index c6a58923da63..692cc519232d 100644
+index 9c7d443a394c..c14cfb0b9474 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -6552,10 +6552,10 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry)
diff --git a/debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch b/debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch
index be1ff1e39..78bca23ed 100644
--- a/debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch
+++ b/debian/patches-rt/0318-locallock-Include-header-for-the-current-macro.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 4 Feb 2020 13:29:50 +0100
-Subject: [PATCH 318/353] locallock: Include header for the `current' macro
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a699b8aaf4126a54c3e112e47b036ee8148c84fd
+Subject: [PATCH 318/354] locallock: Include header for the `current' macro
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6c8d994b76e512e18e9adddb072421ae82ff3c7e
[ Upstream commit e693075a5fd852043fa8d2b0467e078d9e5cb782 ]
diff --git a/debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch b/debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch
index 885be9b8a..e5c239b54 100644
--- a/debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch
+++ b/debian/patches-rt/0319-drm-vmwgfx-Drop-preempt_disable-in-vmw_fifo_ping_hos.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Feb 2020 18:57:11 +0100
-Subject: [PATCH 319/353] drm/vmwgfx: Drop preempt_disable() in
+Subject: [PATCH 319/354] drm/vmwgfx: Drop preempt_disable() in
vmw_fifo_ping_host()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a787c3baf377eff975557e64faa98ca20dc393de
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a6f457134aeff747dd446a6a0187eebf19cd71db
[ Upstream commit b901491e7b9b7a676818d84e482b69be72fc142f ]
diff --git a/debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch b/debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch
index 2037ca514..285bfb392 100644
--- a/debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch
+++ b/debian/patches-rt/0320-tracing-make-preempt_lazy-and-migrate_disable-counte.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Feb 2020 18:15:15 +0100
-Subject: [PATCH 320/353] tracing: make preempt_lazy and migrate_disable
+Subject: [PATCH 320/354] tracing: make preempt_lazy and migrate_disable
counter smaller
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f8777fd9207cf67d412307c122667798803ce279
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4c8c60bb96fd330de0cc50ab97e90bd0144265fc
[ Upstream commit dd430bf5ecb40f9a89679c85868826475d71de54 ]
@@ -22,7 +22,7 @@ Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h
-index 72864a11cec0..e26a85c1b7ba 100644
+index 61011ac41b41..98e59711a391 100644
--- a/include/linux/trace_events.h
+++ b/include/linux/trace_events.h
@@ -62,8 +62,7 @@ struct trace_entry {
@@ -36,7 +36,7 @@ index 72864a11cec0..e26a85c1b7ba 100644
};
diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c
-index ddda660b84f9..91df34a11341 100644
+index b13fc846d2b2..fc5c032d4b66 100644
--- a/kernel/trace/trace_events.c
+++ b/kernel/trace/trace_events.c
@@ -189,8 +189,8 @@ static int trace_define_common_fields(void)
diff --git a/debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch b/debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch
index c9aea148d..ce2caaf06 100644
--- a/debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch
+++ b/debian/patches-rt/0321-lib-ubsan-Remove-flags-parameter-from-calls-to-ubsan.patch
@@ -1,8 +1,8 @@
From: Tiejun Chen <tiejunc@vmware.com>
Date: Mon, 30 Mar 2020 18:45:23 -0400
-Subject: [PATCH 321/353] lib/ubsan: Remove flags parameter from calls to
+Subject: [PATCH 321/354] lib/ubsan: Remove flags parameter from calls to
ubsan_prologue() and ubsan_epilogue()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=219d304f02bbff8a65f6b38d0d10c6c8d927c59a
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=1ec7f8239df50fde154033d2f88eeea08f3327c1
Fails to build with CONFIG_UBSAN=y
diff --git a/debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch b/debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch
index 2a6b3f344..65f27656d 100644
--- a/debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch
+++ b/debian/patches-rt/0322-irq_work-Fix-checking-of-IRQ_WORK_LAZY-flag-set-on-n.patch
@@ -1,8 +1,8 @@
From: "Steven Rostedt (VMware)" <rostedt@goodmis.org>
Date: Sun, 22 Mar 2020 00:00:28 +0100
-Subject: [PATCH 322/353] irq_work: Fix checking of IRQ_WORK_LAZY flag set on
+Subject: [PATCH 322/354] irq_work: Fix checking of IRQ_WORK_LAZY flag set on
non PREEMPT_RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=50eb3f852f4931603f68d0fc6893082686f63e78
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b15d7241db677b8819e86d3268c2c7a2344202c2
When CONFIG_PREEMPT_RT_FULL is not set, some of the checks for using
lazy_list are not properly made as the IRQ_WORK_LAZY is not checked. There's
diff --git a/debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch b/debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch
index aea3373e7..cd6fd0c46 100644
--- a/debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch
+++ b/debian/patches-rt/0323-tasklet-Address-a-race-resulting-in-double-enqueue.patch
@@ -1,7 +1,7 @@
From: Zhang Xiao <xiao.zhang@windriver.com>
Date: Tue, 17 Mar 2020 12:47:43 +0100
-Subject: [PATCH 323/353] tasklet: Address a race resulting in double-enqueue
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ea8e37e3c5f3c8e0c22c0e1b35c43e7158d0bc77
+Subject: [PATCH 323/354] tasklet: Address a race resulting in double-enqueue
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5855b2dbcc0f544e60f173ba5969ac265c6a3ec7
The kernel bugzilla has the following race condition reported:
diff --git a/debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch b/debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch
index 52c96be18..dbfbae407 100644
--- a/debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch
+++ b/debian/patches-rt/0324-hrtimer-fix-logic-for-when-grabbing-softirq_expiry_l.patch
@@ -1,8 +1,8 @@
From: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Date: Tue, 28 Apr 2020 16:40:26 +0200
-Subject: [PATCH 324/353] hrtimer: fix logic for when grabbing
+Subject: [PATCH 324/354] hrtimer: fix logic for when grabbing
softirq_expiry_lock can be elided
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6659590de622d7f415b973112a6b2523d18d92ce
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c6b5a96a321a92a81eb95e9eb43941abd48984a8
Commit
@@ -32,7 +32,7 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
-index 3a5e258c243a..a522cebdaa21 100644
+index 67b91ab1c7e2..59a754881976 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -971,7 +971,7 @@ void hrtimer_grab_expiry_lock(const struct hrtimer *timer)
diff --git a/debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch b/debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch
index 58036225a..a1d601502 100644
--- a/debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch
+++ b/debian/patches-rt/0325-fs-dcache-Include-swait.h-header.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 16 Apr 2020 12:42:15 +0200
-Subject: [PATCH 325/353] fs/dcache: Include swait.h header
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=89692e5769f533ce4a925ada1420f709e388b9dd
+Subject: [PATCH 325/354] fs/dcache: Include swait.h header
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=4b99c8fbc72131d81b1e1e6d59e4459d04c75b88
[ Upstream commit 279f90ddf53cd6bd3c203fbbf488d642ea2603de ]
@@ -19,7 +19,7 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org>
1 file changed, 1 insertion(+)
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index accc230079bb..8806344af241 100644
+index 26334fa56e18..7ccc9115a722 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -95,6 +95,7 @@
diff --git a/debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch b/debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch
index 9811dfe0c..47cedc77c 100644
--- a/debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch
+++ b/debian/patches-rt/0326-mm-slub-Always-flush-the-delayed-empty-slubs-in-flus.patch
@@ -1,8 +1,8 @@
From: Kevin Hao <haokexin@gmail.com>
Date: Mon, 4 May 2020 11:34:07 +0800
-Subject: [PATCH 326/353] mm: slub: Always flush the delayed empty slubs in
+Subject: [PATCH 326/354] mm: slub: Always flush the delayed empty slubs in
flush_all()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6b445fe16bd98d9edf5f1d4f1c822149fa84f649
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3a1c31a76c976c40a53e30bbedeea791df963842
[ Upstream commit 23a2c31b19e99beaf5107071b0f32a596202cdae ]
@@ -45,7 +45,7 @@ Signed-off-by: Tom Zanussi <zanussi@kernel.org>
1 file changed, 3 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
-index 197bab70a05d..d16d390df21e 100644
+index eb0107907043..10378efbaba2 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2375,9 +2375,6 @@ static void flush_all(struct kmem_cache *s)
diff --git a/debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch b/debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch
index eec172526..8007deb9e 100644
--- a/debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch
+++ b/debian/patches-rt/0327-tasklet-Fix-UP-case-for-tasklet-CHAINED-state.patch
@@ -1,7 +1,7 @@
From: Tom Zanussi <zanussi@kernel.org>
Date: Tue, 9 Jun 2020 11:04:08 -0500
-Subject: [PATCH 327/353] tasklet: Fix UP case for tasklet CHAINED state
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=73881f36e14be59b92716efa0b760ccadfd3d80a
+Subject: [PATCH 327/354] tasklet: Fix UP case for tasklet CHAINED state
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=34e5c6d5ef4573cc2cff33ef455565bb9dc1ec45
commit 62d0a2a30cd0 (tasklet: Address a race resulting in
double-enqueue) addresses a problem that can result in a tasklet being
diff --git a/debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch b/debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch
index 8459155a8..41b88055b 100644
--- a/debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch
+++ b/debian/patches-rt/0328-signal-Prevent-double-free-of-user-struct.patch
@@ -1,7 +1,7 @@
From: Matt Fleming <matt@codeblueprint.co.uk>
Date: Tue, 7 Apr 2020 10:54:13 +0100
-Subject: [PATCH 328/353] signal: Prevent double-free of user struct
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=cddd4506f6c3f229f53fe39a335aa71759afdac0
+Subject: [PATCH 328/354] signal: Prevent double-free of user struct
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0043fb759d35265f1fdf30825785457731cdbfad
[ Upsteam commit 9567db2ebe566a93485e1a27d8759969d0002d7a ]
diff --git a/debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch b/debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch
index 34d2b4506..55a520dce 100644
--- a/debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch
+++ b/debian/patches-rt/0329-Bluetooth-Acquire-sk_lock.slock-without-disabling-in.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 28 May 2020 14:35:12 +0200
-Subject: [PATCH 329/353] Bluetooth: Acquire sk_lock.slock without disabling
+Subject: [PATCH 329/354] Bluetooth: Acquire sk_lock.slock without disabling
interrupts
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=38d73bc2a2c03859f6a80ca126c7b767ab88bd17
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5cc1511702f99012a5afff76934a2c4fd42724c0
[ Upstream commit e6da0edc24eecef2f6964d92fa9044e1821deace ]
diff --git a/debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch b/debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch
index 7c5730f91..7a74bfe40 100644
--- a/debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch
+++ b/debian/patches-rt/0330-net-phy-fixed_phy-Remove-unused-seqcount.patch
@@ -1,7 +1,7 @@
From: "Ahmed S. Darwish" <a.darwish@linutronix.de>
Date: Wed, 10 Jun 2020 12:53:00 +0200
-Subject: [PATCH 330/353] net: phy: fixed_phy: Remove unused seqcount
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c70e959108784a6bb33739d00f5a2006aeadb918
+Subject: [PATCH 330/354] net: phy: fixed_phy: Remove unused seqcount
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c6d45476559686ca999d7ab782c8b2ef05dc7d04
[ Upstream commit 6554eac9ef2bd1c968886b31cc7266b49258a463 ]
diff --git a/debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch b/debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch
index 9a3f6226f..9a4bc40f9 100644
--- a/debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch
+++ b/debian/patches-rt/0331-net-xfrm-fix-compress-vs-decompress-serialization.patch
@@ -1,7 +1,7 @@
From: Davidlohr Bueso <dave@stgolabs.net>
Date: Tue, 18 Aug 2020 09:20:53 -0700
-Subject: [PATCH 331/353] net: xfrm: fix compress vs decompress serialization
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d8c3fecb2bb207af061cd67523dbd5f4dd4b1568
+Subject: [PATCH 331/354] net: xfrm: fix compress vs decompress serialization
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=45a5f019e2ee5a29f1c05f5614a5047f29353caf
A crash was seen in xfrm when running ltp's 'tcp4_ipsec06' stresser on v4.x
based RT kernels.
diff --git a/debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch b/debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch
index 4aeee1f66..02a356499 100644
--- a/debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch
+++ b/debian/patches-rt/0332-mm-memcontrol-Disable-preemption-in-__mod_memcg_lruv.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 28 Oct 2020 18:15:32 +0100
-Subject: [PATCH 332/353] mm/memcontrol: Disable preemption in
+Subject: [PATCH 332/354] mm/memcontrol: Disable preemption in
__mod_memcg_lruvec_state()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b2ccf8a5b5c9a75d1b9815c53f9c64266084f366
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e4562549c0b4a9e6b27d7bf88c6a9a1134232a9a
[ Upstream commit 74858f0d38a8d3c069a0745ff53ae084c8e7cabb ]
diff --git a/debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch b/debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch
index d03ccd768..010243186 100644
--- a/debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch
+++ b/debian/patches-rt/0333-ptrace-fix-ptrace_unfreeze_traced-race-with-rt-lock.patch
@@ -1,8 +1,8 @@
From: Oleg Nesterov <oleg@redhat.com>
Date: Tue, 3 Nov 2020 12:39:01 +0100
-Subject: [PATCH 333/353] ptrace: fix ptrace_unfreeze_traced() race with
+Subject: [PATCH 333/354] ptrace: fix ptrace_unfreeze_traced() race with
rt-lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2d2b2d216c3757a65a5eb1319c52bbda77c82356
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ecd4f5ea6a952939d8312791205efb91f4a4c0e7
[ Upstream commit 0fdc91971b34cf6857b4cfd8c322ae936cfc189b ]
diff --git a/debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch b/debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch
index 9e4166063..72bd87225 100644
--- a/debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch
+++ b/debian/patches-rt/0334-mm-slub-Don-t-resize-the-location-tracking-cache-on-.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 26 Feb 2021 17:26:04 +0100
-Subject: [PATCH 334/353] mm: slub: Don't resize the location tracking cache on
+Subject: [PATCH 334/354] mm: slub: Don't resize the location tracking cache on
PREEMPT_RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ee1d963b8014a9e47ac550d50830c7b3f9e183eb
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=049825a4a253ca3adcad44ba5821f8c31146466f
The location tracking cache has a size of a page and is resized if its
current size is too small.
@@ -19,7 +19,7 @@ Signed-off-by: Clark Williams <williams@redhat.com>
1 file changed, 3 insertions(+)
diff --git a/mm/slub.c b/mm/slub.c
-index d16d390df21e..869a3be27980 100644
+index 10378efbaba2..f0c0aa5f2688 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4591,6 +4591,9 @@ static int alloc_loc_track(struct loc_track *t, unsigned long max, gfp_t flags)
diff --git a/debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch b/debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch
index 21eccadc2..cb15f208e 100644
--- a/debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch
+++ b/debian/patches-rt/0335-locking-rwsem_rt-Add-__down_read_interruptible.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 19 Jan 2021 18:54:33 +0100
-Subject: [PATCH 335/353] locking/rwsem_rt: Add __down_read_interruptible()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=6e17b509364cf1b4d4e8adf01a5b64e986db7ad2
+Subject: [PATCH 335/354] locking/rwsem_rt: Add __down_read_interruptible()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8ce30ad373ef28e21f51911a6fc0ba4b05e5b46c
The stable backported a patch which adds __down_read_interruptible() for
the generic rwsem implementation.
diff --git a/debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch b/debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch
index a2ca4849d..5c6208cbc 100644
--- a/debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch
+++ b/debian/patches-rt/0336-locking-rwsem-rt-Remove-might_sleep-in-__up_read.patch
@@ -1,7 +1,7 @@
From: Andrew Halaney <ahalaney@redhat.com>
Date: Tue, 6 Apr 2021 17:19:52 -0500
-Subject: [PATCH 336/353] locking/rwsem-rt: Remove might_sleep() in __up_read()
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a677d98bed32e05401274cf48d9e8c762b0d8280
+Subject: [PATCH 336/354] locking/rwsem-rt: Remove might_sleep() in __up_read()
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a8717d24e00c14302e860515a623aafe2f1284b4
There's no chance of sleeping here, the reader is giving up the
lock and possibly waking up the writer who is waiting on it.
diff --git a/debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch b/debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch
index 9dc2e995b..08e69333a 100644
--- a/debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch
+++ b/debian/patches-rt/0337-fscache-fix-initialisation-of-cookie-hash-table-raw-.patch
@@ -1,8 +1,8 @@
From: Gregor Beck <gbeck@esigma-technology.com>
Date: Fri, 3 Sep 2021 14:19:11 +0200
-Subject: [PATCH 337/353] fscache: fix initialisation of cookie hash table raw
+Subject: [PATCH 337/354] fscache: fix initialisation of cookie hash table raw
spinlocks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=e94615d52b66ddd8c3a6d3e0117137daf5ee7b21
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=80b208b075589fc2eaad9f86e735c248b34a65b6
The original patch, 602660600bcd ("fscache: initialize cookie hash
table raw spinlocks"), subtracted 1 from the shift and so still left
diff --git a/debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch b/debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch
index 914daf15f..229890e08 100644
--- a/debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch
+++ b/debian/patches-rt/0338-rt-PREEMPT_RT-safety-net-for-backported-patches.patch
@@ -1,7 +1,7 @@
From: Clark Williams <clark.williams@gmail.com>
Date: Sun, 30 Jan 2022 15:46:27 -0600
-Subject: [PATCH 338/353] rt: PREEMPT_RT safety net for backported patches
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=eb8f7f5be98adee5f754c337967de9684afc1ab6
+Subject: [PATCH 338/354] rt: PREEMPT_RT safety net for backported patches
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=be2ee0a6206e6b69bac9ad5bfbff2ec493bc97e7
While doing some 4.19-rt cleanup work, I stumbled across the fact that parts of
two backported patches were dependent on CONFIG_PREEMPT_RT, rather than
diff --git a/debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch b/debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch
index cb88391ac..b556a94dd 100644
--- a/debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch
+++ b/debian/patches-rt/0339-net-Add-missing-xmit_lock_owner-hunks.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 22 Dec 2021 20:35:22 +0100
-Subject: [PATCH 339/353] net: Add missing xmit_lock_owner hunks.
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=32fdfaaf1dbe68aedd03460e61be623bba9dff09
+Subject: [PATCH 339/354] net: Add missing xmit_lock_owner hunks.
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d66285c0f87e3ec7848625a69f330f13219e0d0c
The patch
net: move xmit_recursion to per-task variable on -RT
@@ -17,10 +17,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 13 insertions(+), 16 deletions(-)
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
-index 086cd650f555..25557901d020 100644
+index 821337d81da2..1bead7088f4d 100644
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -3887,17 +3887,17 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
+@@ -3893,17 +3893,17 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits)
#ifdef CONFIG_PREEMPT_RT_FULL
static inline void netdev_queue_set_owner(struct netdev_queue *txq, int cpu)
{
@@ -41,7 +41,7 @@ index 086cd650f555..25557901d020 100644
return true;
return false;
}
-@@ -3906,17 +3906,19 @@ static inline bool netdev_queue_has_owner(struct netdev_queue *txq)
+@@ -3912,17 +3912,19 @@ static inline bool netdev_queue_has_owner(struct netdev_queue *txq)
static inline void netdev_queue_set_owner(struct netdev_queue *txq, int cpu)
{
@@ -64,7 +64,7 @@ index 086cd650f555..25557901d020 100644
return true;
return false;
}
-@@ -3925,8 +3927,7 @@ static inline bool netdev_queue_has_owner(struct netdev_queue *txq)
+@@ -3931,8 +3933,7 @@ static inline bool netdev_queue_has_owner(struct netdev_queue *txq)
static inline void __netif_tx_lock(struct netdev_queue *txq, int cpu)
{
spin_lock(&txq->_xmit_lock);
@@ -74,7 +74,7 @@ index 086cd650f555..25557901d020 100644
}
static inline bool __netif_tx_acquire(struct netdev_queue *txq)
-@@ -3943,8 +3944,7 @@ static inline void __netif_tx_release(struct netdev_queue *txq)
+@@ -3949,8 +3950,7 @@ static inline void __netif_tx_release(struct netdev_queue *txq)
static inline void __netif_tx_lock_bh(struct netdev_queue *txq)
{
spin_lock_bh(&txq->_xmit_lock);
@@ -84,7 +84,7 @@ index 086cd650f555..25557901d020 100644
}
static inline bool __netif_tx_trylock(struct netdev_queue *txq)
-@@ -3952,23 +3952,20 @@ static inline bool __netif_tx_trylock(struct netdev_queue *txq)
+@@ -3958,23 +3958,20 @@ static inline bool __netif_tx_trylock(struct netdev_queue *txq)
bool ok = spin_trylock(&txq->_xmit_lock);
if (likely(ok)) {
diff --git a/debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch b/debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch
index dbcdfcba5..3fc035fad 100644
--- a/debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch
+++ b/debian/patches-rt/0340-genirq-Add-lost-hunk-to-irq_forced_thread_fn.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 29 Apr 2022 11:02:18 -0500
-Subject: [PATCH 340/353] genirq: Add lost hunk to irq_forced_thread_fn().
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d976532ebe34ef620ed2aa1f6e2be711d7a6a902
+Subject: [PATCH 340/354] genirq: Add lost hunk to irq_forced_thread_fn().
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3f7b4a0b525a3a73796d656e049f4d902b3fc74b
The irq_settings_no_softirq_call() related handling got lost in process,
here are the missing bits.
diff --git a/debian/patches-rt/0341-random-Bring-back-the-local_locks.patch b/debian/patches-rt/0341-random-Bring-back-the-local_locks.patch
index 654b55878..da1f6dcc4 100644
--- a/debian/patches-rt/0341-random-Bring-back-the-local_locks.patch
+++ b/debian/patches-rt/0341-random-Bring-back-the-local_locks.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 19 Aug 2022 11:24:38 +0200
-Subject: [PATCH 341/353] random: Bring back the local_locks
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=7ba891aa13c535f5d95c4fab0c44253694b36bc0
+Subject: [PATCH 341/354] random: Bring back the local_locks
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ce35a2b802aafd40aad5e645c004a41469fade8f
As part of the backports the random code lost its local_lock_t type and
the whole operation became a local_irq_{disable|enable}() simply because
diff --git a/debian/patches-rt/0342-local_lock-Provide-INIT_LOCAL_LOCK.patch b/debian/patches-rt/0342-local_lock-Provide-INIT_LOCAL_LOCK.patch
index 0856f6fc7..0aecdff50 100644
--- a/debian/patches-rt/0342-local_lock-Provide-INIT_LOCAL_LOCK.patch
+++ b/debian/patches-rt/0342-local_lock-Provide-INIT_LOCAL_LOCK.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Oct 2022 15:55:39 +0200
-Subject: [PATCH 342/353] local_lock: Provide INIT_LOCAL_LOCK().
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=49c901af0340e7621905b09bafc0c23c4b12624e
+Subject: [PATCH 342/354] local_lock: Provide INIT_LOCAL_LOCK().
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c1479c2185d99567ddab8ca94047b5be80caafcc
The original code was using INIT_LOCAL_LOCK() and I tried to sneak
around it and forgot that this code also needs to compile on !RT
diff --git a/debian/patches-rt/0343-Revert-workqueue-Use-local-irq-lock-instead-of-irq-d.patch b/debian/patches-rt/0343-Revert-workqueue-Use-local-irq-lock-instead-of-irq-d.patch
index 1e3004793..a30fa16e7 100644
--- a/debian/patches-rt/0343-Revert-workqueue-Use-local-irq-lock-instead-of-irq-d.patch
+++ b/debian/patches-rt/0343-Revert-workqueue-Use-local-irq-lock-instead-of-irq-d.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 21 Oct 2022 16:15:56 +0200
-Subject: [PATCH 343/353] Revert "workqueue: Use local irq lock instead of irq
+Subject: [PATCH 343/354] Revert "workqueue: Use local irq lock instead of irq
disable regions"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=60087367b50b95abf48d954ffb59b9b22c1f9f99
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=2fe895f00f08cac8f1bbbdc146b489b821d5347f
This reverts the PREEMPT_RT related changes to workqueue. It reverts the
usage of local_locks() and cpu_chill().
@@ -20,10 +20,10 @@ Signed-off-by: Daniel Wagner <wagi@monom.org>
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index c047a647146e..e0ab9febe11f 100644
+index 8e012510425e..0f2450425879 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
-@@ -1496,11 +1496,9 @@ EXPORT_SYMBOL(queue_work_on);
+@@ -1499,11 +1499,9 @@ EXPORT_SYMBOL(queue_work_on);
void delayed_work_timer_fn(struct timer_list *t)
{
struct delayed_work *dwork = from_timer(dwork, t, timer);
diff --git a/debian/patches-rt/0344-timers-Keep-interrupts-disabled-for-TIMER_IRQSAFE-ti.patch b/debian/patches-rt/0344-timers-Keep-interrupts-disabled-for-TIMER_IRQSAFE-ti.patch
index 30109fcaf..11443ee47 100644
--- a/debian/patches-rt/0344-timers-Keep-interrupts-disabled-for-TIMER_IRQSAFE-ti.patch
+++ b/debian/patches-rt/0344-timers-Keep-interrupts-disabled-for-TIMER_IRQSAFE-ti.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 19 Aug 2022 11:24:42 +0200
-Subject: [PATCH 344/353] timers: Keep interrupts disabled for TIMER_IRQSAFE
+Subject: [PATCH 344/354] timers: Keep interrupts disabled for TIMER_IRQSAFE
timer.
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=594dfc20b8af70e4ba45812364ece21d433bda57
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d24ad5ccbf32a6ae6e175958ff2ee5b5bf40e630
Keep interrupts disabled across callback invocation for the
TIMER_IRQSAFE as expected.
diff --git a/debian/patches-rt/0345-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch b/debian/patches-rt/0345-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
index 58c7159ea..40eeabeff 100644
--- a/debian/patches-rt/0345-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
+++ b/debian/patches-rt/0345-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 24 Oct 2022 10:17:22 +0200
-Subject: [PATCH 345/353] timers: Don't block on ->expiry_lock for
+Subject: [PATCH 345/354] timers: Don't block on ->expiry_lock for
TIMER_IRQSAFE timers
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=84306a94872a513876119e0b5f299d4d3987a8db
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=3413ac266d8c5f1ffc233cbc0a1f7732833891e7
Upstream commit c725dafc95f1b37027840aaeaa8b7e4e9cd20516
diff --git a/debian/patches-rt/0346-rcu-Update-rcuwait.patch b/debian/patches-rt/0346-rcu-Update-rcuwait.patch
index 57afe7c3e..9c9d9838f 100644
--- a/debian/patches-rt/0346-rcu-Update-rcuwait.patch
+++ b/debian/patches-rt/0346-rcu-Update-rcuwait.patch
@@ -1,7 +1,7 @@
From: Daniel Wagner <wagi@monom.org>
Date: Mon, 24 Oct 2022 10:58:29 +0200
-Subject: [PATCH 346/353] rcu: Update rcuwait
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=587f7f0c0ba24632fa86dd7122366221664f116f
+Subject: [PATCH 346/354] rcu: Update rcuwait
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b4ed77cc76087b8eb072eefe9a337f5a80f5e098
This is an all in one commit backporting updates for rcuwait:
- 03f4b48edae7 ("rcuwait: Annotate task_struct with __rcu")
@@ -109,7 +109,7 @@ index 90bfa3279a01..4fe9ecd56aac 100644
#endif /* _LINUX_RCUWAIT_H_ */
diff --git a/kernel/exit.c b/kernel/exit.c
-index 51b36d58c872..94a51c53985b 100644
+index cbe99ab0ac19..9522c5b06199 100644
--- a/kernel/exit.c
+++ b/kernel/exit.c
@@ -338,8 +338,9 @@ struct task_struct *task_rcu_dereference(struct task_struct **ptask)
diff --git a/debian/patches-rt/0347-workqueue-Use-rcuwait-for-wq_manager_wait.patch b/debian/patches-rt/0347-workqueue-Use-rcuwait-for-wq_manager_wait.patch
index 0978310bc..3d77d325b 100644
--- a/debian/patches-rt/0347-workqueue-Use-rcuwait-for-wq_manager_wait.patch
+++ b/debian/patches-rt/0347-workqueue-Use-rcuwait-for-wq_manager_wait.patch
@@ -1,7 +1,7 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 19 Aug 2022 11:24:45 +0200
-Subject: [PATCH 347/353] workqueue: Use rcuwait for wq_manager_wait
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f194473966fbca2b59765c07b6ce08a7aa4579f1
+Subject: [PATCH 347/354] workqueue: Use rcuwait for wq_manager_wait
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=0f5b1e7bc4ff615a9f94e9c24e34c93321a4859a
Upstream commit d8bb65ab70f702531aaaa11d9710f9450078e295
@@ -36,7 +36,7 @@ Signed-off-by: Daniel Wagner <wagi@monom.org>
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index e0ab9febe11f..a9f3cc02bdc1 100644
+index 0f2450425879..0c7033deaef2 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -50,6 +50,7 @@
@@ -57,7 +57,7 @@ index e0ab9febe11f..a9f3cc02bdc1 100644
static LIST_HEAD(workqueues); /* PR: list of all workqueues */
static bool workqueue_freezing; /* PL: have wqs started freezing? */
-@@ -2023,7 +2025,7 @@ static bool manage_workers(struct worker *worker)
+@@ -2026,7 +2028,7 @@ static bool manage_workers(struct worker *worker)
pool->manager = NULL;
pool->flags &= ~POOL_MANAGER_ACTIVE;
@@ -66,7 +66,7 @@ index e0ab9febe11f..a9f3cc02bdc1 100644
return true;
}
-@@ -3342,6 +3344,18 @@ static void rcu_free_pool(struct rcu_head *rcu)
+@@ -3345,6 +3347,18 @@ static void rcu_free_pool(struct rcu_head *rcu)
kfree(pool);
}
@@ -85,7 +85,7 @@ index e0ab9febe11f..a9f3cc02bdc1 100644
/**
* put_unbound_pool - put a worker_pool
* @pool: worker_pool to put
-@@ -3377,10 +3391,12 @@ static void put_unbound_pool(struct worker_pool *pool)
+@@ -3380,10 +3394,12 @@ static void put_unbound_pool(struct worker_pool *pool)
* Become the manager and destroy all workers. This prevents
* @pool's workers from blocking on attach_mutex. We're the last
* manager and @pool gets freed with the flag set.
diff --git a/debian/patches-rt/0348-timers-Prepare-support-for-PREEMPT_RT.patch b/debian/patches-rt/0348-timers-Prepare-support-for-PREEMPT_RT.patch
index caa280599..ace5bfbb0 100644
--- a/debian/patches-rt/0348-timers-Prepare-support-for-PREEMPT_RT.patch
+++ b/debian/patches-rt/0348-timers-Prepare-support-for-PREEMPT_RT.patch
@@ -1,7 +1,7 @@
From: Anna-Maria Gleixner <anna-maria@linutronix.de>
Date: Mon, 31 Oct 2022 16:50:04 +0100
-Subject: [PATCH 348/353] timers: Prepare support for PREEMPT_RT
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=f90995ffd999e658dbb9146f2436b4fde40ed9d9
+Subject: [PATCH 348/354] timers: Prepare support for PREEMPT_RT
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=803c1efa1d5d5b533488704c75c6fb9c67ba78b5
Upstream commit 030dcdd197d77374879bb5603d091eee7d8aba80
diff --git a/debian/patches-rt/0349-timers-Move-clearing-of-base-timer_running-under-bas.patch b/debian/patches-rt/0349-timers-Move-clearing-of-base-timer_running-under-bas.patch
index 2744908b4..e50d0cc14 100644
--- a/debian/patches-rt/0349-timers-Move-clearing-of-base-timer_running-under-bas.patch
+++ b/debian/patches-rt/0349-timers-Move-clearing-of-base-timer_running-under-bas.patch
@@ -1,8 +1,8 @@
From: Thomas Gleixner <tglx@linutronix.de>
Date: Mon, 31 Oct 2022 16:50:05 +0100
-Subject: [PATCH 349/353] timers: Move clearing of base::timer_running under
+Subject: [PATCH 349/354] timers: Move clearing of base::timer_running under
base:: Lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=a66d72d875ad3ceffbfc55419dc883fa702a1794
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=b70aa3d0e796508c098caab46376bf27a9473357
Upstream commit bb7262b295472eb6858b5c49893954794027cd84
diff --git a/debian/patches-rt/0350-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch b/debian/patches-rt/0350-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
index a095b5965..af2a70caf 100644
--- a/debian/patches-rt/0350-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
+++ b/debian/patches-rt/0350-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
@@ -1,8 +1,8 @@
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 31 Oct 2022 16:50:06 +0100
-Subject: [PATCH 350/353] timers: Don't block on ->expiry_lock for
+Subject: [PATCH 350/354] timers: Don't block on ->expiry_lock for
TIMER_IRQSAFE timers
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=d585a000a1b7f50740d6851fb62230022452f891
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=06ed86eac63f21f446c9be321cc55f029c59c844
Upstream commit c725dafc95f1b37027840aaeaa8b7e4e9cd20516
diff --git a/debian/patches-rt/0351-Revert-percpu-include-irqflags.h-for-raw_local_irq_s.patch b/debian/patches-rt/0351-Revert-percpu-include-irqflags.h-for-raw_local_irq_s.patch
index 7695dbdcb..922159c7c 100644
--- a/debian/patches-rt/0351-Revert-percpu-include-irqflags.h-for-raw_local_irq_s.patch
+++ b/debian/patches-rt/0351-Revert-percpu-include-irqflags.h-for-raw_local_irq_s.patch
@@ -1,8 +1,8 @@
From: Ben Hutchings <ben@decadent.org.uk>
Date: Sat, 10 Dec 2022 00:06:17 +0100
-Subject: [PATCH 351/353] Revert "percpu: include irqflags.h for
+Subject: [PATCH 351/354] Revert "percpu: include irqflags.h for
raw_local_irq_save()"
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=5fc2f775b05752f219dd8a10129509e0b23a1742
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=744516702f55a39c76b0b600abcba9e91942df0c
This reverts commit 0d796a9e6a93608b4dd84fbd09f01e912ae34bdc.
diff --git a/debian/patches-rt/0352-workqueue-Fix-deadlock-due-to-recursive-locking-of-p.patch b/debian/patches-rt/0352-workqueue-Fix-deadlock-due-to-recursive-locking-of-p.patch
index 847f5978e..bb3bb03cf 100644
--- a/debian/patches-rt/0352-workqueue-Fix-deadlock-due-to-recursive-locking-of-p.patch
+++ b/debian/patches-rt/0352-workqueue-Fix-deadlock-due-to-recursive-locking-of-p.patch
@@ -1,8 +1,8 @@
From: "Brennan Lamoreaux (VMware)" <brennanlamoreaux@gmail.com>
Date: Tue, 28 Feb 2023 14:49:38 -0800
-Subject: [PATCH 352/353] workqueue: Fix deadlock due to recursive locking of
+Subject: [PATCH 352/354] workqueue: Fix deadlock due to recursive locking of
pool->lock
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=ad25c1a19c04844c75d94d93a22d5879cdcede1c
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=8ddf6c4f69cacbc7afe70679003327744ecf8e39
Upstream commit d8bb65ab70f7 ("workqueue: Use rcuwait for wq_manager_wait")
replaced the waitqueue with rcuwait in the workqueue code. This change
@@ -55,10 +55,10 @@ Signed-off-by: Daniel Wagner <wagi@monom.org>
1 file changed, 1 deletion(-)
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
-index a9f3cc02bdc1..55ebdd56a5de 100644
+index 0c7033deaef2..e6e1923c88eb 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
-@@ -3394,7 +3394,6 @@ static void put_unbound_pool(struct worker_pool *pool)
+@@ -3397,7 +3397,6 @@ static void put_unbound_pool(struct worker_pool *pool)
* Because of how wq_manager_inactive() works, we will hold the
* spinlock after a successful wait.
*/
diff --git a/debian/patches-rt/0353-Revert-sched-rt-Provide-migrate_disable-enable-inlin.patch b/debian/patches-rt/0353-Revert-sched-rt-Provide-migrate_disable-enable-inlin.patch
new file mode 100644
index 000000000..c31c75707
--- /dev/null
+++ b/debian/patches-rt/0353-Revert-sched-rt-Provide-migrate_disable-enable-inlin.patch
@@ -0,0 +1,58 @@
+From: Daniel Wagner <wagi@monom.org>
+Date: Thu, 7 Dec 2023 15:54:10 +0100
+Subject: [PATCH 353/354] Revert "sched/rt: Provide migrate_disable/enable()
+ inlines"
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c127f3a8909b2dc34b7e211dba228ce6f63ec46c
+
+This reverts commit 56e8949825226341d28dd5156b3d0057684ff669.
+
+The tree contains already the migrate_disable/enable() helpers thus this
+stable backport conflicts (b) with the existing definition (compiler
+complains with conflicting definition). Thus we don't need this
+backported functions and can avoid the conflict by just dropping the
+backport.
+
+Signed-off-by: Daniel Wagner <wagi@monom.org>
+---
+ include/linux/preempt.h | 30 ------------------------------
+ 1 file changed, 30 deletions(-)
+
+diff --git a/include/linux/preempt.h b/include/linux/preempt.h
+index 29ecd13afdda..9c74a019bf57 100644
+--- a/include/linux/preempt.h
++++ b/include/linux/preempt.h
+@@ -422,34 +422,4 @@ static inline void preempt_notifier_init(struct preempt_notifier *notifier,
+
+ #endif
+
+-/**
+- * migrate_disable - Prevent migration of the current task
+- *
+- * Maps to preempt_disable() which also disables preemption. Use
+- * migrate_disable() to annotate that the intent is to prevent migration,
+- * but not necessarily preemption.
+- *
+- * Can be invoked nested like preempt_disable() and needs the corresponding
+- * number of migrate_enable() invocations.
+- */
+-static __always_inline void migrate_disable(void)
+-{
+- preempt_disable();
+-}
+-
+-/**
+- * migrate_enable - Allow migration of the current task
+- *
+- * Counterpart to migrate_disable().
+- *
+- * As migrate_disable() can be invoked nested, only the outermost invocation
+- * reenables migration.
+- *
+- * Currently mapped to preempt_enable().
+- */
+-static __always_inline void migrate_enable(void)
+-{
+- preempt_enable();
+-}
+-
+ #endif /* __LINUX_PREEMPT_H */
diff --git a/debian/patches-rt/0353-Linux-4.19.284-rt125-REBASE.patch b/debian/patches-rt/0354-Linux-4.19.302-rt131-REBASE.patch
index cd165fd18..93f1fb689 100644
--- a/debian/patches-rt/0353-Linux-4.19.284-rt125-REBASE.patch
+++ b/debian/patches-rt/0354-Linux-4.19.302-rt131-REBASE.patch
@@ -1,7 +1,7 @@
From: Daniel Wagner <wagi@monom.org>
-Date: Thu, 1 Jun 2023 08:03:33 +0200
-Subject: [PATCH 353/353] Linux 4.19.284-rt125 REBASE
-Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=c159f8ff7cf6c82d53a066c78a054d0244b7fb61
+Date: Wed, 20 Dec 2023 13:45:00 +0100
+Subject: [PATCH 354/354] Linux 4.19.302-rt131 REBASE
+Origin: https://git.kernel.org/cgit/linux/kernel/git/rt/linux-stable-rt.git/commit?id=56c9e3ba52d1f30bad6ff3ba2042ef9fe30525e8
Signed-off-by: Daniel Wagner <wagi@monom.org>
---
@@ -9,9 +9,9 @@ Signed-off-by: Daniel Wagner <wagi@monom.org>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/localversion-rt b/localversion-rt
-index 1199ebade17b..9d0cfbcac7f4 100644
+index 1199ebade17b..a328b97369c2 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt16
-+-rt125
++-rt131
diff --git a/debian/patches-rt/rcupdate-delete-duplicated-macros.patch b/debian/patches-rt/rcupdate-delete-duplicated-macros.patch
new file mode 100644
index 000000000..f597ccedf
--- /dev/null
+++ b/debian/patches-rt/rcupdate-delete-duplicated-macros.patch
@@ -0,0 +1,67 @@
+From: Ben Hutchings <benh@debian.org>
+Date: Sun, 24 Sep 2023 20:31:44 +0200
+Subject: rcupdate: Delete duplicated macros
+
+Commit e7d849eab72f mismerged include/linux/rcupdate.h, resulting in
+two macros being defined in both include/linux/rcupdate.h and
+include/linux/rcu_assign_pointer.h. Delete them from rcupdate.h as
+was intended.
+
+---
+--- a/include/linux/rcupdate.h
++++ b/include/linux/rcupdate.h
+@@ -382,54 +382,6 @@ static inline void rcu_preempt_sleep_che
+ })
+
+ /**
+- * RCU_INITIALIZER() - statically initialize an RCU-protected global variable
+- * @v: The value to statically initialize with.
+- */
+-#define RCU_INITIALIZER(v) (typeof(*(v)) __force __rcu *)(v)
+-
+-/**
+- * rcu_assign_pointer() - assign to RCU-protected pointer
+- * @p: pointer to assign to
+- * @v: value to assign (publish)
+- *
+- * Assigns the specified value to the specified RCU-protected
+- * pointer, ensuring that any concurrent RCU readers will see
+- * any prior initialization.
+- *
+- * Inserts memory barriers on architectures that require them
+- * (which is most of them), and also prevents the compiler from
+- * reordering the code that initializes the structure after the pointer
+- * assignment. More importantly, this call documents which pointers
+- * will be dereferenced by RCU read-side code.
+- *
+- * In some special cases, you may use RCU_INIT_POINTER() instead
+- * of rcu_assign_pointer(). RCU_INIT_POINTER() is a bit faster due
+- * to the fact that it does not constrain either the CPU or the compiler.
+- * That said, using RCU_INIT_POINTER() when you should have used
+- * rcu_assign_pointer() is a very bad thing that results in
+- * impossible-to-diagnose memory corruption. So please be careful.
+- * See the RCU_INIT_POINTER() comment header for details.
+- *
+- * Note that rcu_assign_pointer() evaluates each of its arguments only
+- * once, appearances notwithstanding. One of the "extra" evaluations
+- * is in typeof() and the other visible only to sparse (__CHECKER__),
+- * neither of which actually execute the argument. As with most cpp
+- * macros, this execute-arguments-only-once property is important, so
+- * please be careful when making changes to rcu_assign_pointer() and the
+- * other macros that it invokes.
+- */
+-#define rcu_assign_pointer(p, v) \
+-({ \
+- uintptr_t _r_a_p__v = (uintptr_t)(v); \
+- \
+- if (__builtin_constant_p(v) && (_r_a_p__v) == (uintptr_t)NULL) \
+- WRITE_ONCE((p), (typeof(p))(_r_a_p__v)); \
+- else \
+- smp_store_release(&p, RCU_INITIALIZER((typeof(p))_r_a_p__v)); \
+- _r_a_p__v; \
+-})
+-
+-/**
+ * rcu_replace_pointer() - replace an RCU pointer, returning its old value
+ * @rcu_ptr: RCU pointer, whose old value is returned
+ * @ptr: regular pointer
diff --git a/debian/patches-rt/series b/debian/patches-rt/series
index e9fd48c8f..737d56925 100644
--- a/debian/patches-rt/series
+++ b/debian/patches-rt/series
@@ -350,5 +350,7 @@
0350-timers-Don-t-block-on-expiry_lock-for-TIMER_IRQSAFE-.patch
0351-Revert-percpu-include-irqflags.h-for-raw_local_irq_s.patch
0352-workqueue-Fix-deadlock-due-to-recursive-locking-of-p.patch
-0353-Linux-4.19.284-rt125-REBASE.patch
+0353-Revert-sched-rt-Provide-migrate_disable-enable-inlin.patch
+0354-Linux-4.19.302-rt131-REBASE.patch
netpoll-fix-netif_local_xmit_active-for-4.19-rt.patch
+rcupdate-delete-duplicated-macros.patch