# Applied upstream

###########################################################################
# John's printk queue
###########################################################################
printk-defer_console_output-use-atomic-update.patch
0001-printk-rename-cpulock-functions.patch
0002-printk-cpu-sync-always-disable-interrupts.patch
0003-printk-use-percpu-flag-instead-of-cpu_online.patch
0004-printk-get-caller_id-timestamp-after-migration-disab.patch
0005-printk-call-boot_delay_msec-in-printk_delay.patch
0006-printk-refactor-and-rework-printing-logic.patch
0007-printk-move-buffer-definitions-into-console_emit_nex.patch
0008-printk-add-pr_flush.patch
0009-printk-add-functions-to-allow-direct-printing.patch
0010-printk-add-kthread-console-printers.patch
0011-printk-reimplement-console_lock-for-proper-kthread-s.patch
0012-printk-remove-console_locked.patch
0013-console-introduce-CON_MIGHT_SLEEP-for-vt.patch
0014-printk-add-infrastucture-for-atomic-consoles.patch
0015-serial-8250-implement-write_atomic.patch
0016-printk-avoid-preempt_disable-for-PREEMPT_RT.patch

###########################################################################
# Posted and applied
###########################################################################
# Slipped, waiting for 5.18
fs-namespace-Boost-the-mount_lock.lock-owner-instead.patch

# in -tip or traveling to -tip.
locking-local_lock-Make-the-empty-local_lock_-functi.patch
locking-Enable-RT_MUTEXES-by-default-on-PREEMPT_RT.patch
irq_poll-Use-raise_softirq_irqoff-in-cpu_dead-notifi.patch
smp_wake_ksoftirqd_on_preempt_rt_instead_do_softirq.patch
signal_x86__Delay_calling_signals_in_atomic.patch

# net-next
tcp-Don-t-acquire-inet_listen_hashbucket-lock-with-d.patch

# Random, backports from git.kernel.org/pub/scm/linux/kernel/git/crng/random.git
# stashed for 5.18
0001-random-use-computational-hash-for-entropy-extraction.patch
0002-random-remove-batched-entropy-locking.patch
0003-random-fix-locking-in-crng_fast_load.patch
0004-random-defer-fast-pool-mixing-to-worker.patch
0005-random-clear-fast-pool-crng-and-batches-in-cpuhp-bri.patch

# sched/fork, expecting in 5.18
0001-kernel-fork-Redo-ifdefs-around-task-s-handling.patch
0002-kernel-fork-Duplicate-task_struct-before-stack-alloc.patch
0003-kernel-fork-IA64-Provide-a-alloc_thread_stack_node-f.patch
0004-kernel-fork-Don-t-assign-the-stack-pointer-in-dup_ta.patch
0005-kernel-fork-Move-memcg_charge_kernel_stack-into-CONF.patch
0006-kernel-fork-Move-task-stack-account-to-do_exit.patch
0007-kernel-fork-Only-cache-the-VMAP-stack-in-finish_task.patch
0008-kernel-fork-Use-IS_ENABLED-in-account_kernel_stack.patch

# In net-next
usb-dwc3-gadget-Let-the-interrupt-handler-disable-bo.patch
0001-net-dev-Remove-preempt_disable-and-get_cpu-in-netif_.patch
0002-net-dev-Make-rps_lock-disable-interrupts.patch
0003-net-dev-Makes-sure-netif_rx-can-be-invoked-in-any-co.patch
net-Correct-wrong-BH-disable-in-hard-interrupt.patch

# These genirq should arrive in 5.18 on way or another.
0001-genirq-Provide-generic_handle_irq_safe.patch
0002-i2c-core-Use-generic_handle_irq_safe-in-i2c_handle_s.patch
0003-i2c-cht-wc-Use-generic_handle_irq_safe.patch
0004-misc-hi6421-spmi-pmic-Use-generic_handle_irq_safe.patch
0005-mfd-ezx-pcap-Use-generic_handle_irq_safe.patch
0006-net-usb-lan78xx-Use-generic_handle_irq_safe.patch
0007-staging-greybus-gpio-Use-generic_handle_irq_safe.patch

###########################################################################
# Posted
###########################################################################
drm-i915-Depend-on-PREEMPT_RT.patch

# cgroup, in -mm, still hasing out details, 5.18 should work.
0001-mm-memcg-Revert-mm-memcg-optimize-user-context-objec.patch
0002-mm-memcg-Disable-threshold-event-handlers-on-PREEMPT.patch
0003-mm-memcg-Protect-per-CPU-counter-by-disabling-preemp.patch
0004-mm-memcg-Opencode-the-inner-part-of-obj_cgroup_uncha.patch
0005-mm-memcg-Protect-memcg_stock-with-a-local_lock_t.patch
0006-mm-memcg-Disable-migration-instead-of-preemption-in-.patch
0007-mm-memcg-Add-missing-counter-index-which-are-not-upd.patch
0008-mm-memcg-Add-a-comment-regarding-the-release-obj.patch
mm-memcg-Only-perform-the-debug-checks-on-PREEMPT_RT.patch

