###########################################################
# DELTA against a known Linus release
###########################################################

############################################################
# UPSTREAM changes queued
############################################################

############################################################
# UPSTREAM FIXES, patches pending
############################################################
timer-make-the-base-lock-raw.patch

############################################################
# Stuff broken upstream, patches submitted
############################################################
lockdep-Handle-statically-initialized-PER_CPU-locks-.patch
lockdep-Fix-compilation-error-for-CONFIG_MODULES-and.patch
lockdep-Fix-per-cpu-static-objects.patch

0001-futex-Cleanup-variable-names-for-futex_top_waiter.patch
0002-futex-Use-smp_store_release-in-mark_wake_futex.patch
0003-futex-Remove-rt_mutex_deadlock_account_.patch
0004-futex-rt_mutex-Provide-futex-specific-rt_mutex-API.patch
0005-futex-Change-locking-rules.patch
0006-futex-Cleanup-refcounting.patch
0007-futex-Rework-inconsistent-rt_mutex-futex_q-state.patch
0008-futex-Pull-rt_mutex_futex_unlock-out-from-under-hb-l.patch
0009-futex-rt_mutex-Introduce-rt_mutex_init_waiter.patch
0010-futex-rt_mutex-Restructure-rt_mutex_finish_proxy_loc.patch
0011-futex-Rework-futex_lock_pi-to-use-rt_mutex_-_proxy_l.patch
0012-futex-Futex_unlock_pi-determinism.patch
0013-futex-Drop-hb-lock-before-enqueueing-on-the-rtmutex.patch
0001-rtmutex-Deboost-before-waking-up-the-top-waiter.patch
0002-sched-rtmutex-deadline-Fix-a-PI-crash-for-deadline-t.patch
0003-sched-deadline-rtmutex-Dont-miss-the-dl_runtime-dl_p.patch
0004-rtmutex-Clean-up.patch
0005-sched-rtmutex-Refactor-rt_mutex_setprio.patch
0006-sched-tracing-Update-trace_sched_pi_setprio.patch
0007-rtmutex-Fix-PI-chain-order-integrity.patch
0008-rtmutex-Fix-more-prio-comparisons.patch
0009-rtmutex-Plug-preempt-count-leak-in-rt_mutex_futex_un.patch
0001-futex-Avoid-freeing-an-active-timer.patch
0002-futex-Fix-small-and-harmless-looking-inconsistencies.patch
0003-futex-Clarify-mark_wake_futex-memory-barrier-usage.patch
0004-MAINTAINERS-Add-FUTEX-SUBSYSTEM.patch
futex-rt_mutex-Fix-rt_mutex_cleanup_proxy_lock.patch

# Those two should vanish soon (not use PIT during bootup)
at91_dont_enable_disable_clock.patch

############################################################
# Stuff which needs addressing upstream, but requires more
# information
############################################################
rfc-arm-smp-__cpu_disable-fix-sleeping-function-called-from-invalid-context.patch

############################################################
# Stuff broken upstream, need to be sent
############################################################
rtmutex--Handle-non-enqueued-waiters-gracefully.patch
fs-dcache-include-wait.h.patch
rbtree-include-rcu.h-because-we-use-it.patch
fs-dcache-init-in_lookup_hashtable.patch
iommu-iova-don-t-disable-preempt-around-this_cpu_ptr.patch
iommu-vt-d-don-t-disable-preemption-while-accessing-.patch
x86-apic-get-rid-of-warning-acpi_ioapic_lock-defined.patch
rxrpc-remove-unused-static-variables.patch
rcu-update-make-RCU_EXPEDITE_BOOT-default.patch
locking-percpu-rwsem-use-swait-for-the-wating-writer.patch
pinctrl-qcom-Use-raw-spinlock-variants.patch
x86-mm-cpa-avoid-wbinvd-for-PREEMPT.patch

