# 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
###########################################################################
printk__rename_printk_cpulock_API_and_always_disable_interrupts.patch
console__add_write_atomic_interface.patch
kdb__only_use_atomic_consoles_for_output_mirroring.patch
serial__8250__implement_write_atomic.patch
printk__relocate_printk_delay.patch
printk__call_boot_delay_msec_in_printk_delay.patch
printk__use_seqcount_latch_for_console_seq.patch
printk__introduce_kernel_sync_mode.patch
printk__move_console_printing_to_kthreads.patch
printk__remove_deferred_printing.patch
printk__add_console_handover.patch
printk__add_pr_flush.patch
printk__Enhance_the_condition_check_of_msleep_in_pr_flush.patch

###########################################################################
# Posted and applied
###########################################################################
sched-Switch-wait_task_inactive-to-HRTIMER_MODE_REL_.patch
rcutorture-Avoid-problematic-critical-section-nestin.patch
kthread-Move-prio-affinite-change-into-the-newly-cre.patch
genirq-Move-prio-assignment-into-the-newly-created-t.patch
genirq-Disable-irqfixup-poll-on-PREEMPT_RT.patch
lockdep-Let-lock_is_held_type-detect-recursive-read-.patch
efi-Disable-runtime-services-on-RT.patch
efi-Allow-efi-runtime.patch
mm-Disable-zsmalloc-on-PREEMPT_RT.patch
net-core-disable-NET_RX_BUSY_POLL-on-PREEMPT_RT.patch

# KCOV (akpm)
0001_documentation_kcov_include_types_h_in_the_example.patch
0002_documentation_kcov_define_ip_in_the_example.patch
0003_kcov_allocate_per_cpu_memory_on_the_relevant_node.patch
0004_kcov_avoid_enable_disable_interrupts_if_in_task.patch
0005_kcov_replace_local_irq_save_with_a_local_lock_t.patch

###########################################################################
# Posted
###########################################################################
crypto-testmgr-Only-disable-migration-in-crypto_disa.patch
irq_poll-Use-raise_softirq_irqoff-in-cpu_dead-notifi.patch
smp_wake_ksoftirqd_on_preempt_rt_instead_do_softirq.patch
x86-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch

# sched
0001_sched_clean_up_the_might_sleep_underscore_zoo.patch
0002_sched_make_cond_resched__lock_variants_consistent_vs_might_sleep.patch
0003_sched_remove_preempt_offset_argument_from___might_sleep.patch
0004_sched_cleanup_might_sleep_printks.patch
0005_sched_make_might_sleep_output_less_confusing.patch
0006_sched_make_rcu_nest_depth_distinct_in___might_resched.patch
0007_sched_make_cond_resched_lock_variants_rt_aware.patch
0008_locking_rt_take_rcu_nesting_into_account_for___might_resched.patch
#
0001_sched_limit_the_number_of_task_migrations_per_batch_on_rt.patch
0002_sched_disable_ttwu_queue_on_rt.patch
0003_sched_move_kprobes_cleanup_out_of_finish_task_switch.patch
0004_sched_delay_task_stack_freeing_on_rt.patch
0005_sched_move_mmdrop_to_rcu_on_rt.patch

# irqwork: Needs upstream consolidation
0001_sched_rt_annotate_the_rt_balancing_logic_irqwork_as_irq_work_hard_irq.patch
0002_irq_work_allow_irq_work_sync_to_sleep_if_irq_work_no_irq_support.patch
0003_irq_work_handle_some_irq_work_in_a_per_cpu_thread_on_preempt_rt.patch
0004_irq_work_also_rcuwait_for_irq_work_hard_irq_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
tcp__Remove_superfluous_BH-disable_around_listening_hash.patch
samples_kfifo__Rename_read_lock_write_lock.patch

# Qdics's seqcount removal.
0001-mqprio-Correct-stats-in-mqprio_dump_class_stats.patch
0002-gen_stats-Add-instead-Set-the-value-in-__gnet_stats_.patch
0003-gen_stats-Add-instead-Set-the-value-in-__gnet_stats_.patch
0004-mq-mqprio-Simplify-stats-copy.patch
0005-u64_stats-Introduce-u64_stats_set.patch
0006-net-sched-Protect-Qdisc-bstats-with-u64_stats.patch
0007-net-sched-Use-_bstats_update-set-instead-of-raw-writ.patch
0008-net-sched-Merge-Qdisc-bstats-and-Qdisc-cpu_bstats-da.patch
0009-net-sched-Remove-Qdisc-running-sequence-counter.patch
0010-sch_htb-Use-helpers-to-read-stats-in-dump_stats.patch