###########################################################################
# Post
###########################################################################
cgroup__use_irqsave_in_cgroup_rstat_flush_locked.patch
mm__workingset__replace_IRQ-off_check_with_a_lockdep_assert..patch
softirq-Use-a-dedicated-thread-for-timer-wakeups.patch

###########################################################################
# Kconfig bits:
###########################################################################
jump-label__disable_if_stop_machine_is_used.patch

###########################################################################
# preempt: Conditional variants
###########################################################################
sched-Make-preempt_enable_no_resched-behave-like-pre.patch

###########################################################################
# sched:
###########################################################################
# cpu-light
kernel_sched__add_putget_cpu_light.patch
block_mq__do_not_invoke_preempt_disable.patch
scsi_fcoe__Make_RT_aware..patch
mm_vmalloc__Another_preempt_disable_region_which_sucks.patch
sunrpc__Make_svc_xprt_do_enqueue_use_get_cpu_light.patch
crypto__cryptd_-_add_a_lock_instead_preempt_disable_local_bh_disable.patch

###########################################################################
# softirq:
###########################################################################
softirq__Check_preemption_after_reenabling_interrupts.patch

###########################################################################
# ptrace: Revisit
###########################################################################
signal__Revert_ptrace_preempt_magic.patch
ptrace__fix_ptrace_vs_tasklist_lock_race.patch

###########################################################################
# fs: The namespace part needs a proper fix
###########################################################################
fs_dcache__use_swait_queue_instead_of_waitqueue.patch
fs_dcache__disable_preemption_on_i_dir_seqs_write_side.patch

###########################################################################
# RCU
###########################################################################
rcu__Delay_RCU-selftests.patch

###########################################################################
# X86:
###########################################################################
x86__kvm_Require_const_tsc_for_RT.patch
x86__Allow_to_enable_RT.patch
x86__Enable_RT_also_on_32bit.patch

###########################################################################
# For later, not essencial
###########################################################################
virt-acrn-Remove-unsued-acrn_irqfds_mutex.patch
tpm_tis__fix_stall_after_iowrites.patch
drivers_block_zram__Replace_bit_spinlocks_with_rtmutex_for_-rt.patch
generic-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch
softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch

###########################################################################
# DRM:
###########################################################################
0003-drm-i915-Use-preempt_disable-enable_rt-where-recomme.patch
0004-drm-i915-Don-t-disable-interrupts-on-PREEMPT_RT-duri.patch
0005-drm-i915-Don-t-check-for-atomic-context-on-PREEMPT_R.patch
0006-drm-i915-Disable-tracing-points-on-PREEMPT_RT.patch
0007-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
0008-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
0009-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
0010-drm-i915-Drop-the-irqs_disabled-check.patch
Revert-drm-i915-Depend-on-PREEMPT_RT.patch

###########################################################################
# Lazy preemption
###########################################################################
sched__Add_support_for_lazy_preemption.patch
x86_entry__Use_should_resched_in_idtentry_exit_cond_resched.patch
x86__Support_for_lazy_preemption.patch
entry--Fix-the-preempt-lazy-fallout.patch
arm__Add_support_for_lazy_preemption.patch
powerpc__Add_support_for_lazy_preemption.patch
arch_arm64__Add_lazy_preempt_support.patch

###########################################################################
# ARM/ARM64
###########################################################################
ARM__enable_irq_in_translation_section_permission_fault_handlers.patch
KVM__arm_arm64__downgrade_preempt_disabled_region_to_migrate_disable.patch
arm64-mm-Make-arch_faults_on_old_pte-check-for-migra.patch
arm64-sve-Delay-freeing-memory-in-fpsimd_flush_threa.patch
arm64-sve-Make-kernel-FPU-protection-RT-friendly.patch
arm64-signal-Use-ARCH_RT_DELAYS_SIGNAL_SEND.patch
tty_serial_omap__Make_the_locking_RT_aware.patch
tty_serial_pl011__Make_the_locking_work_on_RT.patch
ARM__Allow_to_enable_RT.patch
ARM64__Allow_to_enable_RT.patch

###########################################################################
# POWERPC
###########################################################################
powerpc__traps__Use_PREEMPT_RT.patch
powerpc_pseries_iommu__Use_a_locallock_instead_local_irq_save.patch
powerpc_kvm__Disable_in-kernel_MPIC_emulation_for_PREEMPT_RT.patch
powerpc_stackprotector__work_around_stack-guard_init_from_atomic.patch
POWERPC__Allow_to_enable_RT.patch

# Sysfs file vs uname() -v
sysfs__Add__sys_kernel_realtime_entry.patch

###########################################################################
# RT release version
###########################################################################
Add_localversion_for_-RT_release.patch