# Wants a different fix for upstream
NFSv4-replace-seqcount_t-with-a-seqlock_t.patch

############################################################
# Submitted on LKML
############################################################

# SPARC part of erly printk consolidation
sparc64-use-generic-rwsem-spinlocks-rt.patch

# SRCU
kernel-SRCU-provide-a-static-initializer.patch

############################################################
# Submitted to mips ML
############################################################

############################################################
# Submitted to ARM ML
############################################################

############################################################
# Submitted to PPC ML
############################################################

############################################################
# Submitted on LKML
############################################################

############################################################
# Submitted to net-dev
############################################################

############################################################
# Pending in tip
############################################################

############################################################
# Stuff which should go upstream ASAP
############################################################

# SCHED BLOCK/WQ
block-shorten-interrupt-disabled-regions.patch

# Timekeeping split jiffies lock. Needs a good argument :)
timekeeping-split-jiffies-lock.patch

# Tracing
tracing-account-for-preempt-off-in-preempt_schedule.patch

# PTRACE/SIGNAL crap
signal-revert-ptrace-preempt-magic.patch

# ARM lock annotation
arm-convert-boot-lock-to-raw.patch
arm-kprobe-replace-patch_lock-to-raw-lock.patch

# PREEMPT_ENABLE_NO_RESCHED

# SIGNALS / POSIXTIMERS
posix-timers-no-broadcast.patch
signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch

# SCHED

# GENERIC CMPXCHG

# SHORTEN PREEMPT DISABLED
drivers-random-reduce-preempt-disabled-region.patch

# CLOCKSOURCE
arm-at91-pit-remove-irq-handler-when-clock-is-unused.patch
clockevents-drivers-timer-atmel-pit-fix-double-free_.patch
clocksource-tclib-allow-higher-clockrates.patch

# DRIVERS NET
drivers-net-8139-disable-irq-nosync.patch

# PREEMPT

# PM
suspend-prevernt-might-sleep-splats.patch

# NETWORKING
net-prevent-abba-deadlock.patch
net-sched-dev_deactivate_many-use-msleep-1-instead-o.patch

# X86
x86-io-apic-migra-no-unmask.patch

# RCU

# LOCKING INIT FIXES

# PCI
pci-access-use-__wake_up_all_locked.patch

# WORKQUEUE


#####################################################
# Stuff which should go mainline, but wants some care
#####################################################

# SEQLOCK

# ANON RW SEMAPHORES

# TRACING
latencyhist-disable-jump-labels.patch
latency-hist.patch
latency_hist-update-sched_wakeup-probe.patch
trace-latency-hist-Consider-new-argument-when-probin.patch
trace_Use_rcuidle_version_for_preemptoff_hist_trace_point.patch

##################################################
# REAL RT STUFF starts here
##################################################

# PRINTK
printk-kill.patch
printk-27force_early_printk-27-boot-param-to-help-with-debugging.patch

# Enable RT CONFIG
rt-preempt-base-config.patch
kconfig-disable-a-few-options-rt.patch
kconfig-preempt-rt-full.patch

# WARN/BUG_ON_RT
bug-rt-dependend-variants.patch
iommu-amd--Use-WARN_ON_NORT.patch

# LOCAL_IRQ_RT/NON_RT
local-irq-rt-depending-variants.patch

# PREEMPT NORT
preempt-nort-rt-variants.patch

# local locks & migrate disable
introduce_migrate_disable_cpu_light.patch
futex-workaround-migrate_disable-enable-in-different.patch
rt-local-irq-lock.patch
locallock-add-local_lock_on.patch

# ANNOTATE local_irq_disable sites
ata-disable-interrupts-if-non-rt.patch
ide-use-nort-local-irq-variants.patch
infiniband-mellanox-ib-use-nort-irq.patch
inpt-gameport-use-local-irq-nort.patch
user-use-local-irq-nort.patch
usb-use-_nort-in-giveback.patch
mm-scatterlist-dont-disable-irqs-on-RT.patch
mm-workingset-do-not-protect-workingset_shadow_nodes.patch

