Re: [announce] split-up -rt patch-queue, v2.6.22.1-rt2
From: Daniel Walker
Date: Thu Jul 12 2007 - 11:49:49 EST
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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/