#
# base tree: was 2.6.26.5, modified to be: 2.6.27-rc8
#
# PG: Note: I've not listed each patch change where it was just "re-path"d
# PG: for the include shuffle of rc2, since that was a basic sed op
# PG: on the original patch -- i.e. I just fed them through:
# PG: sed 's=\(.*\)/include.*asm-\(.*\)/\(.*\)=\1/arch/\2/include/asm/\3='
# PG: A few ARM patches needed manual intervention, with "mach-" in path etc.
# PG: I've also tagged comments with (rc2), (rc3)... as the new
# PG: conflicts arose.  Original rc1 conflict comments are untagged.
#
# PG: rt6 was carried across rc1-->rc6. Now rt7,rt8... will be added.
# PG: things popping up for those will be tagged (rt7), (rt8) and so on.
#
# PG: A change audit of patches carried forward from rt7 to rt8 shows
# PG: the following changes took place within those existing patches:
# PG:	- ftrace-upstream.patch
# PG:		-incorporates what was ftrace-fix-ifdefs.patch
# PG:		-incorporates what was ftrace-ppc-dynamic-fix.patch
# PG:	- preempt-realtime-ftrace.patch
# PG:		-change raw -> __raw [trace_sched_wakeup, trace_stack]
#
# PG: A change audit of patches carried forward from rt8 to rt9 shows
# PG: the following changes took place within those existing patches:
# PG:	- preempt-realtime-core.patch
# 		-remove redundant zap_rt_locks
#
# PG: Issues that showed up during the compile of rc6-rt9 are marked
# PG: with a (c)

#
# Mainline fixes
#

# PG: in 27rc1; commit b8f8c3c
# idle-fix.patch
# PG: in 27rc1; commit e338125
# idle2-fix.patch

# .27 backports
# PG: drop; is commit 2b9a698
# m68knommu_fixes_ontop_of_v2.6.26.patch
# PG: drop; is commit 6b148507
# pmtmr-override.patch

revert-preempt-bkl-revert.patch

# RCU
rcu-trace-fix-free.patch
# PG: get_cpu(rcu_dyntick_sched) is now get_cpu(rcu_dyntick_sched).dynticks
rcu-preempt-fix-bad-dyntick-accounting.patch
# PG: 1) context mod to sched.h, 2) synchronize_rcu --> synchronize_rcu_xxx
# PG: and it is now living in include/linux/rcupdate.h as a #define.
rcu-preempt-boost-sdr.patch
rcu-preempt-boost-default.patch
rcu-preempt-boost-fix.patch

rcu-hrt-fixups.patch

# PG: basic context mods to ./kernel/rcutorture.c; note xtime issue in comment
rcu-new-7.patch
# PG: basic context mods
rcu-torture-preempt-update.patch
# PG: basic context mods to kernel/rcupreempt.c
rcupreempt-boost-early-init.patch

rt_mutex_setprio.patch

qrcu.patch

rcu-preempt-hotplug-hackaround.patch
call_rcu_bh-rename-of-call_rcu.patch

# the rcu trace markers need to be updated to the new markers.
#rcu-preempt-trace-markers-1.patch
#rcu-preempt-trace-markers-2.patch

#
# RT Balancing code
#
# Taken from sched-devel.git
#


# Last patch of the RT balancing code (not yet in sched-devel)
# PG: already in 2.6.27-rc1 ; commit 6e0534f2
# sched-use-a-2d-bitmap-search-prio-cpu.patch

# FTRACE tracing
# PG: basic context mods.
tracepoint-backport.patch
# PG: (rt8) combination of upstream 01f4b8b8 and a5a242dc
# stacktrace-upstream.patch
# PG: assume upstream @26 is now present in 27-rcX until proven otherwise,
# and then come back and layer on the remaining bits.
# ftrace-upstream.patch
# PG: also goes with upstream, presumably.
# ftrace-fix-upstream.patch
ftrace-report-failure.patch
# PG: (rt8) this is a part of the updated ftrace-upstream.patch
#ftrace-fix-ifdefs.patch
frace-use-tsc.patch
# PG (rt7) see rc1 comment on ftrace_hash_lock in preempt-realtime-ftrace.patch
# PG (rt7) - FIX come back - check/add this when ftrace-upstream is refreshed
# PG: (rt8) this is also a part of the updated ftrace-upstream.patch
# ftrace-ppc-dynamic-fix.patch

ftrace-use-preempt-disable-not-irq-disable.patch
# ftrace-handle-time-outside-of-lockdep.patch
#cycles-to-ns-trace-fix.patch

# ftrace RT extensions
# PG: basic context mods
tracer-add-event-markers.patch
# folded
# trace-eip2ip.patch

#tracer-use-sched-clock.patch
tracer-event-trace.patch

trace-histograms.patch
# folded trace_hist-latediv.patch
# folded trace_hist-divzero.patch

event-tracer-syscall-x86_64.patch
event-tracer-syscall-i386.patch
trace-events-handle-syscalls.patch
event-trace-hrtimer-trace.patch
trace-ktime-scalar.patch

# PG: (c) change tsk --> task to match upstream
preempt-trace.patch

# PG: basic context mods, may be caused by earlier drop of ftrace-backport
ftrace-hotplug-fix.patch
# PG: basic context mods, may be caused by earlier drop of ftrace-backport
ftrace-stop-trace-on-crash.patch
ftrace-document-event-tracer.patch
#ftrace-preempt-trace-check.patch
trace-do-not-wakeup-when-irqs-disabled.patch