# Sigh
signal-fix-up-rcu-wreckage.patch
oleg-signal-rt-fix.patch
x86-signal-delay-calling-signals-on-32bit.patch

# ANNOTATE BUG/WARNON
net-wireless-warn-nort.patch

# BIT SPINLOCKS - SIGH
fs-replace-bh_uptodate_lock-for-rt.patch
fs-jbd-replace-bh_state-lock.patch

# GENIRQ
list_bl.h-make-list-head-locking-RT-safe.patch
list_bl-fixup-bogus-lockdep-warning.patch
genirq-disable-irqpoll-on-rt.patch
genirq-force-threading.patch

# DRIVERS NET
drivers-net-vortex-fix-locking-issues.patch

# MM PAGE_ALLOC
mm-page_alloc-rt-friendly-per-cpu-pages.patch
mm-page_alloc-reduce-lock-sections-further.patch

# MM SWAP
mm-convert-swap-to-percpu-locked.patch
mm-perform-lru_add_drain_all-remotely.patch

# MM vmstat
mm-make-vmstat-rt-aware.patch

# MM memory
re-preempt_rt_full-arm-coredump-fails-for-cpu-3e-3d-4.patch

# MM bounce
mm-bounce-local-irq-save-nort.patch

# MM SLxB
mm-disable-sloub-rt.patch
mm-enable-slub.patch
slub-enable-irqs-for-no-wait.patch
slub-disable-SLUB_CPU_PARTIAL.patch

# MM
mm-page-alloc-use-local-lock-on-target-cpu.patch
mm-memcontrol-Don-t-call-schedule_work_on-in-preempt.patch
mm-memcontrol-do_not_disable_irq.patch
mm-memcontrol-mem_cgroup_migrate-replace-another-loc.patch
mm-backing-dev-don-t-disable-IRQs-in-wb_congested_pu.patch
mm_zsmalloc_copy_with_get_cpu_var_and_locking.patch

# RADIX TREE
radix-tree-use-local-locks.patch

# PANIC
panic-disable-random-on-rt.patch

# TIMERS
timers-prepare-for-full-preemption.patch
timer-delay-waking-softirqs-from-the-jiffy-tick.patch

# HRTIMERS
hrtimers-prepare-full-preemption.patch
hrtimer-enfore-64byte-alignment.patch
hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch
sched-deadline-dl_task_timer-has-to-be-irqsafe.patch
timer-fd-avoid-live-lock.patch
tick-broadcast--Make-hrtimer-irqsafe.patch
timer-hrtimer-check-properly-for-a-running-timer.patch

# POSIX-CPU-TIMERS
posix-timers-thread-posix-cpu-timers-on-rt.patch

# SCHEDULER
sched-delay-put-task.patch
sched-limit-nr-migrate.patch
sched-mmdrop-delayed.patch
kernel-sched-move-stack-kprobe-clean-up-to-__put_tas.patch
sched-rt-mutex-wakeup.patch
sched-Prevent-task-state-corruption-by-spurious-lock.patch
sched-Remove-TASK_ALL.patch
sched-might-sleep-do-not-account-rcu-depth.patch
cond-resched-softirq-rt.patch
cond-resched-lock-rt-tweak.patch
sched-disable-ttwu-queue.patch
sched-disable-rt-group-sched-on-rt.patch
sched-ttwu-ensure-success-return-is-correct.patch
sched-workqueue-Only-wake-up-idle-workers-if-not-blo.patch

# STOP MACHINE
stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch
stop-machine-raw-lock.patch

# MIGRATE DISABLE AND PER CPU
hotplug-light-get-online-cpus.patch
hotplug-sync_unplug-no-27-5cn-27-in-task-name.patch
re-migrate_disable-race-with-cpu-hotplug-3f.patch
ftrace-migrate-disable-tracing.patch
hotplug-use-migrate-disable.patch

