On Thu, 2007-07-12 at 17:37 +0200, Ingo Molnar wrote: > 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.) Thank you! > 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. I haven't really been submitting much to -rt mainly because there was no broken out set .. Every time I had to download that one big patch I would clinch my fists .. > 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 - 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