# some ftrace fix ups
# PG: drop, in 27rc1 as 1e16c0a0
# ftrace-trace-sched.patch
# PG: drop, in 27rc1 as d12c1a37
# lockdep-avoid-fork-waring.patch
ftrace-dont-trace-markers.patch
ftrace-record-comm-on-ctrl.patch
ftrace-print-missing-cmdline.patch
ftrace-fix-header.patch
# PG: drop; in 27rc1 as 785656a41f
# ftrace-fix-get-kprobe-wreckage.patch


# ARM trace hook
trace-add-event-markers-arm.patch

# Powerpc ftrace 
powerpc-ftrace-stop-on-oops.patch
ppc-gtod-notrace-fix.patch

# PG: do_feature_fixups (for notrace) moved: arch/powerpc/lib/feature-fixups.c
ppc32_notrace_init_functions.patch

# m68knommu ftrace
ftrace-m68knommu-add-FTRACE-support.patch
ftrace-m68knommu-generic-stacktrace-function.patch

# KVM - RT fixes
sched-enable-irqs-in-preempt-in-notifier-call.patch

#
# Check what's in mainline / mm or might be
# upstream material.
#
spinlock-trylock-cleanup-sungem.patch
x86_64-tsc-sync-irqflags-fix.patch
neptune-no-at-keyboard.patch
rtmutex-debug.h-cleanup.patch
netpoll-8139too-fix.patch
kprobes-preempt-fix.patch
replace-bugon-by-warn-on.patch

# Suspend / resume fixups
i386-mark-atomic-irq-ops-raw.patch
msi-suspend-resume-workaround.patch
floppy-resume-fix.patch

#
# assorted fixlets from -mm:
#
# Check if they are really in -mm or should be submitted
#
hrtimers-overrun-api.patch
# PG: (c) commit 42b7772 removed tlb double indirection; do same to the patch.
mm-fix-latency.patch

ioapic-fix-too-fast-clocks.patch
# PG: no longer needed, see commit 2510495e
# fix-acpi-build-weirdness.patch

move-native-irq.patch
dont-unmask-io_apic.patch

#
# misc build beautification patches:
#
gcc-warnings-shut-up.patch

#
# Various fixlets
#

# PG: minor ctxt - savaged by upstream whitespace shuffling.
nfs-stats-miss-preemption.patch
random-driver-latency-fix.patch

#
# Debugging patches
#
apic-dumpstack.patch

#
# Latency tracer 
#
# PG: busted by nmi_32/nmi_64 merge; 32 used to avoid die_nmi(); this doesn't
nmi-profiling-base.patch

# PG: drop.  PPC is dead, dead, *dead*.
# latency-tracing-ppc.patch
latency-tracing-arm.patch
arm-latency-tracer-support.patch

# Needs to be rewritten to trigger on the procfs variable !
# x reset-latency-histogram.patch

# PG: basic Makefile context mod
latency-measurement-drivers.patch

#
# lockdep queue:
#
# PG: (c) change tsk --> task to match upstream
lockdep-show-held-locks.patch
# PG: (rc3) merged in as commit 64aa348e
# lockdep-lock_set_subclass.patch
lockdep-prettify.patch
# PG: (rc3) basic ctxt mod
lockdep-more-entries.patch

#
# Revert loopback bh assumption patch
#
# PG: basic context mod
loopback-revert.patch

#
# PPC gtod and highres support

#
# -rt queue:
#
#inet_hash_bits.patch
#inet-hash-bits-ipv6-fix.patch

#
# ARM preperatory patches
#
# CHECKME: Talk to rmk !
# arm-cmpxchg-support-armv6.patch
arm-futex-atomic-cmpxchg.patch
arm-preempt-config.patch

#
# m68knommu
#
m68knommu-make-cmpxchg-RT-safe.patch

#
# generic cmpxchg
#

#
# IRQ threading
#
generic-cmpxchg-use-raw-local-irq-variant.patch
# PG: PF_THREAD_BOUND uses 0x04000000, so move PF_SOFTIRQ to vacant 0x80
preempt-softirqs-core.patch
# PG: basic ctx changes. (sched.h and proc.c only)
preempt-irqs-core.patch
#preempt-irqs-softirq-in-hardirq.patch
preempt-irqs-direct-debug-keyboard.patch
preempt-irqs-timer.patch
preempt-irqs-hrtimer.patch

# PG: 32/64 merge on i8259; EOI to slave already added, outb_p?, math
# PG: IRQF_NODELAY moved to irqinit_32.c, mach-visws is gone.
preempt-irqs-i386.patch
# PG: basic ctx.
# PG: (c) additonal caller exists in 27, needs the quirk arg as well.
preempt-irqs-i386-ioapic-mask-quirk.patch

preempt-irqs-mips.patch

# PG: i8259 32/64 merge, cascade irqaction now in irqinit_64.c
preempt-irqs-x86-64.patch
preempt-irqs-x86-64-ioapic-mask-quirk.patch

preempt-irqs-arm.patch
preempt-irqs-arm-fix-oprofile.patch

preempt-irqs-ppc.patch
preempt-irqs-ppc-ack-irq-fixups.patch
preempt-irqs-ppc-fix-b5.patch
preempt-irqs-ppc-fix-b6.patch

