We are pleased to announce something we've been working on for some time: a finegrained, split-up patch queue of the -rt kernel patch. From now on (as of 2.6.22.1-rt2) it will be part of every upstream -rt release and it is available from the -rt download site: http://redhat.com/~mingo/realtime-preempt/ the -rt patch-queue consists of 374 patches at the moment, which do: 698 files changed, 27920 insertions(+), 9603 deletions(-) which is impressive as we moved a huge chunk of -rt into mainline already ;-) The series file is attached below. the splitup work has been done by Thomas and me, and we completed it during the recent merge of -rt to 2.6.22. (what we had before was pretty monolithic, messy and hard to merge, not really suitable for general consumption.) the purpose of this finegrained splitup is to foster (even ;-) quicker upstream integration of various -rt features, and to see the full -rt tree integrated upstream. We also hope that this split-up queue helps various vendors standardize their (currently quite splintered) real-time implementations to the upstream -rt patchset. the queue is not (yet) bisectable at every point, and many of the splits are thematic, to allow the simpler future handling of updates. more info about the -rt patchset in general can be found in the RT wiki: http://rt.wiki.kernel.org Ingo, Thomas -----------------> # # base tree: 2.6.22.1 # # # Linus latest # # # CFS queue: # sched-cfs-v2.6.22.1-v19.patch sched-cfs-latest.patch # # Futex-fixes in -mm # futex-tidy-up-the-code-v2.patch # # hrt: 2.6.22-hrt4 queue # # Basic cpuidle patches cpuidle_take2_core_cpuidle_infrastructure.patch cpuidle_take2_hookup_acpi_c-states_driver_with_cpuidle.patch cpuidle_take2_basic_documentation_for_cpuidle.patch cpuidle_build_fix_for_not_CPU_IDLE.patch cpuidle_fix_build_break.patch cpuidle_make_code_static.patch cpuidle_ladder_does_not_depend_on_ACPI.patch cpuidle_fix_boot_hang.patch cpuidle_1_bit_field_must_be_unsigned.patch cpuidle_fix_sysfs_related_issue.patch cpuidle_add_cpuidle_force_redetect_devices_api.patch cpuidle_add_support_for_max_cstate_limit.patch cpuidle_hang_fix.patch #cpuidle_basic_into_test_branch.patch #cpuidle menu governor patches cpuidle_governor_api_change.patch cpuidle_export_time_until_next_timer_interrupt_using_no_hz.patch cpuidle_add_menu_governor.patch #cpuidle_menu_into_test_branch.patch cpuidle_build_fix_cpuidle_vs_ipw2100_module.patch #cpuidle most recent changes menu_hrt_compile_fix_001.patch keep_proc_acpi_power_around_001.patch cpuidle_warning_fix_002.patch cpuidle_last_measured_004.patch cpuidle_developer_switch_04.patch cpuidle_governor_ratings_04.patch cpuidle_documentation_update_04.patch cpuidle-fix-modular-build.patch # # Generic hrtimer/time/clockevent/source patches # i386-hpet-check-if-the-counter-works.patch clockevents-remove-unused-code.patch nohz-fix-nohz-x86-dyntick-idle-handling.patch acpi-move-timer-broadcast-and-pmtimer-access-before-c3-arbiter-shutdown.patch clockevents-fix-typo-in-acpi_pmc.patch timekeeping-fixup-shadow-variable-argument.patch timerc-cleanup-recently-introduced-whitespace-damage.patch clockevents-remove-prototypes-of-removed-functions.patch clockevents-fix-resume-logic.patch clockevents-fix-device-replacement.patch tick-management-spread-timer-interrupt.patch highres-improve-debug-output.patch highres-improve-debug-output-fix.patch hrtimer-speedup-hrtimer_enqueue.patch pcspkr-use-the-global-pit-lock.patch ntp-move-the-cmos-update-code-into-ntpc.patch ntp-move-the-cmos-update-code-into-ntpc-fix.patch ntp-move-the-cmos-update-code-into-ntpc-fix-fix.patch i386-pit-stop-only-when-in-periodic-or-oneshot-mode.patch i386-remove-volatile-in-apicc.patch i386-hpet-assumes-boot-cpu-is-0.patch i386-move-pit-function-declarations-and-constants-to-correct-header-file.patch # # x86-64 # x86_64-untangle-asm-hpeth-from-asm-timexh.patch x86_64-use-generic-cmos-update.patch x86_64-remove-dead-code-and-other-janitor-work-in-tscc.patch x86_64-fix-apic-typo.patch x86_64-fix-irq-regs-leftovers.patch x86_64-share-hpet-h.patch x86_64-i8259-remove-useless-forward-declaration.patch i386-prepare-sharing-hpet-code.patch i386-prepare-sharing-pit-code.patch x86_64-apic-whitespace-comment-and-remove-unused-code.patch x86_64-timec-fix-whitespace-wreckage.patch x86_64-consolidate-tsc-calibration.patch x86_64-preparatory-apic-set-lvtt.patch x86_64-convert-to-cleckevents.patch x86_64-remove-now-useless-hpet-code.patch acpi-remove-the-useless-ifdef-code.patch i386-pit-remove-the-useless-ifdefs.patch x86_64-prep-idle-loop-for-dynticks.patch x86_64-enable-high-resolution-timers-and-dynticks.patch # # Venki's HPET series # ich-force-hpet-make-generic-time-capable-of-switching-broadcast-timer.patch ich-force-hpet-restructure-hpet-generic-clock-code.patch ich-force-hpet-ich7-or-later-quirk-to-force-detect-enable.patch ich-force-hpet-ich7-or-later-quirk-to-force-detect-enable-fix.patch ich-force-hpet-late-initialization-of-hpet-after-quirk.patch ich-force-hpet-ich5-quirk-to-force-detect-enable.patch ich-force-hpet-ich5-quirk-to-force-detect-enable-fix.patch ich-force-hpet-ich5-fix-a-bug-with-suspend-resume.patch ich-force-hpet-add-ich7_0-pciid-to-quirk-list.patch hpet-force-enable-on-ich34.patch hpet-force-enable-on-vt8235-37-chipsets.patch # # end of the -hrt queue # # # ARM clock events & co # ep93xx-timer-accuracy.patch ep93xx-clockevents.patch ep93xx-clockevents-fix.patch arm-imx.patch # CHECKME arm-leds-timer.patch # Upstream submitted changes cdrom-use-mdelay-instead-of-jiffies-loop.patch spinlock-init-cleanup.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 slob-scale-no-bigblock-list.patch slob-scale-break-out-caches.patch mm-fix-latency.patch ioapic-fix-too-fast-clocks.patch fix-acpi-build-weirdness.patch write-try-lock-irqsave.patch use-write_trylock_irqsave-in-ptrace_attach.patch move-native-irq.patch dont-unmask-io_apic.patch # # misc build beautification patches: # x86-64-smpboot-whitespace.patch gcc-warnings-shut-up.patch # # Various fixlets # # # Debugging patches # apic-dumpstack.patch netfilter-more-debugging.patch # # Latency tracer # nmi-profiling-base.patch add-notrace.patch redo-regparm-option.patch latency-tracing.patch latency-tracing-remove-trace-array.patch latency-tracer-disable-across-trace-cmdline.patch ns2cyc-result-fix.patch latency-tracing-i386-paravirt-fastcall.patch latency-tracing-i386.patch latency-tracing-x86_64.patch latency-tracing-ppc.patch ppc-remove-last-cpukhz.patch ppc-rename-xmon-mcount.patch ppc-add-mcount.patch ppc-mcount-dummy-functions.patch ppc-mark-notrace-mainline.patch ppc-add-ppc32-mcount.patch latency-tracer-printk-fix.patch latency-tracing-arm.patch latency-tracing-exclude-printk.patch latency-tracing-prctl-api-hack.patch latency-tracing-raw-spinlock-hack.patch latency-tracer-one-off-fix.patch smaller-trace.patch trace-name-plus.patch trace-with-caller-addr.patch trace-sti-mwait.patch latency-tracer-optimize-a-bit.patch idle-stop-critical-timing.patch arm-latency-tracer-support.patch latency-tracer-variable-threshold.patch # Needs to be rewritten to trigger on the procfs variable ! reset-latency-histogram.patch # # x86-64 unwinder # # not applied - it's a large chunk of code and Linus is very sceptical about it # #redo-unwinder.patch #unwinder-fix.patch # # lockdep queue: # lockdep-show-held-locks.patch lockdep-lock_set_subclass.patch lockdep-prettify.patch lockdep-more-entries.patch # # Revert loopback bh assumption patch # loopback-revert.patch # # hrtimer # hrtimer-trace.patch hrtimer-no-getnstimeofday.patch time-warp-detect.patch # # PPC gtod and highres support # ppc-gtod-support.patch ppc-gtod-support-fix.patch ppc-a-2.patch ppc-fix-clocksource-timebase-shift.patch ppc-remove-broken-vsyscall.patch ppc-read-persistent-clock.patch ppc-gtod-notrace-fix.patch ppc-clockevents.patch ppc-clockevents-fix.patch ppc-highres-dyntick.patch # # -rt queue: # inet_hash_bits.patch # tracing inet-hash-bits-ipv6-fix.patch undo-latency-tracing-raw-spinlock-hack.patch random-driver-latency-fix.patch latency-measurement-drivers.patch latency-measurement-drivers-fix.patch # # RCU preempt patches from Paul: # rcu-1.patch rcu-2.patch rcu-3.patch rcu-4.patch rcu-preempt-fix-nmi-watchdog.patch rcu-preempt-fix-rcu-torture.patch rcu-hrt-fixups.patch dynticks-rcu-rt-fixlet.patch rcu-tasklet-softirq.patch rcu-classic-fixup.patch # # ARM preperatory patches # arm-cmpxchg.patch arm-fix-atomic-cmpxchg.patch arm-cmpxchg-support-armv6.patch arm-preempt-config.patch # # IRQ threading # preempt-irqs-core.patch preempt-irqs-timer.patch preempt-irqs-hrtimer.patch preempt-irqs-i386.patch preempt-irqs-mips.patch preempt-irqs-x86-64.patch preempt-irqs-x86-64-ioapic-mask-quirk.patch preempt-irqs-i386-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 preempt-irqs-ppc-celleb-beatic-eoi.patch preempt-irqs-ppc-fix-more-fasteoi.patch preempt-irqs-ppc-preempt-schedule-irq-entry-fix.patch preempt-irqs-Kconfig.patch # # Real real time stuff :) # rt-apis.patch rt-slab-new.patch rt-page_alloc.patch # # rt-mutexes # rt-mutex-core.patch rt-mutex-trylock-export.patch rt-mutex-spinlock-might-sleep.patch rt-mutex-spinlock-nested-export-fix.patch rt-mutex-i386.patch rt-mutex-mips.patch rt-mutex-ppc.patch rt-mtex-ppc-fix-a5.patch rt-mutex-x86-64.patch rt-mutex-arm.patch rt-mutex-arm-fix.patch rt-mutex-compat-semaphores.patch # # Per-CPU locking assumption cleanups: # percpu-locked-mm.patch percpu-locked-netfilter.patch percpu-locked-netfilter2.patch 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 # tasklet-fix-preemption-race.patch tasklet-more-fixes.patch disable-irqpoll.patch # # Inaccurate -rt stats (should be replaced by CFS) # kstat-add-rt-stats.patch # # Posix-cpu-timers in a thread # cputimer-thread-rt_A0.patch cputimer-thread-rt-fix.patch posix-cpu-timers-fix.patch # # Various broken drivers # preempt-rt-cs5530-lock-ide-fix.patch vortex-fix.patch serial-locking-rt-cleanup.patch fix-emac-locking-2.6.16.patch # # Serial optimizing # serial-slow-machines.patch # # Realtime patches # # ARM: preempt-realtime-arm.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 # MIPS: needs splitting preempt-realtime-mips.patch mips-gtod_clocksource.patch # X86-64: needs splitting preempt-realtime-x86_64.patch # IA64: needs splitting preempt-realtime-ia64.patch # PowerPC preempt-realtime-ppc-need-resched-delayed.patch preempt-realtime-ppc-more-resched-fixups.patch preempt-realtime-powerpc.patch preempt-realtime-powerpc-update.patch preempt-realtime-powerpc-a7.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 # # SuperH: needs splitting # preempt-realtime-powerpc-missing-raw-spinlocks.patch preempt-realtime-sh.patch # # i386 # preempt-realtime-i386.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 # preempt-realtime-sched.patch preempt-realtime-prevent-idle-boosting.patch preempt-realtime-cfs-accounting-fix.patch preempt-realtime-core.patch preempt-realtime-fs-block.patch preempt-realtime-acpi.patch preempt-realtime-ipc.patch preempt-realtime-sound.patch preempt-realtime-mm.patch preempt-realtime-init-show-enabled-debugs.patch preempt-realtime-compile-fixes.patch preempt-realtime-console.patch preempt-realtime-debug-sysctl.patch preempt-realtime-ide.patch preempt-realtime-input.patch preempt-realtime-irqs.patch preempt-realtime-net-drivers.patch preempt-realtime-netconsole.patch preempt-realtime-printk.patch preempt-realtime-profiling.patch preempt-realtime-rawlocks.patch preempt-realtime-rcu.patch preempt-realtime-timer.patch preempt-realtime-usb.patch preempt-realtime-warn-and-bug-on.patch preempt-realtime-warn-and-bug-on-fix.patch # # Various -rt fixups # preempt-realtime-gtod-fixups.patch preempt-realtime-supress-cpulock-warning.patch preempt-realtime-supress-nohz-softirq-warning.patch preempt-realtime-net.patch preempt-realtime-net-softirq-fixups.patch preempt-realtime-loopback.patch preempt-realtime-drivers-pci-hotplug.patch preempt-realtime-8139too-rt-irq-flags-fix.patch # # Utility patches (not for upstream inclusion): # preempt-realtime-supress-rtc-printk.patch softlockup-print-regs.patch hrtimer-no-printk.patch nmi-profiling.patch panic-dont-stop-box.patch nmi-watchdog-disable.patch # # Not yet reviewed # gtod-optimize.patch realtime-lsm.patch # # Futex updates # rcu-various-fixups.patch futex-performance-hack.patch futex-performance-hack-sysctl-fix.patch # # Pete's file locking scalability changes: # lock_list.patch barrier.patch s_files.patch s_files-proc-generic-fix.patch s_files-barrier.patch s_files-per_cpu-rt.patch s_files-schedule_on_each_cpu_wq.patch s_files-per_cpu-flush-fix.patch s_files-pipe-fix.patch # # Pete's lockless pagecache port: # radix-tree-use-indirect-bit.patch radix-tree-gang_lookup_slot.patch mm-speculative-get-page.patch mm-lockless-pagecache-lookups.patch mm-lockless-preempt-fixup.patch mm-lockless-preempt-rt-fixup.patch # # kmap atomix fixes # kmap-atomic-prepare.patch pagefault-disable-cleanup.patch kmap-atomic-i386-fix.patch # # Not yet reviewed # select-error-leak-fix.patch module-pde-race-fixes.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: # pause-on-oops-head-tail.patch i386-nmi-watchdog-show-regs.patch x86-64-traps-move-held-locks-output.patch # # x86-64 vsyscall modifications # x86-64-tscless-vgettimeofday.patch rt-time-starvation-fix.patch # # RT-Java testing stuff # Add-dev-rmem-device-driver-for-real-time-JVM-testing.patch Allocate-RTSJ-memory-for-TCK-conformance-test.patch # # Softirq modifications # new-softirq-code.patch new-softirq-code-fixlets.patch softirq-per-cpu-assumptions-fixes.patch smp-processor-id-fixups.patch fix-migrating-softirq.patch vsyscall-add-notrace.patch disable-gtod-functions-if-gtod-is-not-there.patch fix-softirq-checks-for-non-rt-preempt-hardirq.patch # # Weird crap unearthed by -rt which needs to be investigated # irda-fix.patch nf_conntrack-weird-crash-fix.patch # # Needs proper fix # nf_conntrack-fix-smp-processor-id.patch print-might-sleep-hack.patch # # Lockstat: # lockdep-prove-locking.patch lockdep-rt-mutex.patch lockstat-core.patch lockstat-output.patch lockstat-hooks.patch lockstat-rt-hooks.patch lockstat_bounce.patch lockstat_bounce_rt.patch lockdep_fixups.patch lockstat_class_name.patch lockdep_fixup_annotate.patch # # KVM: # kvm-rt.patch # # Add RT to uname and apply the version # RT_utsname.patch # # not yet backmerged tail patches: # hrt-rt-fix-merge-artifact.patch preempt-rt-no-slub.patch rfkill-input-fix.patch fork.c-takeover-tasklets-warning-fix.patch paravirt-function-pointer-fix.patch hpet-build-fix.patch rtc.c-build-fix.patch version.patch - To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html