# Applied upstream

###########################################################################
# Valentin's PCP fixes
###########################################################################
# Temp RCU patch, Frederick is working on something, too.
rcu-tree-Protect-rcu_rdp_is_offloaded-invocations-on.patch
sched_introduce_migratable.patch
arm64_mm_make_arch_faults_on_old_pte_check_for_migratability.patch

###########################################################################
# John's printk queue
###########################################################################
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-refactor-and-rework-printing-logic.patch
0006-printk-move-buffer-definitions-into-console_emit_nex.patch
0007-printk-add-pr_flush.patch
0008-printk-add-kthread-console-printers.patch
0009-printk-reimplement-console_lock-for-proper-kthread-s.patch
0010-printk-remove-console_locked.patch
0011-console-introduce-CON_MIGHT_SLEEP-for-vt.patch
0012-printk-add-infrastucture-for-atomic-consoles.patch
0013-serial-8250-implement-write_atomic.patch
0014-printk-avoid-preempt_disable-for-PREEMPT_RT.patch

###########################################################################
# Posted and applied
###########################################################################
net-Write-lock-dev_base_lock-without-disabling-botto.patch
fs-namespace-Boost-the-mount_lock.lock-owner-instead.patch
0001-blk-mq-Add-blk_mq_complete_request_direct.patch
0002-mmc-core-Use-blk_mq_complete_request_direct.patch
drm-i915-Don-t-disable-interrupts-and-pretend-a-lock.patch
kernel-locking-Use-a-pointer-in-ww_mutex_trylock.patch
net-dev-Always-serialize-on-Qdisc-busylock-in-__dev_.patch
u64_stats-Disable-preemption-on-32bit-UP-SMP-PREEMPT.patch

# lockdep
0001-sched-Trigger-warning-if-migration_disabled-counter-.patch
0002-locking-Remove-rt_rwlock_is_contended.patch
0003-locking-rtmutex-Squash-self-deadlock-check-for-ww_rt.patch
0004-locking-rtmutex-Add-rt_mutex_lock_nest_lock-and-rt_m.patch
0005-lockdep-Remove-softirq-accounting-on-PREEMPT_RT.patch
0006-lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch
0007-lockdep-selftests-Unbalanced-migrate_disable-rcu_rea.patch
0008-lockdep-selftests-Skip-the-softirq-related-tests-on-.patch
0009-lockdep-selftests-Adapt-ww-tests-for-PREEMPT_RT.patch
0010-x86-mm-Include-spinlock_t-definition-in-pgtable.patch
0011-locking-Allow-to-include-asm-spinlock_types.h-from-l.patch

###########################################################################
# Posted
###########################################################################
irq_poll-Use-raise_softirq_irqoff-in-cpu_dead-notifi.patch
smp_wake_ksoftirqd_on_preempt_rt_instead_do_softirq.patch
fscache-Use-only-one-fscache_object_cong_wait.patch
tcp-Don-t-acquire-inet_listen_hashbucket-lock-with-d.patch
panic_remove_oops_id.patch
locking-local_lock-Make-the-empty-local_lock_-functi.patch

# sched
0001_kernel_fork_redo_ifdefs_around_task_s_handling.patch
0002_kernel_fork_duplicate_task_struct_before_stack_allocation.patch
0003_kernel_fork_ia64_provide_a_alloc_thread_stack_node_for_ia64.patch
0004_kernel_fork_don_t_assign_the_stack_pointer_in_dup_task_struct.patch
0005_kernel_fork_move_memcg_charge_kernel_stack_into_config_vmap_stack.patch
0006_kernel_fork_move_task_stack_account_to_do_exit.patch
0007_kernel_fork_only_cache_the_vmap_stack_in_finish_task_switch.patch
0008_kernel_fork_use_is_enabled_in_account_kernel_stack.patch

# random
0001_random_remove_unused_irq_flags_argument_from_add_interrupt_randomness.patch
0002_irq_remove_unsued_flags_argument_from___handle_irq_event_percpu.patch
0003_random_split_add_interrupt_randomness.patch
0004_random_move_the_fast_pool_reset_into_the_caller.patch
0005_random_defer_processing_of_randomness_on_preempt_rt.patch

# cgroup
0001-mm-memcg-Disable-threshold-event-handlers-on-PREEMPT.patch
0002-mm-memcg-Protect-per-CPU-counter-by-disabling-preemp.patch
0003-mm-memcg-Add-a-local_lock_t-for-IRQ-and-TASK-object.patch
0004-mm-memcg-Allow-the-task_obj-optimization-only-on-non.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

# These two need some feedback.
genirq-Provide-generic_handle_irq_safe.patch
Use-generic_handle_irq_safe-where-it-makes-sense.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

# net
0001-net-dev-Remove-the-preempt_disable-in-netif_rx_inter.patch
0002-net-dev-Remove-get_cpu-in-netif_rx_internal.patch
0003-net-dev-Makes-sure-netif_rx-can-be-invoked-in-any-co.patch
0004-net-dev-Make-rps_lock-disable-interrupts.patch

###########################################################################
# sched:
###########################################################################
# cpu-light
kernel_sched__add_putget_cpu_light.patch
block_mq__do_not_invoke_preempt_disable.patch
md__raid5__Make_raid5_percpu_handling_RT_aware.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

###########################################################################
# 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

###########################################################################
# X86:
###########################################################################
signal_x86__Delay_calling_signals_in_atomic.patch
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

# zsmalloc, applied, akpm
0001_zsmalloc_introduce_some_helper_functions.patch
0002_zsmalloc_rename_zs_stat_type_to_class_stat_type.patch
0003_zsmalloc_decouple_class_actions_from_zspage_works.patch
0004_zsmalloc_introduce_obj_allocated.patch
0005_zsmalloc_move_huge_compressed_obj_from_page_to_zspage.patch
0006_zsmalloc_remove_zspage_isolation_for_migration.patch
0007_locking_rwlocks_introduce_write_lock_nested.patch
0008_zsmalloc_replace_per_zpage_lock_with_pool_migrate_lock.patch
0009_zsmalloc_replace_get_cpu_var_with_local_lock.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-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