# file not found
#preempt-irqs-ppc-celleb-beatic-eoi.patch

preempt-irqs-ppc-fix-more-fasteoi.patch
# PG: ctxt mods.
preempt-irqs-ppc-preempt-schedule-irq-entry-fix.patch

preempt-irqs-m68knommu-make-timer-interrupt-non-threaded.patch

preempt-irqs-Kconfig.patch

#
# Real real time stuff :)
#
rt-apis.patch

# PG: ctxt --> on_each_cpu() has extra arg now.
# PG: (c) missed removal of the extra arg from one of the above instances.
rt-slab-new.patch
rt-page_alloc.patch

#
# rt-mutexes
#
# PG: restart_machine() is gone; if preempt_enable_no_resched() is still
# req'd then logical place appears to be above do_exit() in stop_cpu().
rt-mutex-preempt-debugging.patch
# PG: in 27-rc1; commit 3f307891
# rt-mutex-irq-flags-checking.patch
rt-mutex-trivial-tcp-preempt-fix.patch
rt-mutex-trivial-route-cast-fix.patch

# PG: __raw_spin_foo() --> __ticket_spin_foo() in asm-x86/spinlock.h
# PG: (rc4) basic ctx mod.
rt-mutex-i386.patch
# PG: 3 hunks (entry_64.S) were adding brackets around TIF_NEED_RESCHED,
# PG: but they are now TIF_WORK_MASK; so dropped those
rt-mutex-x86-64.patch

# PG: Use typecheck() in 27rc1. vs. BUILD_CHECK_IRQ_FLAGS() [spinlock.h]
# PG: DECLARE_SEMAPHORE_GENERIC is dead (b5520689) [semaphore.h]
# PG: (rc3) commit b7d39aff broke the giant spinlock.h patch.
# PG: (rc4) ctxt mods [c72f4573]; completion_done is exported [by be4de35]
# PG: (rc5) simple ctxt mod.
rt-mutex-core.patch

rt-mutex-mips.patch

# PG: flush arch/ppc content; account for inline shuffle of 89b5810f
rt-mutex-ppc.patch
# PG: also needed refresh due to __inline__ --> inline of 89b5810f
rt-mutex-ppc-fix-a5.patch

rt-mutex-arm.patch

# PG: usb.h compat sem is now a completion due to 7119e3c3
# PG: (rc4) xfs: sema.h gone [ab4a9b04]; b_iodonesema a completion [b4dd330b9]
rt-mutex-compat-semaphores.patch

#
# Per-CPU locking assumption cleanups:
#
# PG: flush arch/ppc; minor context change in swap.c from f84f9504
percpu-locked-mm.patch

percpu-locked-netfilter.patch
percpu-locked-netfilter2.patch

# PG: minor context mod.
percpu-locked-powerpc-fixups.patch
#percpu-locked-powerpc-fixups-a6.patch

#
# Various preempt fixups
#
net-core-preempt-fix.patch

bh-uptodate-lock.patch
bh-state-lock.patch

jbd_assertions_smp_only.patch

#
# Tasklet redesign
#
tasklet-redesign.patch
tasklet-busy-loop-hack.patch

#
# Diable irq poll on -rt
#
disable-irqpoll.patch

#
# Inaccurate -rt stats (should be replaced by CFS)
#
kstat-add-rt-stats.patch

# Misc
preempt-realtime-warn-and-bug-on.patch

#
# Posix-cpu-timers in a thread
#
# PG: move posix_cpu_thread_init() to early_initcall [because of 7babe8db9]
cputimer-thread-rt_A0.patch
cputimer-thread-rt-fix.patch
posix-cpu-timers-fix.patch

#
# Various broken drivers
#
vortex-fix.patch
serial-locking-rt-cleanup.patch
# PG: net/ibm_emac/* was for ppc only; the new net/ibm_newemac/* driver
# PG: has a lock in dev->priv, so hopefully it has sane locking already.
#fix-emac-locking-2.6.16.patch

#
# Serial optimizing
#
serial-slow-machines.patch

#
# Realtime patches
#

# PG: FIX Note: ftrace doesn't yet have ftrace_hash_lock; revisit this and
# PG: upgrade to DEFINE_RAW_SPINLOCK on it after updating ftrace.c
# PG: Same for ftrace_printk (trace_buf_lock) and ftrace_dump_lock in trace.c
# PG: (rt8) updates from 7->8 for raw->__raw in trace_stack.c but
# PG: (rt8) that file isn't here w/o ftrace-upstream.patch  FIX: add back in.
preempt-realtime-ftrace.patch
preempt-realtime-ftrace-disable-ftraced.patch

# ARM:
preempt-realtime-arm.patch
preempt-realtime-arm-rawlock-in-mmu_context-h.patch
arm-trace-preempt-idle.patch
preempt-realtime-arm-bagde4.patch
preempt-realtime-arm-footbridge.patch
preempt-realtime-arm-integrator.patch
preempt-realtime-arm-ixp4xx.patch
preempt-realtime-arm-pxa.patch
preempt-realtime-arm-shark.patch
arm-fix-compile-error-trace-exit-idle.patch