# NOHZ

# LOCKDEP
lockdep-no-softirq-accounting-on-rt.patch

# SOFTIRQ
mutex-no-spin-on-rt.patch
tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch
softirq-preempt-fix-3-re.patch
softirq-disable-softirq-stacks-for-rt.patch
softirq-split-locks.patch
kernel-softirq-unlock-with-irqs-on.patch
kernel-migrate_disable-do-fastpath-in-atomic-irqs-of.patch
irq-allow-disabling-of-softirq-processing-in-irq-thread-context.patch
softirq-split-timer-softirqs-out-of-ksoftirqd.patch
softirq-wake-the-timer-softirq-if-needed.patch
timers-Don-t-wake-ktimersoftd-on-every-tick.patch
Revert-timers-Don-t-wake-ktimersoftd-on-every-tick.patch
rtmutex-trylock-is-okay-on-RT.patch

# compile fix due to rtmutex locks
gpu_don_t_check_for_the_lock_owner.patch
fs-nfs-turn-rmdir_sem-into-a-semaphore.patch

# FUTEX/RTMUTEX
rtmutex-futex-prepare-rt.patch
futex-requeue-pi-fix.patch
futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch

# RTMUTEX
pid.h-include-atomic.h.patch
arm-include-definition-for-cpumask_t.patch
locking-locktorture-Do-NOT-include-rwlock.h-directly.patch
rtmutex-lock-killable.patch
rtmutex-Make-lock_killable-work.patch
spinlock-types-separate-raw.patch
rtmutex-avoid-include-hell.patch
rtmutex_dont_include_rcu.patch
rt-add-rt-locks.patch
rt-drop_mutex_disable_on_not_debug.patch
rtmutex-add-a-first-shot-of-ww_mutex.patch
rtmutex-Provide-rt_mutex_lock_state.patch
rtmutex-Provide-locked-slowpath.patch
futex-rtmutex-Cure-RT-double-blocking-issue.patch
rwsem-rt-Lift-single-reader-restriction.patch
ptrace-fix-ptrace-vs-tasklist_lock-race.patch

# RCU
peter_zijlstra-frob-rcu.patch
rcu-merge-rcu-bh-into-rcu-preempt-for-rt.patch
patch-to-introduce-rcu-bh-qs-where-safe-from-softirq.patch
rcutree-rcu_bh_qs-disable-irq-while-calling-rcu_pree.patch

# DRIVERS SERIAL
drivers-tty-fix-omap-lock-crap.patch
drivers-tty-pl011-irq-disable-madness.patch
rt-serial-warn-fix.patch
tty-serial-8250-don-t-take-the-trylock-during-oops.patch

# SIMPLE WAITQUEUE
wait.h-include-atomic.h.patch
work-simple-Simple-work-queue-implemenation.patch
completion-use-simple-wait-queues.patch
fs-aio-simple-simple-work.patch
genirq-do-not-invoke-the-affinity-callback-via-a-wor.patch
hrtimer-Move-schedule_work-call-to-helper-thread.patch

# FS
peterz-percpu-rwsem-rt.patch
fs-namespace-preemption-fix.patch
mm-protect-activate-switch-mm.patch
fs-block-rt-support.patch
fs-ntfs-disable-interrupt-non-rt.patch
fs-jbd2-pull-your-plug-when-waiting-for-space.patch

# X86
x86-mce-timer-hrtimer.patch
x86-mce-use-swait-queue-for-mce-wakeups.patch
x86-stackprot-no-random-on-rt.patch
x86-use-gen-rwsem-spinlocks-rt.patch
x86-UV-raw_spinlock-conversion.patch
thermal-Defer-thermal-wakups-to-threads.patch