###########################################################################
# Kconfig bits:
###########################################################################
jump-label__disable_if_stop_machine_is_used.patch
kconfig__Disable_config_options_which_are_not_RT_compatible.patch
mm-Allow-only-SLUB-on-PREEMPT_RT.patch

###########################################################################
# Include fixes
###########################################################################
# Skip, seems not be needed.
# wait.h__include_atomic.h.patch
# pid.h__include_atomic.h.patch

###########################################################################
# Locking: RT bits. Need review
###########################################################################
locking-Remove-rt_rwlock_is_contended.patch
lockdep-selftests-Avoid-using-local_lock_-acquire-re.patch
0001-sched-Trigger-warning-if-migration_disabled-counter-.patch
0003-rtmutex-Add-a-special-case-for-ww-mutex-handling.patch
0004-rtmutex-Add-rt_mutex_lock_nest_lock-and-rt_mutex_loc.patch
0005-lockdep-Make-it-RT-aware.patch
0006-lockdep-selftests-Add-rtmutex-to-the-last-column.patch
0007-lockdep-selftests-Unbalanced-migrate_disable-rcu_rea.patch
0008-lockdep-selftests-Skip-the-softirq-related-tests-on-.patch
0010-lockdep-selftests-Adapt-ww-tests-for-PREEMPT_RT.patch
locking-Allow-to-include-asm-spinlock_types.h-from-l.patch

###########################################################################
# preempt: Conditional variants
###########################################################################
sched-Add-preempt_disable_rt.patch
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
md__raid5__Make_raid5_percpu_handling_RT_aware.patch
scsi_fcoe__Make_RT_aware..patch
mm_vmalloc__Another_preempt_disable_region_which_sucks.patch
net__Remove_preemption_disabling_in_netif_rx.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

###########################################################################
# mm: Assorted RT bits. Need care
###########################################################################
mm__page_alloc__Use_migrate_disable_in_drain_local_pages_wq.patch
u64_stats__Disable_preemption_on_32bit-UP_SMP_with_RT_during_updates.patch
mm-scatterlist-Replace-the-preemptible-warning-sg_mi.patch

###########################################################################
# Disable memcontrol for now. The protection scopes are FUBARed
###########################################################################
mm-memcontro--Disable-on-PREEMPT_RT.patch
#mm_memcontrol__Disable_preemption_in___mod_memcg_lruvec_state.patch
#mm__memcontrol__Replace_disable-IRQ_locking_with_a_local_lock.patch
#mm_memcontrol__Dont_call_schedule_work_on_in_preemption_disabled_context.patch
#mm_memcontrol__Replace_local_irq_disable_with_local_locks.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

rt__Introduce_cpu_chill.patch
fs__namespace__Use_cpu_chill_in_trylock_loops.patch

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

###########################################################################
# net:
###########################################################################
net_core__use_local_bh_disable_in_netif_rx_ni.patch
net__Use_skbufhead_with_raw_lock.patch
net__Dequeue_in_dev_cpu_dead_without_the_lock.patch
net__dev__always_take_qdiscs_busylock_in___dev_xmit_skb.patch

###########################################################################
# randomness:
###########################################################################
panic__skip_get_random_bytes_for_RT_FULL_in_init_oops_id.patch
x86__stackprotector__Avoid_random_pool_on_rt.patch
random__Make_it_work_on_rt.patch

###########################################################################
# DRM:
###########################################################################
0001-drm-i915-remember-to-call-i915_sw_fence_fini.patch
0002-drm-Increase-DRM_OBJECT_MAX_PROPERTY-by-18.patch
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-Disable-tracing-points-on-PREEMPT_RT.patch
0006-drm-i915-skip-DRM_I915_LOW_LEVEL_TRACEPOINTS-with-NO.patch
0007-drm-i915-gt-Queue-and-wait-for-the-irq_work-item.patch
0008-drm-i915-gt-Use-spin_lock_irq-instead-of-local_irq_d.patch
0009-drm-i915-Drop-the-irqs_disabled-check.patch
0010-drm-i915-Don-t-disable-interrupts-and-pretend-a-lock.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
###########################################################################
genirq__update_irq_set_irqchip_state_documentation.patch
ASoC-mediatek-mt8195-Remove-unsued-irqs_lock.patch
smack-Guard-smack_ipv6_lock-definition-within-a-SMAC.patch
virt-acrn-Remove-unsued-acrn_irqfds_mutex.patch
tpm_tis__fix_stall_after_iowrites.patch
mm-zsmalloc-Replace-bit-spinlock-and-get_cpu_var-usa.patch
drivers_block_zram__Replace_bit_spinlocks_with_rtmutex_for_-rt.patch
leds-trigger-Disable-CPU-trigger-on-PREEMPT_RT.patch
generic-softirq-Disable-softirq-stacks-on-PREEMPT_RT.patch
softirq-Disable-softirq-stacks-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-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