# MIPS: needs splitting
# PG: make smp_send_reschedule_allbutself() use mp_ops [because of 2f304c0a]
# PG: (rc2) basic ctxt mod [due to 8d60a903]
preempt-realtime-mips.patch
#mips-gtod_clocksource.patch

# X86_64: needs splitting
# PG: drop i8259_64.c, io_apic_64.c, nmi_64.c due to 64/32 merge, pick
# PG: up changes in i386 patch below.  Patch also messed up by 46b3b4ef
# PG: and 3b16cf8 (SMP's per arch call_lock is gone).
# PG: FIX - checkme: this patch seems to orphan io_apic_sync().
# PG: (rc3) basic ctxt mod
preempt-realtime-x86_64.patch

# IA64: needs splitting
preempt-realtime-ia64.patch

# PPC: needs cleanup
# PG: remove arch/ppc content; smp no longer has call_lock [b7d7a2404],
# PG: ctxt mod to hw_irq.h [due to e0eca07b]
preempt-realtime-powerpc.patch
preempt-realtime-powerpc-update.patch
preempt-realtime-powerpc-b2.patch
preempt-realtime-powerpc-b3.patch
preempt-realtime-powerpc-b4.patch
preempt-realtime-powerpc-add-raw-relax-macros.patch
preempt-realtime-powerpc-tlb-batching.patch
preempt-realtime-powerpc-celleb-raw-spinlocks.patch
preempt-realtime-powerpc-missing-raw-spinlocks.patch

# SuperH: needs splitting
#   Also needs to be ported again!
# preempt-realtime-sh.patch

# i386
# PG: irq_vectors moved [9b7dc567], plus FIRST_SYSTEM_VECTOR is now a var
# PG: with "rewind" capability [305b92a2] so drop the 0xef -> 0xee change;
# PG: i8259_32 and nmi_32 gone via 64/32 merge; stack check now its own fcn.
# PG: (rc3) basic ctxt mod
preempt-realtime-i386.patch
remove-check-pgt-cache-calls.patch
preempt-irqs-i386-idle-poll-loop-fix.patch

#
# Core patch
#
# Note this is a convenience split up it is not supposed to compile
# step by step. Needs some care, but it is way easier to handle than
# the previous touch all in one patch
#
# PG: context mods in both sched.c and sched_rt.c
# PG: (rc3) basic ctxt mod
preempt-realtime-sched.patch
# PG: trivial context mod
#preempt-realtime-mmdrop-delayed.patch
preempt-realtime-sched-i386.patch
preempt-realtime-prevent-idle-boosting.patch
# preempt-realtime-cfs-accounting-fix.patch
schedule-tail-balance-disable-irqs.patch

preempt-realtime-sched-cpupri.patch
# PG: relocate BUG_ON() in exit.c [due to 98abed02], workqueue.c patch
# PG: fails [due to ef1ca236], sched.c time_sync_lock gone [by 76a2a6ee]
# PG: yield() -> __yield() in stop_machine.c gone [due to ffdb5976]
# PG: FIX: zap_rt_locks is patched in 2x in the original.
# PG: (rc3) basic ctxt mod
# PG: (rc4) completion_done already exported [by be4de35]
preempt-realtime-core.patch

# PG: trivial context mod
preempt-realtime-fs-block.patch
preempt-realtime-acpi.patch
# PG: IN_WAKEUP moved [by a1193f8e]
preempt-realtime-ipc.patch
preempt-realtime-sound.patch
# ftrace-compile-fixes.patch
# PG: (c) context fix due to 42b7772/mm-fix-latency.patch
preempt-realtime-mm.patch
# PG: move spawn_desched_task() to fork.c early_initcall [due to 7babe8db9]
# PG: could relocate initcall change to preempt-realtime-mmdrop-delayed.patch
preempt-realtime-init-show-enabled-debugs.patch
preempt-realtime-compile-fixes.patch
preempt-realtime-console.patch
preempt-realtime-debug-sysctl.patch
# PG: basic context mod
preempt-realtime-ide.patch
preempt-realtime-input.patch
preempt-realtime-irqs.patch
preempt-realtime-net-drivers.patch
#preempt-realtime-netconsole.patch
# PG: addition of stop/start_critical_timings() breaks original patch.
preempt-realtime-printk.patch
preempt-realtime-profiling.patch
# PG: kretprobe_lock is now kretprobe_table_locks [by ef53d9c5e]
preempt-realtime-rawlocks.patch
preempt-realtime-rcu.patch
# PG: basic context mod
preempt-realtime-timer.patch
kstat-fix-spurious-system-load-spikes-in-proc-loadavgrt.patch
preempt-realtime-usb.patch
preempt-realtime-warn-and-bug-on-fix.patch

#
# Various -rt fixups
#

#preempt-realtime-supress-cpulock-warning.patch
preempt-realtime-supress-nohz-softirq-warning.patch

# PG: netif_*lock* shuffled [by e8a0464]; txq->lock is root_lock [37437bb2]
# PG: (rc2) more lock shuffling [by c3f26a2]
# PG: (rc4) ctxt mod, sch_generic.c and yield changed up [by 4335cd2]
preempt-realtime-net.patch
preempt-realtime-net-softirq-fixups.patch

preempt-realtime-loopback.patch

#preempt-realtime-8139too-rt-irq-flags-fix.patch
# PG: basic context mod
preempt-realtime-mellanox-driver-fix.patch