# CPU get light
epoll-use-get-cpu-light.patch
mm-vmalloc-use-get-cpu-light.patch
block-mq-use-cpu_light.patch
block-mq-drop-preempt-disable.patch
block-mq-don-t-complete-requests-via-IPI.patch
md-raid5-percpu-handling-rt-aware.patch

# CPU CHILL
rt-introduce-cpu-chill.patch
cpu_chill-Add-a-UNINTERRUPTIBLE-hrtimer_nanosleep.patch

# block
block-blk-mq-use-swait.patch

# BLOCK LIVELOCK PREVENTION
block-use-cpu-chill.patch

# FS LIVELOCK PREVENTION
fs-dcache-use-cpu-chill-in-trylock-loops.patch
net-use-cpu-chill.patch
fs-dcache-use-swait_queue-instead-of-waitqueue.patch

# WORKQUEUE more fixes
workqueue-use-rcu.patch
workqueue-use-locallock.patch
work-queue-work-around-irqsafe-timer-optimization.patch
workqueue-distangle-from-rq-lock.patch

# IDR
idr-use-local-lock-for-protection.patch
percpu_ida-use-locklocks.patch

# DEBUGOBJECTS
debugobjects-rt.patch

# JUMPLABEL
jump-label-rt.patch

# SEQLOCKS
seqlock-prevent-rt-starvation.patch

# NETWORKING
sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch
skbufhead-raw-lock.patch
net-core-cpuhotplug-drain-input_pkt_queue-lockless.patch
net-move-xmit_recursion-to-per-task-variable-on-RT.patch
net-provide-a-way-to-delegate-processing-a-softirq-t.patch
net-dev-always-take-qdisc-s-busylock-in-__dev_xmit_s.patch
net-Qdisc-use-a-seqlock-instead-seqcount.patch
net-add-back-the-missing-serialization-in-ip_send_un.patch
net-add-a-lock-around-icmp_sk.patch
net-Have-__napi_schedule_irqoff-disable-interrupts-o.patch

# NETWORK DEBUGGING AID
ping-sysrq.patch

# irqwork
irqwork-push_most_work_into_softirq_context.patch
irqwork-Move-irq-safe-work-to-irq-context.patch

# Sound
snd-pcm-fix-snd_pcm_stream_lock-irqs_disabled-splats.patch

# CONSOLE. NEEDS more thought !!!
printk-rt-aware.patch
kernel-printk-Don-t-try-to-print-from-IRQ-NMI-region.patch
HACK-printk-drop-the-logbuf_lock-more-often.patch

# POWERC
power-use-generic-rwsem-on-rt.patch
powerpc-kvm-Disable-in-kernel-MPIC-emulation-for-PRE.patch
powerpc-ps3-device-init.c-adapt-to-completions-using.patch

# ARM
arm-at91-tclib-default-to-tclib-timer-for-rt.patch
arm-unwind-use_raw_lock.patch
ARM-enable-irq-in-translation-section-permission-fau.patch
genirq-update-irq_set_irqchip_state-documentation.patch
KVM-arm-arm64-downgrade-preempt_disable-d-region-to-.patch

# ARM64
arm64-xen--Make-XEN-depend-on-non-rt.patch

# KGDB
kgb-serial-hackaround.patch

# SYSFS - RT indicator
sysfs-realtime-entry.patch

# KMAP/HIGHMEM
power-disable-highmem-on-rt.patch
mips-disable-highmem-on-rt.patch
mm-rt-kmap-atomic-scheduling.patch
mm--rt--Fix-generic-kmap_atomic-for-RT.patch
x86-highmem-add-a-already-used-pte-check.patch
arm-highmem-flush-tlb-on-unmap.patch
arm-enable-highmem-for-rt.patch

# IPC
ipc-sem-rework-semaphore-wakeups.patch

# SYSRQ

# KVM require constant freq TSC (smp function call -> cpufreq)
x86-kvm-require-const-tsc-for-rt.patch
KVM-lapic-mark-LAPIC-timer-handler-as-irqsafe.patch

