########################################################################### # Valentin's PCP fixes ########################################################################### eventfd-Make-signal-recursion-protection-a-task-bit.patch sched_Introduce_is_pcpu_safe_.patch rcu_nocb_Check_for_migratability_rather_than_pure_preemptability.patch arm64_mm_Make_arch_faults_on_old_pte_check_for_migratability.patch ########################################################################### # John's printk queue ########################################################################### printk_console__Check_consistent_sequence_number_when_handling_race_in_console_unlock.patch lib_nmi_backtrace__explicitly_serialize_banner_and_regs.patch printk__track_limit_recursion.patch printk__remove_safe_buffers.patch printk__remove_NMI_tracking.patch printk__convert_syslog_lock_to_mutex.patch printk__syslog__close_window_between_wait_and_read.patch 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 ########################################################################### # mm bits polished by Mel and Vlastimil # slub-local-lock-v4r1 ########################################################################### 0001-mm-slub-don-t-call-flush_all-from-slab_debug_trace_o.patch 0002-mm-slub-allocate-private-object-map-for-debugfs-list.patch 0003-mm-slub-allocate-private-object-map-for-validate_sla.patch 0004-mm-slub-don-t-disable-irq-for-debug_check_no_locks_f.patch 0005-mm-slub-remove-redundant-unfreeze_partials-from-put_.patch 0006-mm-slub-unify-cmpxchg_double_slab-and-__cmpxchg_doub.patch 0007-mm-slub-extract-get_partial-from-new_slab_objects.patch 0008-mm-slub-dissolve-new_slab_objects-into-___slab_alloc.patch 0009-mm-slub-return-slab-page-from-get_partial-and-set-c-.patch 0010-mm-slub-restructure-new-page-checks-in-___slab_alloc.patch 0011-mm-slub-simplify-kmem_cache_cpu-and-tid-setup.patch 0012-mm-slub-move-disabling-enabling-irqs-to-___slab_allo.patch 0013-mm-slub-do-initial-checks-in-___slab_alloc-with-irqs.patch 0014-mm-slub-move-disabling-irqs-closer-to-get_partial-in.patch 0015-mm-slub-restore-irqs-around-calling-new_slab.patch 0016-mm-slub-validate-slab-from-partial-list-or-page-allo.patch 0017-mm-slub-check-new-pages-with-restored-irqs.patch 0018-mm-slub-stop-disabling-irqs-around-get_partial.patch 0019-mm-slub-move-reset-of-c-page-and-freelist-out-of-dea.patch 0020-mm-slub-make-locking-in-deactivate_slab-irq-safe.patch 0021-mm-slub-call-deactivate_slab-without-disabling-irqs.patch 0022-mm-slub-move-irq-control-into-unfreeze_partials.patch 0023-mm-slub-discard-slabs-in-unfreeze_partials-without-i.patch 0024-mm-slub-detach-whole-partial-list-at-once-in-unfreez.patch 0025-mm-slub-separate-detaching-of-partial-list-in-unfree.patch 0026-mm-slub-only-disable-irq-with-spin_lock-in-__unfreez.patch 0027-mm-slub-don-t-disable-irqs-in-slub_cpu_dead.patch 0028-mm-slab-make-flush_slab-possible-to-call-with-irqs-e.patch 0029-mm-slub-Move-flush_cpu_slab-invocations-__free_slab-.patch 0030-mm-slub-Make-object_map_lock-a-raw_spinlock_t.patch 0031-mm-slub-optionally-save-restore-irqs-in-slab_-un-loc.patch 0032-mm-slub-make-slab_lock-disable-irqs-with-PREEMPT_RT.patch 0033-mm-slub-protect-put_cpu_partial-with-disabled-irqs-i.patch 0034-mm-slub-use-migrate_disable-on-PREEMPT_RT.patch 0035-mm-slub-convert-kmem_cpu_slab-protection-to-local_lo.patch ########################################################################### # Posted ########################################################################### highmem-Don-t-disable-preemption-on-RT-in-kmap_atomi.patch ########################################################################### # Post ########################################################################### kthread__Move_prio_affinite_change_into_the_newly_created_thread.patch genirq__Move_prio_assignment_into_the_newly_created_thread.patch notifier__Make_atomic_notifiers_use_raw_spinlock.patch cgroup__use_irqsave_in_cgroup_rstat_flush_locked.patch mm__workingset__replace_IRQ-off_check_with_a_lockdep_assert..patch shmem__Use_raw_spinlock_t_for_-stat_lock.patch net__Move_lockdep_where_it_belongs.patch tcp__Remove_superfluous_BH-disable_around_listening_hash.patch samples_kfifo__Rename_read_lock_write_lock.patch smp__Wake_ksoftirqd_on_PREEMPT_RT_instead_do_softirq..patch genirq__update_irq_set_irqchip_state_documentation.patch # Block / io-ring pending 0001-io-wq-remove-GFP_ATOMIC-allocation-off-schedule-out-.patch 0002-io-wq-Don-t-mix-raw_spinlock_irq-spin_lock_irq.patch ########################################################################### # Kconfig bits: ########################################################################### genirq__Disable_irqpoll_on_-rt.patch jump-label__disable_if_stop_machine_is_used.patch leds__trigger__disable_CPU_trigger_on_-RT.patch kconfig__Disable_config_options_which_are_not_RT_compatible.patch mm__Allow_only_SLUB_on_RT.patch sched__Disable_CONFIG_RT_GROUP_SCHED_on_RT.patch net_core__disable_NET_RX_BUSY_POLL_on_RT.patch efi__Disable_runtime_services_on_RT.patch efi__Allow_efiruntime.patch ########################################################################### # Include fixes ########################################################################### wait.h__include_atomic.h.patch pid.h__include_atomic.h.patch ########################################################################### # Tracing: Polish! ########################################################################### trace__Add_migrate-disabled_counter_to_tracing_output.patch ########################################################################### # Debugobjects ########################################################################### debugobjects__Make_RT_aware.patch ########################################################################### # Locking core ########################################################################### locking-local_lock--Add-missing-owner-initialization.patch locking-rtmutex--Set-proper-wait-context-for-lockdep.patch sched__Split_out_the_wakeup_state_check.patch sched__Introduce_TASK_RTLOCK_WAIT.patch sched--Reorganize-current--state-helpers.patch sched__Prepare_for_RT_sleeping_spin_rwlocks.patch sched__Rework_the___schedule_preempt_argument.patch sched__Provide_schedule_point_for_RT_locks.patch sched_wake_q__Provide_WAKE_Q_HEAD_INITIALIZER.patch media_atomisp_Use_lockdep_instead_of_mutex_is_locked_.patch rtmutex--Remove-rt_mutex_is_locked--.patch rtmutex__Convert_macros_to_inlines.patch rtmutex--Switch-to-try_cmpxchg--.patch rtmutex__Split_API_and_implementation.patch rtmutex--Split-out-the-inner-parts-of-struct-rtmutex.patch locking_rtmutex__Provide_rt_mutex_slowlock_locked.patch rtmutex--Provide-rt_mutex_base_is_locked--.patch locking__Add_base_code_for_RT_rw_semaphore_and_rwlock.patch locking_rwsem__Add_rtmutex_based_R_W_semaphore_implementation.patch locking_rtmutex__Add_wake_state_to_rt_mutex_waiter.patch locking_rtmutex__Provide_rt_mutex_wake_q_and_helpers.patch locking_rtmutex__Use_rt_mutex_wake_q_head.patch locking_rtmutex__Prepare_RT_rt_mutex_wake_q_for_RT_locks.patch locking_rtmutex__Guard_regular_sleeping_locks_specific_functions.patch locking_spinlock__Split_the_lock_types_header.patch locking_rtmutex__Prevent_future_include_recursion_hell.patch locking_lockdep__Reduce_includes_in_debug_locks.h.patch rbtree__Split_out_the_rbtree_type_definitions.patch locking_rtmutex__Include_only_rbtree_types.patch locking_spinlock__Provide_RT_specific_spinlock_type.patch locking_spinlock__Provide_RT_variant_header.patch locking_rtmutex__Provide_the_spin_rwlock_core_lock_function.patch locking_spinlock__Provide_RT_variant.patch locking_rwlock__Provide_RT_variant.patch rtmutex--Exclude-!RT-tasks-from-PI-boosting.patch locking_mutex__Consolidate_core_headers.patch locking_mutex__Move_waiter_to_core_header.patch locking_ww_mutex__Move_ww_mutex_declarations_into_ww_mutex.h.patch locking_mutex__Make_mutex__wait_lock_raw.patch locking_ww_mutex__Simplify_lockdep_annotation.patch locking_ww_mutex__Gather_mutex_waiter_initialization.patch locking_ww_mutex__Split_up_ww_mutex_unlock.patch locking_ww_mutex__Split_W_W_implementation_logic.patch locking_ww_mutex__Remove___sched_annotation.patch locking_ww_mutex__Abstract_waiter_iteration.patch locking_ww_mutex__Abstract_waiter_enqueue.patch locking_ww_mutex__Abstract_mutex_accessors.patch locking_ww_mutex__Abstract_mutex_types.patch locking-ww_mutex--Abstract-internal-lock-access.patch locking_ww_mutex__Implement_rt_mutex_accessors.patch locking_ww_mutex__Add_RT_priority_to_W_W_order.patch locking_ww_mutex__Add_ww_rt_mutex_interface.patch locking-rtmutex--Extend-the-rtmutex-core-to-support-ww_mutex.patch locking_ww_mutex__Implement_ww_rt_mutex.patch locking_rtmutex__Add_mutex_variant_for_RT.patch lib_test_lockup__Adapt_to_changed_variables..patch futex__Validate_waiter_correctly_in_futex_proxy_trylock_atomic.patch futex__Cleanup_stale_comments.patch futex--Clarify-futex_requeue---PI-handling.patch futex--Remove-bogus-condition-for-requeue-PI.patch futex__Correct_the_number_of_requeued_waiters_for_PI.patch futex__Restructure_futex_requeue.patch futex__Clarify_comment_in_futex_requeue.patch futex--Reorder-sanity-checks-in-futex_requeue--.patch futex--Simplify-handle_early_requeue_pi_wakeup--.patch futex__Prevent_requeue_pi_lock_nesting_issue_on_RT.patch rtmutex__Prevent_lockdep_false_positive_with_PI_futexes.patch preempt__Adjust_PREEMPT_LOCK_OFFSET_for_RT.patch locking_rtmutex__Implement_equal_priority_lock_stealing.patch locking_rtmutex__Add_adaptive_spinwait_mechanism.patch locking-spinlock-rt--Prepare-for-RT-local_lock.patch locking-local_lock--Add-PREEMPT_RT-support.patch ########################################################################### # Locking: RT bits. Need review ########################################################################### 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 0009-lockdep-selftests-Use-correct-depmap-for-local_lock-.patch 0010-lockdep-selftests-Adapt-ww-tests-for-PREEMPT_RT.patch ########################################################################### # preempt: Conditional variants ########################################################################### preempt__Provide_preempt__nort_variants.patch ########################################################################### # sched: ########################################################################### kernel_sched__add_putget_cpu_light.patch sched__Limit_the_number_of_task_migrations_per_batch.patch sched__Move_mmdrop_to_RCU_on_RT.patch kernel_sched__move_stack__kprobe_clean_up_to___put_task_struct.patch sched__Do_not_account_rcu_preempt_depth_on_RT_in_might_sleep.patch sched__Disable_TTWU_QUEUE_on_RT.patch cpuset__Convert_callback_lock_to_raw_spinlock_t.patch ########################################################################### # softirq: ########################################################################### softirq__Check_preemption_after_reenabling_interrupts.patch softirq__Disable_softirq_stacks_for_RT.patch ########################################################################### # irqwork: Needs upstream consolidation ########################################################################### irqwork__push_most_work_into_softirq_context.patch ########################################################################### # mm: Assorted RT bits. Need care ########################################################################### mm__page_alloc__Use_migrate_disable_in_drain_local_pages_wq.patch mm_vmstat__Protect_per_cpu_variables_with_preempt_disable_on_RT.patch u64_stats__Disable_preemption_on_32bit-UP_SMP_with_RT_during_updates.patch mm_zsmalloc__copy_with_get_cpu_var_and_locking.patch mm_vmalloc__Another_preempt_disable_region_which_sucks.patch mm_scatterlist__Do_not_disable_irqs_on_RT.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 rcutorture__Avoid_problematic_critical_section_nesting_on_RT.patch ########################################################################### # net: ########################################################################### net_Qdisc__use_a_seqlock_instead_seqcount.patch net__Properly_annotate_the_try-lock_for_the_seqlock.patch net_core__use_local_bh_disable_in_netif_rx_ni.patch sunrpc__Make_svc_xprt_do_enqueue_use_get_cpu_light.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 net__Remove_preemption_disabling_in_netif_rx.patch ########################################################################### # block & friends: ########################################################################### block_mq__do_not_invoke_preempt_disable.patch drivers_block_zram__Replace_bit_spinlocks_with_rtmutex_for_-rt.patch md__raid5__Make_raid5_percpu_handling_RT_aware.patch scsi_fcoe__Make_RT_aware..patch ########################################################################### # crypto: ########################################################################### crypto__limit_more_FPU-enabled_sections.patch crypto__cryptd_-_add_a_lock_instead_preempt_disable_local_bh_disable.patch crypto-testmgr-Only-disable-migration-in-crypto_disa.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: ########################################################################### drmradeoni915__Use_preempt_disable_enable_rt_where_recommended.patch drm_i915__Dont_disable_interrupts_on_PREEMPT_RT_during_atomic_updates.patch drm_i915__disable_tracing_on_-RT.patch drm_i915__skip_DRM_I915_LOW_LEVEL_TRACEPOINTS_with_NOTRACE.patch drm_i915_gt__Only_disable_interrupts_for_the_timeline_lock_on_force-threaded.patch ########################################################################### # tty/serial: ARM drivers ########################################################################### tty_serial_omap__Make_the_locking_RT_aware.patch tty_serial_pl011__Make_the_locking_work_on_RT.patch ########################################################################### # TPM: ########################################################################### tpm_tis__fix_stall_after_iowrites.patch ########################################################################### # sysfs ########################################################################### sysfs__Add__sys_kernel_realtime_entry.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 ########################################################################### # 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 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__Avoid_recursive_header_includes.patch POWERPC__Allow_to_enable_RT.patch ########################################################################### # RT release version ########################################################################### Add_localversion_for_-RT_release.patch