#
# Utility patches (not for upstream inclusion):
#
preempt-realtime-supress-rtc-printk.patch
hrtimer-no-printk.patch
# PG: coalesce nmi_32.c and nmi_64.c --> nmi.c
nmi-profiling.patch
panic-dont-stop-box.patch
# PG: nmi_watchdog_default removal happened already [part of c376d454]
# nmi-watchdog-disable.patch

#
# soft watchdog queue:
#
#softlockup-fix.patch
softlockup-add-irq-regs-h.patch
#softlockup-better-printout.patch
#softlockup-cleanups.patch
#softlockup-use-cpu-clock.patch

#
# Not yet reviewed
#
gtod-optimize.patch

#
# Pete's file locking scalability changes:
#
# PG: (rc3) basic ctxt mod
s_files-schedule_on_each_cpu_wq.patch
## Missing patch -- SDR
##  See http://programming.kicks-ass.net/kernel-patches/schedule_on_cpu.patch
# schedule_on_cpu.patch
s_files-pipe-fix.patch

#
# Pete's file locking scalability changes:
#
lockdep_lock_set_subclass_fix.patch
lock_list.patch
percpu_list.patch
# PG: basic context mods.
s_files.patch
fix-circular-locking-deadlock.patch

#
# START of Pete's ccur-pagecache queue
#

#
# lockless pagecache
#
#2.6.21-rc6-lockless1-prep-find_lock_page.patch
#2.6.21-rc6-lockless2-radix-tree-use-indirect-bit.patch
# PG: present in 27rc1 as 47feff2c
# 2.6.21-rc6-lockless3-radix-tree-gang-slot-lookups.patch
#2.6.21-rc6-lockless4-__add_to_swap_cache-stuff.patch
# PG: present in 27rc1 as 30002ed2
# 2.6.21-rc6-lockless5-lockless-probe.patch
# PG: present in 27rc1 as e286781d
# 2.6.21-rc6-lockless6-speculative-get-page.patch
# PG: present in 27rc1 as a60637c8
# 2.6.21-rc6-lockless7-lockless-pagecache-lookups.patch
# PG: present in 27rc1 as 19fd6231
# 2.6.21-rc6-lockless8-spinlock-tree_lock.patch
#
# concurrent (write side) page cache
#
radix-tree-concurrent.patch
# PG: glock.c - not using mapping->nrpages anymore [6802e34]; context
# PG: changes in shm.c and swap_state.c; filemap.c shuffled [a969e90]
# PG: (rc4) fs/xfs/linux-2.6/xfs_vnode.h simple change to VN_CACHED().
mapping_nrpages.patch
mapping_nrpages-fix.patch
# PG: lockless6 vs e286781d differ (i.e. no cpu_relax in pagemap.h); similar
# PG: for swap_state.c, filemap.c, migrate.c, vmscan.c
# PG: (rc2) simple ctxt mod.
# PG: (c) - add PG_nonewrefs, since not a part of lockless6/e286781d
lock_page_ref.patch
# PG: same as above; need to account for diff between lockless6 and e2867.
# PG: (rc2) simple ctxt mod.
mm-concurrent-pagecache.patch
radix-tree-optimistic.patch
radix-tree-optimistic-hist.patch
radix-concurrent-lockdep.patch
#radix-tree-path-compression.patch
#
# -rt bits
#
# PG:  minor context mods.
mm-concurrent-pagecache-rt.patch

#
# END of Pete's ccur-pagecache queue
#

#
# kmap atomix fixes
#
# PG: flush asm-ppc chunks.
kmap-atomic-prepare.patch
pagefault-disable-cleanup.patch
kmap-atomic-i386-fix.patch

#
# Not yet reviewed 
#
select-error-leak-fix.patch
fix-emergency-reboot.patch
timer-freq-tweaks.patch

#
# Highmem modifications
#
highmem-revert-mainline.patch
highmem_rewrite.patch
highmem-redo-mainline.patch
rt-kmap-scale-fix.patch

#
# Debug patches:
#
# PG: minor ctxt mod, and again for tsk --> task change.
pause-on-oops-head-tail.patch
# PG: nmi_32.c --> nmi.c
i386-nmi-watchdog-show-regs.patch

#
# x86-64 vsyscall modifications
#
x86-64-tscless-vgettimeofday.patch
#vsyscall-fixadder-pa.patch

#
# Timekeeping fixups
#
# x rt-time-starvation-fix.patch
# x rt-time-starvation-fix-update.patch

#
# RT-Java testing stuff
#
# PG: (c) this old example rmem driver is busted by commit 0d71d10a
# Add-dev-rmem-device-driver-for-real-time-JVM-testing.patch
# PG: (c) ...and since this following one relies on the same /dev/rmem...
# Allocate-RTSJ-memory-for-TCK-conformance-test.patch

#
# Softirq modifications
#
new-softirq-code.patch
softirq-per-cpu-assumptions-fixes.patch
fix-migrating-softirq.patch
only-run-softirqs-from-irq-thread-when-irq-affinity-is-set.patch
fix-softirq-checks-for-non-rt-preempt-hardirq.patch

smp-processor-id-fixups.patch

#
# Weird crap unearthed by -rt which needs to be investigated
#
irda-fix.patch
nf_conntrack-weird-crash-fix.patch
nf_conntrack-fix-smp-processor-id.patch

