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

############################################################
# UPSTREAM changes queued
############################################################
ARM-imx-always-use-TWD-on-IMX6Q.patch
tracing-Show-the-preempt-count-of-when-the-event-was.patch

# timer: "Refactor the timer wheel v4' + 2 prerequisites
drm-i915-Use-consistent-forcewake-auto-release-timeo.patch
timer-add-setup_deferrable_timer-macro.patch

timer-Make-pinned-a-timer-property.patch
x86-apic-uv-Initialize-timer-as-pinned.patch
x86-mce-Initialize-timer-as-pinned.patch
driver-net-ethernet-tile-Initialize-timer-as-pinned.patch
drivers-tty-metag_da-Initialize-timer-as-pinned.patch
drivers-tty-mips_ejtag-Initialize-timer-as-pinned.patch
net-ipv4-inet-Initialize-timers-as-pinned.patch
timer-Remove-mod_timer_pinned.patch
signal-Use-hrtimer-for-sigtimedwait.patch
hlist-Add-hlist_is_singular_node-helper.patch
timer-Give-a-few-structs-and-members-proper-names.patch
timer-Reduce-the-CPU-index-space-to-256k.patch
timer-Switch-to-a-non-cascading-wheel.patch
timer-Remove-slack-leftovers.patch
timer-Move-__run_timers-function.patch
timer-Optimize-collect-timers-for-NOHZ.patch
tick-sched-Remove-pointless-empty-function.patch
timer-Forward-wheel-clock-whenever-possible.patch
timer-Only-wake-softirq-if-necessary.patch
timer-Split-out-index-calculation.patch
timer-Optimization-for-same-expiry-time-in-mod_timer.patch

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

############################################################
# Stuff broken upstream, patches submitted
############################################################
sched-use-tsk_cpus_allowed-instead-of-accessing-cpus.patch
sched-provide-a-tsk_nr_cpus_allowed-helper.patch
sc16is7xx_Drop_bogus_use_of_IRQF_ONESHOT.patch
crypto-ccp-remove-rwlocks_types.h.patch
infiniband-ulp-ipoib-remove-pkey_mutex.patch
sched-preempt-Fix-preempt_count-manipulations.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

# Wants a different fix for upstream

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

# 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

# HW LATENCY DETECTOR - this really wants a rewrite
hwlatdetect.patch
hwlat-detector-Update-hwlat_detector-to-add-outer-lo.patch
hwlat-detector-Use-trace_clock_local-if-available.patch
hwlat-detector-Use-thread-instead-of-stop-machine.patch
hwlat-detector-Don-t-ignore-threshold-module-paramet.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
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
genirq-do-not-invoke-the-affinity-callback-via-a-wor.patch

# DRIVERS NET
drivers-net-fix-livelock-issues.patch
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-Use-get-put_cpu_light-in-zs_map_object-z.patch

# RADIX TREE
radix-tree-rt-aware.patch

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

# IPC
ipc-msg-Implement-lockless-pipelined-wakeups.patch

# RELAY
relay-fix-timer-madness.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
hrtimer-Move-schedule_work-call-to-helper-thread.patch
tick-broadcast--Make-hrtimer-irqsafe.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
sched-rt-mutex-wakeup.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
rtmutex-trylock-is-okay-on-RT.patch
kernel-rtmutex-only-warn-once-on-a-try-lock-from-bad.patch

# RAID5
md-raid5-percpu-handling-rt-aware.patch
#
i915_compile_fix.patch

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

# RTMUTEX
pid.h-include-atomic.h.patch
locking-locktorture-Do-NOT-include-rwlock.h-directly.patch
rtmutex-lock-killable.patch
spinlock-types-separate-raw.patch
rtmutex-avoid-include-hell.patch
rtmutex_dont_include_rcu.patch
rt-add-rt-locks.patch
rtmutex-Use-chainwalking-control-enum.patch
rtmutex-add-a-first-shot-of-ww_mutex.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
rcutorture-comment-out-rcu_bh-ops-on-PREEMPT_RT_FULL.patch
rcu-disable-more-spots-of-rcu_bh.patch

# LGLOCKS - lovely
lglocks-rt.patch
lockinglglocks_Use_preempt_enabledisable_nort()_in_lg_double_locklg_double_unlock.patch

# STOP machine (depend on lglock & rtmutex)
stomp-machine-create-lg_global_trylock_relax-primiti.patch
stomp-machine-use-lg_global_trylock_relax-to-dead-wi.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

# FS
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
dump-stack-don-t-disable-preemption-during-trace.patch

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

# block
blk-mq-revert-raw-locks-post-pone-notifier-to-POST_D.patchto-POST_D.patch
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

# 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

# NETWORKING
sunrpc-make-svc_xprt_do_enqueue-use-get_cpu_light.patch
net__Make_synchronize-rcu_expedited_conditional-on-non-rt.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

# NETWORK livelock fix
net-tx-action-avoid-livelock-on-rt.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

# SEQLOCKS
seqlock-prevent-rt-starvation.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

rtmutex-push-down-migrate_disable-into-rt_spin_lock.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

# PREEMPT LAZY
preempt-lazy-support.patch
preempt-lazy-check-preempt_schedule.patch
sched-lazy_preempt-avoid-a-warning-in-the-RT-case.patch
x86-preempt-lazy.patch
arm-preempt-lazy-support.patch
arm-lazy-preempt-correct-resched-condition.patch
powerpc-preempt-lazy-support.patch
arch-arm64-Add-lazy-preempt-support.patch
arm-arm64-lazy-preempt-add-TIF_NEED_RESCHED_LAZY-to-.patch

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

# DRIVERS
i2c-omap-drop-the-lock-hard-irq-context.patch
mmci-remove-bogus-irq-save.patch
cpufreq-drop-K8-s-driver-from-beeing-selected.patch
drivers-block-zram-Replace-bit-spinlocks-with-rtmute.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

# 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