# SCSI/FCOE
scsi-fcoe-rt-aware.patch
sas-ata-isci-dont-t-disable-interrupts-in-qc_issue-h.patch

# X86 crypto
x86-crypto-reduce-preempt-disabled-regions.patch
crypto-Reduce-preempt-disabled-regions-more-algos.patch

# Device mapper
dm-make-rt-aware.patch

# ACPI
acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch

# CPUMASK OFFSTACK
cpumask-disable-offstack-on-rt.patch

# RANDOM
random-make-it-work-on-rt.patch
random-avoid-preempt_disable-ed-section.patch

# HOTPLUG
cpu-rt-make-hotplug-lock-a-sleeping-spinlock-on-rt.patch
cpu-rt-rework-cpu-down.patch
cpu-hotplug-Document-why-PREEMPT_RT-uses-a-spinlock.patch
kernel-cpu-fix-cpu-down-problem-if-kthread-s-cpu-is-.patch
kernel-hotplug-restore-original-cpu-mask-oncpu-down.patch
cpu_down_move_migrate_enable_back.patch
hotplug-Use-set_cpus_allowed_ptr-in-sync_unplug_thre.patch

rt-locking-Reenable-migration-accross-schedule.patch

# SCSCI QLA2xxx
scsi-qla2xxx-fix-bug-sleeping-function-called-from-invalid-context.patch

# NET
upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch
net-another-local-irq-disable-alloc-atomic-headache.patch
net-core-protect-users-of-napi_alloc_cache-against-r.patch
net-fix-iptable-xt-write-recseq-begin-rt-fallout.patch
net-make-devnet_rename_seq-a-mutex.patch

# CRYPTO
peterz-srcu-crypto-chain.patch

# LOCKDEP
lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch
lockdep-selftest-fix-warnings-due-to-missing-PREEMPT.patch

# PERF
perf-make-swevent-hrtimer-irqsafe.patch
kernel-perf-mark-perf_cpu_context-s-timer-as-irqsafe.patch

# RCU
rcu-disable-rcu-fast-no-hz-on-rt.patch
rcu-Eliminate-softirq-processing-from-rcutree.patch
rcu-make-RCU_BOOST-default-on-RT.patch
rcu-enable-rcu_normal_after_boot-by-default-for-RT.patch

# PREEMPT LAZY
preempt-lazy-support.patch
ftrace-Fix-trace-header-alignment.patch
x86-preempt-lazy.patch
arm-preempt-lazy-support.patch
powerpc-preempt-lazy-support.patch
arch-arm64-Add-lazy-preempt-support.patch

# LEDS
leds-trigger-disable-CPU-trigger-on-RT.patch

# DRIVERS
mmci-remove-bogus-irq-save.patch
cpufreq-drop-K8-s-driver-from-beeing-selected.patch
connector-cn_proc-Protect-send_msg-with-a-local-lock.patch
drivers-block-zram-Replace-bit-spinlocks-with-rtmute.patch
drivers-zram-Don-t-disable-preemption-in-zcomp_strea.patch

# I915
drm-i915-drop-trace_i915_gem_ring_dispatch-onrt.patch
i915-bogus-warning-from-i915-when-running-on-PREEMPT.patch
drmradeoni915_Use_preempt_disableenable_rt()_where_recommended.patch
drmi915_Use_local_lockunlock_irq()_in_intel_pipe_update_startend().patch

# CGROUPS
cgroups-use-simple-wait-in-css_release.patch
cgroups-scheduling-while-atomic-in-cgroup-code.patch
cpuset-Convert-callback_lock-to-raw_spinlock_t.patch

# New stuff
# Revisit: We need this in other places as well
move_sched_delayed_work_to_helper.patch

# MD
md-disable-bcache.patch

# WORKQUEUE SIGH
workqueue-prevent-deadlock-stall.patch

# Add RT to version
localversion.patch