#
# Needs proper fix
#
print-might-sleep-hack.patch

lockdep-rt-mutex.patch
lockstat-rt-hooks.patch
lockstat_bounce_rt.patch

#
# KVM:
#
#kvm-rt.patch

#
# Add RT to uname and apply the version
#
RT_utsname.patch

#
# not yet backmerged tail patches:
#
preempt-rt-no-slub.patch
paravirt-function-pointer-fix.patch
quicklist-release-before-free-page.patch
quicklist-release-before-free-page-fix.patch
disable-lpptest-on-nonlinux.patch
sched-rt-stats.patch
# PG: minor ctxt mods.
mitigate-resched-flood.patch
genirq-soft-resend.patch
# PG: minor ctxt mods.
relay-fix.patch
# PG: FIX - checkme, merging this patch essentially reverts 8de6d30
# PG: where they replace set_bit+queue_work with schedule_work_on().
schedule_on_each_cpu-enhance.patch
#schedule_on_each_cpu-enhance-rt.patch
# PG: (rc3) basic ctxt mod
lockdep-rt-recursion-limit-fix.patch
cond_resched_softirq-WARN-fix.patch
irq-mask-fix.patch

# stuff Ingo put into version.patch
export-schedule-on-each-cpu.patch

# Tony Breeds POWERPC patches
powerpc-count_active_rt_tasks-is-undefined-for-non-preempt-rt.patch
powerpc-match-__rw_yield-function-declaration-to-prototype.patch
#powerpc-flags-as-passed-to-spin-x-irqsave-should-be-unsigned-long.patch
powerpc-flush_tlb_pending-is-no-more.patch

# fix-alternate_node_alloc.patch
fix-compilation-for-non-RT-in-timer.patch

hack-convert-i_alloc_sem-for-direct_io-craziness.patch
dont-let-rt-rw_semaphores-do-non_owner-locks.patch
rt-s_files-kill-a-union.patch

loadavg_fixes_weird_loads.patch

# HPET patches
# PG: nmi32/64 merge; nmi.c is already doing this in get_timer_irqs().
# watchdog_use_timer_and_hpet_on_x86_64.patch



# x stop-critical-timing-in-idle.patch

# rt-wakeup-fix.patch
# PG: arch/x86/kernel/setup64.c --> kernel/cpu/common_64.c (for DEBUG_STACK)
# PG: (rc6) minor context change around DEBUG_STACK
disable-ist-x86_64.patch


plist-debug.patch
seq-irqsave.patch
numa-slab-freeing.patch

# Peter's patches
#
# workqueue PI
#
# PG: (rc3) merged upstream via commit 7d283aee
# PG: (c) well, partly merged...  Retain the one-line lib/lock_list.c change,
# PG: (c) and the splice2 operations.
rt-list-mods.patch
rt-plist-mods.patch
# PG: basic context mods.
rt-workqeue-prio.patch
# PG: patch gets hosed by tail --> list_head swap [by 1a4d9b0a]
rt-workqueue-barrier.patch
# PG: refresh of above cascades into a refresh of this one...
rt-wq-barrier-fix.patch
rt-delayed-prio.patch

sched_prio.patch
# x critical-timing-kconfig.patch

lock-init-plist-fix.patch
ntfs-local-irq-save-nort.patch
# PG: basic context mods
dont-disable-preemption-without-IST.patch
#rt-powerpc-workarounds.patch

filemap-dont-bug-non-atomic.patch
fix-bug-on-in-filemap.patch
rt-sched-groups.patch
# PG: nmi32/64 merge; only one file to patch now.
send-nmi-all-preempt-disable.patch
printk-dont-bug-on-sched.patch
user-no-irq-disable.patch
# PG: basic context mod.
drain-all-local-pages-via-sched.patch
local_irq_save_nort-in-swap.patch
# x latency-tracer-arch-low-address.patch
proportions-raw-locks.patch

arm-compile-fix.patch
# PG: commit 0f476b6d breaks this patch, plus the comments in that commit
# PG: indicate this can't happen.  FIX - verify comments are valid for RT.
#no-warning-for-irqs-disabled-in-local-bh-enable.patch
#page-alloc-use-real-time-pcp-locking-for-page-draining.patch
#power-fixes-for-kernbench.patch

handle-pending-in-simple-irq.patch

# AT91 patches
use-edge-triggered-irq-handler-instead-of-simple-irq.patch

# x latency-tracer-dont-panic-on-failed-bootmem-alloc.patch
# PG: Ouch. dev->xmit_lock now in netdev_queue [by c773e84] so most of the
# PG: patch didn't apply as is.
# PG: (rc2) same lock shuffling from above gets us again [by c3f26a2]
# PG: (c) bnx2.c, niu.c and netpoll.c need __netif_tx_lock() args updated.
dev-queue-xmit-preempt-fix.patch
ppc-hacks-to-allow-rt-to-run-kernbench.patch
# x time-accumulate-offset-fix.patch
ppc-make-tlb-batch-64-only.patch
ppc-chpr-set-rtc-lock.patch

disable-run-softirq-from-hardirq-completely.patch

hack-fix-rt-migration.patch
mips-remove-conlicting-rtc-lock-declaration.patch
mips-remove-finish-arch-switch.patch
# PG: (rc2) gdb-stub is now gone [by 8d60a903]
# mips-change-raw-spinlock-type.patch
ppc32-latency-compile-hack-fixes.patch
mips-remove-duplicate-kconfig.patch
apic-level-smp-affinity.patch
timer-warning-fix.patch
printk-in-atomic.patch

root-domain-kfree-in-atomic.patch
printk-in-atomic-hack-fix.patch
slab-irq-nopreempt-fix.patch
ppc-tlbflush-preempt.patch
# PG: (rc2) basic ctxt mod.
swap-spinlock-fix.patch
aacraid-compat-sem.patch

# percpu fixes to handle debug_smp_processor_id errors.
radix-percpu-hack-fix.patch
genhd-protect-percpu-var.patch

sched-clock-nmi.patch

# See who complains
#sched_rt-fixup.patch

# Temp patch to disable RT sched groups
#disable-sched-rt-groups.patch

# PG: cached capability was added just for msi.c but msi is fixed [by 5ca5c02]
# cache_pci_find_capability.patch
# PG: for nmi_64, but merged nmi64/32 already does the set before send.
# nmi-watchdog-fix-1.patch
# PG: was 64 and 32 for nmi; applied to the now merged version of nmi.c
nmi-watchdog-fix-2.patch
# PG: was 64 and 32 for nmi; applied to the now merged version of nmi.c
nmi-watchdog-fix-3.patch
# PG: was 64 and 32 for nmi; applied to the now merged version of nmi.c
nmi-watchdog-fix-4.patch
rt-avoid-deadlock-in-swap.patch
rt-move-update-wall-time-back-to-do-timer.patch
rt-shorten-softirq-thread-names.patch

# This patch breaks rt-migrate-test
#sched-rt-push-only-new.patch

#time-gcc-linker-error.patch

rtmutex-lateral-steal.patch
rtmutex-rearrange.patch
rtmutex-remove-xchg.patch
adaptive-spinlock-lite-v2.patch

# RW locks with multiple readers
rwsems-multiple-readers.patch
# Folded into rwsems-multiple-readers.patch
#rwlocks-lateral-steal.patch
rwlocks-multiple-readers.patch
multi-reader-account.patch
multi-reader-limit.patch
multi-reader-lock-account.patch
multi-reader-pi.patch
rwlocks-default-nr-readers-nr-cpus.patch
rtmutex-rwlock-cmpxchg-typecast.patch
rwlock-implement-downgrade-write.patch

sched-nr-migrate-lower-default-preempt-rt.patch

# Peter's fair load_balance break out patches
sched-wake_up_idle_cpu-rt.patch
# Needs some work still
# sched_load_balance_flags.patch
# sched_load_balance_lockbreak.patch
# sched-load_balance-iterator.patch
# sched-load_balance-stop.patch
# sched-load_balance-is_runnable.patch

# Peter's lockstat updates
# PG: (rc5) present upstream as 04148b73b
# lockstat-fix-contention-points.patch
lockstat-output.patch

# Luis's gtod updates
fix_vdso_gtod_vsyscall64_2.patch

rwlocks-fix-no-preempt-rt.patch
#git-ignore-script-lpp.patch

# Adaptive Locks
adaptive-optimize-rt-lock-wakeup.patch
adaptive-task-oncpu.patch
adaptive-adjust-pi-wakeup.patch
adapt-remove-extra-try-to-lock.patch
adaptive-earlybreak-on-steal.patch

realtime-preempt-warn-about-tracing.patch
# PG: was 64 and 32 for nmi; applied to the now merged version of nmi.c
# PG: (c) use read_pda() for X86_64, as per original nmi_64 patch did.
nmi-show-regs-fix.patch

# Gregory's Sched updates
# PG: upstream in 27-rc1 as commit 45c01e8
# sched-prioritize-non-migrating-rt-tasks.patch

# PG: see above rt-mutex-core.patch and non-use of BUILD_CHECK_IRQ_FLAGS
# arm-omap-02.patch
arm-omap-05.patch

rwlock-prio-fix.patch
rwlock-fixes.patch

rwlock-torture.patch
radix-tree-lockdep-plus1.patch

# PG: is upstream in 27-rc1 as commit 1f11eb6
# sched-cpupri-hotplug-support.patch
# PG: is upstream in 27-rc1 as commit 709d4b0
# sched-cpupri-priocount.patch

# still needs Signed-off-by:
#sched-global-rt-runtime.patch

rwlock-pi-lock-reader.patch

fix-adaptive-hack.patch

rwlock-slowunlock-mutex-fix.patch
rwlock-slowunlock-mutex-fix2.patch
rt-mutex-use-inline.patch
rt-mutex-namespace.patch
rtmutex-debug-fix.patch
fix-config-debug-rt-mutex-lock-underflow-warnings.patch

rwlock-protect-reader_lock_count.patch
rt-rwlock-conservative-locking.patch

rwlock-torture-no-rt.patch

# PG: Commit 137d3ed rewrote underlying code base, but sg_copy_buffer
# PG: calls sg_miter_stop which *may* do a WARN_ON(!irqs_disabled())
# PG: if SG_MITER_ATOMIC is set. 
# warn-on-rt-scatterlist.patch
sub-dont-disable-irqs.patch

# CHECKME
#cpu-hotplug-vs-slab.patch
#cpu-hotplug-vs-page-alloc.patch
#cpu-hotplug-cpu-up-vs-preempt-rt.patch
#rcu-backport-rcu-cpu-hotplug-support.patch
#cpu-hotplug-cpu-down-vs-preempt-rt.patch
#re-cpu-hotplug-cpu-down-vs-preempt-rt.patch
#hotplug-smp-boot-fix.patch
#cpu-hotplug-fix-fix-fix.patch


# CHECKME
#fix_SCHED_FIFO_spec_violation.patch

# PG: one of the (duplicated) defn's in tlb_64, went away [by c884116]
ppc64-fix-preempt-unsafe-paths-accessing-per_cpu-variables.patch
fix-a-previously-reverted-fix.patch

#CHECKME powerpc-xics-move-the-call-to-irq-radix-revmap-from-xics-startup-to-xics-host-map.patch
#CHECKME powerpc-make-the-irq-reverse-mapping-radix-tree-lockless.patch

bz235099-idle-load-fix.patch
# PG: collapse into one file, due to usual nmi_64+nmi_32 merge into nmi.c
raw-spinlocks-for-nmi-print.patch

sched-fix-dequeued-race.patch


# 2.6.26-rt2
lockdep-atomic-fixup.patch
# PG: (rc3) upstream as commit 52fd8ca6
# infiniband-flags-fix.patch
# PG: upstream in 27-rc1 as d249afd
# usb-isp1760-irq-flags-fix.patch
sched-rt-runtime-lock-raw.patch
powerpc-01-separate-the-irq-radix-tree-insertion.patch
powerpc-02-make-the-irq-reverse-mapping-radix-tree-lockless.patch
# PG: upstream in 27-rc1 as 4446a36
# call_rcu_sched.patch
rcu-preempt-tracing-preempt-disable-fix.patch
rcu-apply-rcu_process_callbacks-from-mainline.patch
# PG: upstream in 27-rc1 as ae66be9
# rcu-fix-to-include.patch
shorten-posix-cpu-timers-name.patch
# PG: basic context mods
sched-properly-account-irq-and-rt-load.patch
seqlock-01-make-sure-that-raw_seqlock-retries.patch
seqlock-02-fix-elevated-preempt-count.patch

# 2.6.26-rt3

## This cpu hotplug stuff still has issues
# cpu-hotplug-vs-slab.patch
# cpu-hotplug-vs-page-alloc.patch
# cpu-hotplug-page-alloc-hack-fix.patch
# cpu-hotplug-cpu-up-vs-preempt-rt.patch
# cpu-hotplug-cpu-down-vs-preempt-rt.patch

fix-net-bug-fixes.patch
namespace-lock-fixes.patch

hrtimers-stuck-in-waitqueue.patch

# 2.6.26-rt4
# PG: basic context mods
sched-generic-hide-smp-warning.patch
# PG: already upstream for 27 based on comments in patch header itself.
# x86-crashkernel-reservation-before-bootmem.patch

# 2.6.26-rt5
seqlock-serialize-against-writers.patch

# 2.6.26-rt6
# PG: (rc6) now upstream as 9d359357
# pm_qos_requirement-might-sleep.patch
sched-only-push-if-pushable.patch
# PG: adapted commit in 27-rc1 appears to be c4acb2c0
# sched-pull-one-task-during-newidle.patch
sched-make-double-lock-balance-fair.patch
sched-add-needs_post_schedule.patch
plist-fix-static-node-init.patch
# PG: basic context mods
sched-only-push-once-per-queue.patch
# PG: basic context mods
# PG: (rc6) again basic context mods
ftrace-ppc-define-mcount.patch

# 2.6.26-rt7
ppc-fix-prev-revert-fix-again.patch

# 2.6.26-rt8
x86-tlbstate-lock-raw.patch
seqlocks-handle-rwlock-and-spin.patch
futex-fifo-warn-sysctl.patch

# 2.6.26-rt9
futex-trivial-fix.patch
rtmutex-debug-magic.patch

# PG: (c) 2.6.27-rc6 - all things added out of necessity to adopt upstream
# PG: select header bits from ftrace-upstream; delete after merging
ftrace-upstream-temp.patch
# PG: commit db70089 adds flush_work() which knows nothing about PI
# PG: workqueues. Merge into rt-workqeue-prio.patch after review.
rt-wq-flush_work.patch
# PG: preempt-realtime-debug-sysctl.patch breaks compile if !CONFIG_PROFILE
prof-sysctl-compile.patch
# PG: __mutex_init() is not what drivers/base/class.c thinks it is.
drivers_base_mutex.patch
# PG: (c) compile failure shows up when !PREEMPT_RT
compat_rwsem-fix-compile.patch
# PG: (c) compile failure shows up when !PREEMPT_RT
bit-spinlocks-fix-compile.patch
nmi-prof-compile.patch

# PG: fix intermittent boot problem w/ timer IRQ being incorrectly threaded
start_irq_thread.patch

# PG: extraversion, append -26rt9 since that was the baseline.
#version.patch

# Commented by Alessio
#git-ignore-script-lpp.patch
#version.patch
#preempt-realtime-mmdrop-delayed.patch

# Added by Alessio
linux-2.6-dynticks-off-by-default.patch
gfs-nrpages.patch
ubifs-nrpages.patch
fix-undeclared-variable-in-hrtimer.patch
fix-msleep-in-tlsup.patch
ext4-nrpages.patch
jbd2-nrpages.patch
