From 24b6ca0b3af650f6f51e063e35d155008226564a Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Sat, 20 Oct 2012 06:00:02 +0000 Subject: [PATCH] [rt] Update to 3.2.31-rt47 While doing this, resolve two conflicts with 3.2.32: - 3/286 'slab, lockdep: Annotate all slab caches' conflicts with commit 947ca1856a7e60aa6d20536785e6a42dff25aa6e 'slab: fix the DEADLOCK issue on l3 alien lock' in mm/slab.c - 100/286 'drivers/net: fix livelock issues' conflicts with commit 7c4a6106d6451fc03c491e61df37c044505d843a 'rapidio/rionet: fix multicast packet transmit logic' in drivers/net/rionet.c svn path=/dists/sid/linux/; revision=19439 --- debian/changelog | 9 +- ...-skip-nr_running-sanity-check-in-wor.patch | 6 +- ...6-Call-idle-notifier-after-irq_enter.patch | 4 +- ...lab-lockdep-Annotate-all-slab-caches.patch | 28 ++-- ...s-Remove-remove-bogus-preempt_enable.patch | 4 +- ...-x86-hpet-Disable-MSI-on-Lenovo-W510.patch | 4 +- ...k-Shorten-interrupt-disabled-regions.patch | 4 +- ...gle-worker-accounting-from-rq-3Elock.patch | 8 +- ...ps-enable-interrupts-in-signal.patch.patch | 4 +- ...able-interrupts-in-signal-code.patch.patch | 4 +- ...85xx-Mark-cascade-irq-IRQF_NO_THREAD.patch | 4 +- ...k-opb-cascade-handler-IRQF_NO_THREAD.patch | 4 +- ...c-Mark-IPI-interrupts-IRQF_NO_THREAD.patch | 4 +- .../rt/0013-powerpc-Allow-irq-threading.patch | 4 +- ...d-timer-ticking-when-throttling-acti.patch | 4 +- ...d-Do-not-throttle-due-to-PI-boosting.patch | 4 +- .../rt/0016-time-Remove-bogus-comments.patch | 4 +- ...-bogus-locking-in-update_vsyscall_tz.patch | 4 +- ...vdso-Use-seqcount-instead-of-seqlock.patch | 4 +- ...call-Use-seqcount-instead-of-seqlock.patch | 4 +- ...0020-seqlock-Remove-unused-functions.patch | 4 +- .../all/rt/0021-seqlock-Use-seqcount.patch | 4 +- ...ve-code-out-of-seqcount-write-sectio.patch | 4 +- .../0023-timekeeping-Split-xtime_lock.patch | 4 +- ...vert-i7300_idle_lock-to-raw-spinlock.patch | 4 +- ...-preempt-disabled-section-around-eve.patch | 4 +- ...-for-preempt-off-in-preempt_schedule.patch | 6 +- ...al-revert-ptrace-preempt-magic.patch.patch | 4 +- ...arm-Mark-pmu-interupt-IRQF_NO_THREAD.patch | 4 +- .../0029-arm-Allow-forced-irq-threading.patch | 4 +- ...empt-rt-Convert-arm-boot_lock-to-raw.patch | 4 +- ...hed-Create-schedule_preempt_disabled.patch | 6 +- ...-sched-Use-schedule_preempt_disabled.patch | 4 +- .../rt/0033-signals-Do-not-wakeup-self.patch | 4 +- ...six-timers-Prevent-broadcast-signals.patch | 4 +- ...t-tasks-to-cache-one-sigqueue-struct.patch | 6 +- ...-x86-Delay-calling-signals-in-atomic.patch | 4 +- ...local-irq-variant-for-generic-cmpxch.patch | 4 +- ...andom-Reduce-preempt-disabled-region.patch | 4 +- ...ove-irq-handler-when-clock-event-is-.patch | 4 +- ...B-Allow-higher-clock-rates-for-clock.patch | 4 +- ...p_remove_one-needs-to-call-pci_disab.patch | 4 +- ...et-Use-disable_irq_nosync-in-8139too.patch | 4 +- ...-Make-rx-irq-handler-non-threaded-IR.patch | 4 +- ...1_ether-Make-mdio-protection-rt-safe.patch | 4 +- ...k-legitimated-no-resched-sites.patch.patch | 6 +- ...pling-the-page-fault-disabling-logic.patch | 4 +- ...lt-handlers-to-check-current-pagefau.patch | 4 +- .../all/rt/0048-mm-pagefault_disabled.patch | 4 +- .../rt/0049-mm-raw_pagefault_disable.patch | 4 +- .../all/rt/0050-filemap-fix-up.patch.patch | 4 +- ...t-count-from-pagefault-disable-enabl.patch | 4 +- ...86-highmem-Replace-BUG_ON-by-WARN_ON.patch | 4 +- ...3-suspend-Prevent-might-sleep-splats.patch | 4 +- ...F-Fixup-resursive-locking-code-paths.patch | 4 +- .../0055-of-convert-devtree-lock.patch.patch | 4 +- .../0056-list-add-list-last-entry.patch.patch | 4 +- ...page-alloc-use-list-last-entry.patch.patch | 6 +- .../0058-mm-slab-move-debug-out.patch.patch | 4 +- .../all/rt/0059-rwsem-inlcude-fix.patch.patch | 4 +- .../rt/0060-sysctl-include-fix.patch.patch | 4 +- .../0061-net-flip-lock-dep-thingy.patch.patch | 8 +- ...0062-softirq-thread-do-softirq.patch.patch | 8 +- .../0063-softirq-split-out-code.patch.patch | 4 +- ...k-io_apic-when-interrupt-is-in-progr.patch | 4 +- .../0065-x86-32-fix-signal-crap.patch.patch | 4 +- ...-disable-preemption-in-int3-on-32bit.patch | 4 +- .../all/rt/0067-rcu-Reduce-lock-section.patch | 4 +- ...068-locking-various-init-fixes.patch.patch | 4 +- ...69-wait-Provide-__wake_up_all_locked.patch | 6 +- ...p_all_locked-pci_unblock_user_cfg_ac.patch | 4 +- .../all/rt/0071-latency-hist.patch.patch | 4 +- .../all/rt/0072-hwlatdetect.patch.patch | 4 +- .../all/rt/0073-localversion.patch.patch | 4 +- .../0074-early-printk-consolidate.patch.patch | 4 +- .../all/rt/0075-printk-kill.patch.patch | 4 +- ...ly_printk-boot-param-to-help-with-de.patch | 4 +- .../0077-rt-preempt-base-config.patch.patch | 4 +- ...-WARN_ON-variants-dependend-on-RT-RT.patch | 4 +- ...cal_irq_-variants-depending-on-RT-RT.patch | 4 +- ...pt-Provide-preempt_-_-no-rt-variants.patch | 4 +- ...le-interrupts-in-ide-code-for-preemp.patch | 4 +- ...ot-disable-interrupts-for-PREEMPT-RT.patch | 4 +- ...nox-IB-driver-patch-use-_nort-primit.patch | 4 +- ...o-not-disable-interrupts-on-PREEMPT_.patch | 4 +- ...not-disable-interrupts-on-PREEMPT_RT.patch | 4 +- ...ble-interrupts-on-RT-in-kernel-users.patch | 4 +- ...ble-interrupts-on-RT-in-res_counter..patch | 4 +- ...88-usb-Use-local_irq_-_nort-variants.patch | 10 +- ...isable-interrupts-in-put_ldisc-on-rt.patch | 4 +- ...-scatterlist-dont-disable-irqs-on-RT.patch | 4 +- ...091-signal-fix-up-rcu-wreckage.patch.patch | 4 +- .../0092-net-wireless-warn-nort.patch.patch | 4 +- ...-mm-Replace-cgroup_page-bit-spinlock.patch | 4 +- ...head-Replace-bh_uptodate_lock-for-rt.patch | 4 +- ...-state-lock-and-journal-head-lock-rt.patch | 4 +- ...96-genirq-Disable-DEBUG_SHIRQ-for-rt.patch | 4 +- ...rq-Disable-random-call-on-preempt-rt.patch | 4 +- .../0098-genirq-disable-irqpoll-on-rt.patch | 4 +- .../0099-genirq-force-threading.patch.patch | 4 +- ...0100-drivers-net-fix-livelock-issues.patch | 39 ++--- ...rivers-net-vortex-fix-locking-issues.patch | 4 +- ...02-drivers-net-gianfar-Make-RT-aware.patch | 4 +- ...e-problem-when-copying-large-amounts.patch | 4 +- .../all/rt/0104-local-var.patch.patch | 4 +- .../all/rt/0105-rt-local-irq-lock.patch.patch | 4 +- .../all/rt/0106-cpu-rt-variants.patch.patch | 4 +- .../0107-mm-slab-wrap-functions.patch.patch | 4 +- ...o_drain-to-use-the-right-array-cache.patch | 4 +- .../0109-mm-More-lock-breaks-in-slab.c.patch | 4 +- ...page_alloc-rt-friendly-per-cpu-pages.patch | 6 +- ...e_alloc-reduce-lock-sections-further.patch | 6 +- .../all/rt/0112-mm-page-alloc-fix.patch.patch | 6 +- ...113-mm-convert-swap-to-percpu-locked.patch | 4 +- ...stat-fix-the-irq-lock-asymetry.patch.patch | 4 +- .../all/rt/0115-mm-make-vmstat-rt-aware.patch | 4 +- ...-mm-shrink-the-page-frame-to-rt-size.patch | 4 +- ...-Initialize-ptl-lock-for-vector-page.patch | 4 +- .../rt/0118-mm-Allow-only-slab-on-RT.patch | 4 +- .../rt/0119-radix-tree-rt-aware.patch.patch | 4 +- .../rt/0120-panic-disable-random-on-rt.patch | 4 +- .../0121-ipc-Make-the-ipc-code-rt-aware.patch | 4 +- ...-critical-section-to-avoid-a-deadloc.patch | 4 +- .../all/rt/0123-relay-fix-timer-madness.patch | 4 +- ...-ipv4-route-use-locks-on-up-rt.patch.patch | 4 +- ...ue-avoid-the-lock-in-cpu-dying.patch.patch | 6 +- ...6-timers-prepare-for-full-preemption.patch | 4 +- .../rt/0127-timers-preempt-rt-support.patch | 4 +- .../0128-timers-fix-timer-hotplug-on-rt.patch | 4 +- ...rs-mov-printk_tick-to-soft-interrupt.patch | 4 +- ...-waking-softirqs-from-the-jiffy-tick.patch | 4 +- ...-switch-timers-base-set-to-NULL-tric.patch | 4 +- ...l-printk_tick-in-printk_needs_cpu-on.patch | 4 +- ...133-hrtimers-prepare-full-preemption.patch | 4 +- ...timer-callback-changes-for-preempt-r.patch | 6 +- ...ll-the-timer-handler-from-hrtimer_st.patch | 4 +- ...ing-debug_activate-aid-Was-Re-ANNOUN.patch | 4 +- ...-hrtimer-fix-reprogram-madness.patch.patch | 4 +- .../rt/0138-timer-fd-Prevent-live-lock.patch | 4 +- ...timers-thread-posix-cpu-timers-on-rt.patch | 4 +- ...rten-posix_cpu_timers-CPU-kernel-thr.patch | 4 +- ...id-wakeups-when-no-timers-are-active.patch | 4 +- .../rt/0142-sched-delay-put-task.patch.patch | 4 +- .../0143-sched-limit-nr-migrate.patch.patch | 6 +- .../rt/0144-sched-mmdrop-delayed.patch.patch | 6 +- .../rt/0145-sched-rt-mutex-wakeup.patch.patch | 6 +- .../0146-sched-prevent-idle-boost.patch.patch | 6 +- ...sleep-do-not-account-rcu-depth.patch.patch | 8 +- ...from-load_balancing-on-rq_lock-conte.patch | 4 +- .../rt/0149-sched-cond-resched.patch.patch | 6 +- .../0150-cond-resched-softirq-fix.patch.patch | 6 +- ...-sched-no-work-when-pi-blocked.patch.patch | 6 +- ...152-cond-resched-lock-rt-tweak.patch.patch | 4 +- .../0153-sched-disable-ttwu-queue.patch.patch | 4 +- ...-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch | 4 +- ...n-success-when-only-changing-the-sav.patch | 6 +- ...nvert-stop_machine_run-to-PREEMPT_RT.patch | 4 +- ...mp-machine-mark-stomper-thread.patch.patch | 4 +- .../0158-stomp-machine-raw-lock.patch.patch | 4 +- ...-hotplug-Lightweight-get-online-cpus.patch | 4 +- .../all/rt/0160-hotplug-sync_unplug-No.patch | 4 +- ...hotplug_pcp-on-pin_current_cpu-retry.patch | 4 +- .../rt/0162-sched-migrate-disable.patch.patch | 6 +- ...63-hotplug-use-migrate-disable.patch.patch | 4 +- ...cpu_unplug_begin-before-DOWN_PREPARE.patch | 4 +- ...ftrace-migrate-disable-tracing.patch.patch | 4 +- ...acing-Show-padding-as-unsigned-short.patch | 4 +- ...167-migrate-disable-rt-variant.patch.patch | 4 +- .../0168-sched-Optimize-migrate_disable.patch | 6 +- .../0169-sched-Generic-migrate_disable.patch | 6 +- ...0-sched-rt-Fix-migrate_enable-thinko.patch | 6 +- ...igrate_disable-about-atomic-contexts.patch | 6 +- ...actual-migration-disalbe-to-schedule.patch | 6 +- ...o-not-compare-cpu-masks-in-scheduler.patch | 6 +- ...grate_disable-ignore-bounded-threads.patch | 6 +- ...pf-thread-bound-on-fallback-rq.patch.patch | 6 +- .../all/rt/0176-ftrace-crap.patch.patch | 4 +- ...ert-reader_lock-from-raw_spin_lock-i.patch | 4 +- ...et-netif_rx_ni-migrate-disable.patch.patch | 8 +- ...Sanitize-softirq-pending-for-NOHZ-RT.patch | 4 +- .../all/rt/0180-lockdep-rt.patch.patch | 4 +- .../rt/0181-mutex-no-spin-on-rt.patch.patch | 4 +- .../rt/0182-softirq-local-lock.patch.patch | 4 +- ...83-softirq-Export-in_serving_softirq.patch | 4 +- ...-softirq_count-as-OUL-to-kill-build-.patch | 4 +- .../rt/0185-softirq-Fix-unplug-deadlock.patch | 4 +- ...-disable-softirq-stacks-for-rt.patch.patch | 4 +- .../all/rt/0187-softirq-make-fifo.patch.patch | 4 +- ...tasklets-from-going-into-infinite-sp.patch | 4 +- ...abling-of-softirq-processing-in-irq-.patch | 4 +- ...190-local-vars-migrate-disable.patch.patch | 4 +- ...-Make-raid5_percpu-handling-RT-aware.patch | 4 +- .../rt/0192-rtmutex-lock-killable.patch.patch | 4 +- .../0193-rtmutex-futex-prepare-rt.patch.patch | 4 +- ...on-when-a-requeued-RT-task-times-out.patch | 4 +- ...add-sleeping-spinlocks-support.patch.patch | 4 +- ...96-spinlock-types-separate-raw.patch.patch | 4 +- ...197-rtmutex-avoid-include-hell.patch.patch | 4 +- .../rt/0198-rt-add-rt-spinlocks.patch.patch | 4 +- ...199-rt-add-rt-to-mutex-headers.patch.patch | 4 +- .../rt/0200-rwsem-add-rt-variant.patch.patch | 4 +- ...the-preempt-rt-lock-replacement-APIs.patch | 4 +- .../0202-rwlocks-Fix-section-mismatch.patch | 4 +- ...e-trylock-in-get-next-timer-irq.patc.patch | 4 +- ...RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch | 4 +- .../all/rt/0205-rcu-Frob-softirq-test.patch | 4 +- ...06-rcu-Merge-RCU-bh-into-RCU-preempt.patch | 4 +- ...bstitution-for-synchronize_rcu_bh-on.patch | 4 +- .../all/rt/0208-rcu-more-fallout.patch.patch | 4 +- ...ke-ksoftirqd-do-RCU-quiescent-states.patch | 4 +- ...-rt-rcutree-Move-misplaced-prototype.patch | 4 +- .../all/rt/0211-lglocks-rt.patch.patch | 4 +- ...ial-8250-Clean-up-the-locking-for-rt.patch | 4 +- ...-flush_to_ldisc-when-the-irq-is-thre.patch | 4 +- ...drivers-tty-fix-omap-lock-crap.patch.patch | 4 +- ...mprove-the-serial-console-PASS_LIMIT.patch | 4 +- .../rt/0216-fs-namespace-preemption-fix.patch | 4 +- ...-mm-protect-activate-switch-mm.patch.patch | 4 +- .../rt/0218-fs-block-rt-support.patch.patch | 4 +- ...fs-ntfs-disable-interrupt-only-on-RT.patch | 4 +- ...220-x86-Convert-mce-timer-to-hrtimer.patch | 4 +- ...ackprotector-Avoid-random-pool-on-rt.patch | 4 +- ...86-Use-generic-rwsem_spinlocks-on-rt.patch | 4 +- ...stacks-for-debug-int-3-stack-fault-f.patch | 4 +- ...24-workqueue-use-get-cpu-light.patch.patch | 6 +- .../features/all/rt/0225-epoll.patch.patch | 4 +- .../all/rt/0226-mm-vmalloc.patch.patch | 4 +- .../all/rt/0227-debugobjects-rt.patch.patch | 4 +- .../all/rt/0228-jump-label-rt.patch.patch | 4 +- .../rt/0229-skbufhead-raw-lock.patch.patch | 16 +- .../0230-x86-no-perf-irq-work-rt.patch.patch | 4 +- .../0231-console-make-rt-friendly.patch.patch | 4 +- ...able-migration-instead-of-preemption.patch | 4 +- .../0233-power-use-generic-rwsem-on-rt.patch | 4 +- ...34-power-disable-highmem-on-rt.patch.patch | 4 +- ...0235-arm-disable-highmem-on-rt.patch.patch | 4 +- ...-tclib-Default-to-tclib-timer-for-RT.patch | 4 +- ...237-mips-disable-highmem-on-rt.patch.patch | 4 +- ...void-livelock-in-net_tx_action-on-RT.patch | 10 +- .../all/rt/0239-ping-sysrq.patch.patch | 4 +- ...40-kgdb-serial-Short-term-workaround.patch | 4 +- .../0241-add-sys-kernel-realtime-entry.patch | 4 +- .../0242-mm-rt-kmap_atomic-scheduling.patch | 4 +- ...243-ipc-sem-Rework-semaphore-wakeups.patch | 4 +- ...diate-Magic-SysRq-output-for-PREEMPT.patch | 4 +- ...6-kvm-require-const-tsc-for-rt.patch.patch | 4 +- .../rt/0246-scsi-fcoe-rt-aware.patch.patch | 4 +- ...ypto-Reduce-preempt-disabled-regions.patch | 4 +- .../all/rt/0248-dm-Make-rt-aware.patch | 8 +- ...sable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch | 4 +- .../0250-seqlock-Prevent-rt-starvation.patch | 4 +- .../rt/0251-timer-Fix-hotplug-for-rt.patch | 4 +- ...sible-lockup-when-taking-pi_lock-in-.patch | 4 +- ...heck-for-irqs-disabled-before-grabbi.patch | 4 +- ...t_task_interactive-to-test-rt_spin_l.patch | 6 +- ...t-Use-non-rt-for_each_cpu-in-rt-code.patch | 4 +- ...tplug.lock-a-sleeping-spinlock-on-RT.patch | 4 +- ...eemption-after-reenabling-interrupts.patch | 14 +- .../all/rt/0258-rt-Introduce-cpu_chill.patch | 4 +- ...cache-Use-cpu_chill-in-trylock-loops.patch | 8 +- ...t-Use-cpu_chill-instead-of-cpu_relax.patch | 4 +- ...onfig-disable-a-few-options-rt.patch.patch | 4 +- .../0262-kconfig-preempt-rt-full.patch.patch | 4 +- ...disable-enable-and-__rt_mutex_init-n.patch | 6 +- ...-local_irq_save_nort-in-qla2x00_poll.patch | 4 +- ...ove-preemption-disabling-in-netif_rx.patch | 10 +- ...6-mips-remove-smp-reserve-lock.patch.patch | 4 +- ...mms-Cope-with-backwards-running-loca.patch | 4 +- ...ms-Adjust-timer-if-already-elapsed-w.patch | 4 +- ...le-RT_GROUP_SCHED-in-PREEMPT_RT_FULL.patch | 4 +- ...ms-Detect-another-yet-overlooked-sha.patch | 4 +- ...271-slab-Prevent-local-lock-deadlock.patch | 4 +- ...ull-your-plug-when-waiting-for-space.patch | 4 +- ...t-hrtimer-run-in-irq-instead-of-soft.patch | 4 +- ...pu-rt-Rework-cpu-down-for-PREEMPT_RT.patch | 6 +- ...-cpu_hotplug-variable-initialization.patch | 4 +- ...-leap-second-backport-for-RT-changes.patch | 4 +- .../0277-fix-printk-flush-of-messages.patch | 4 +- .../0278-fix-printk-flush-of-messages.patch | 16 +- .../rt/0279-random-Make-it-work-on-rt.patch | 125 ++++++++++++++++ ...tirq-local-lock-after-per-cpu-sectio.patch | 137 ++++++++++++++++++ .../0281-mm-slab-Fix-potential-deadlock.patch | 124 ++++++++++++++++ ...e-local_lock_on-instead-of-plain-spi.patch | 62 ++++++++ ...-rt-rwsem-rwlock-lockdep-annotations.patch | 123 ++++++++++++++++ ...-Better-debug-output-for-might-sleep.patch | 79 ++++++++++ ...e-mutex_trylock-when-called-from-ina.patch | 63 ++++++++ ...ch => 0286-Linux-3.2.31-rt47-REBASE.patch} | 10 +- debian/patches/features/all/rt/series | 9 +- debian/patches/series-rt | 9 +- 289 files changed, 1394 insertions(+), 673 deletions(-) create mode 100644 debian/patches/features/all/rt/0279-random-Make-it-work-on-rt.patch create mode 100644 debian/patches/features/all/rt/0280-softirq-Init-softirq-local-lock-after-per-cpu-sectio.patch create mode 100644 debian/patches/features/all/rt/0281-mm-slab-Fix-potential-deadlock.patch create mode 100644 debian/patches/features/all/rt/0282-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch create mode 100644 debian/patches/features/all/rt/0283-rt-rwsem-rwlock-lockdep-annotations.patch create mode 100644 debian/patches/features/all/rt/0284-sched-Better-debug-output-for-might-sleep.patch create mode 100644 debian/patches/features/all/rt/0285-stomp_machine-Use-mutex_trylock-when-called-from-ina.patch rename debian/patches/features/all/rt/{0279-Linux-3.2.30-rt45-REBASE.patch => 0286-Linux-3.2.31-rt47-REBASE.patch} (55%) diff --git a/debian/changelog b/debian/changelog index f1e114798..bbf5d2243 100644 --- a/debian/changelog +++ b/debian/changelog @@ -79,13 +79,20 @@ linux (3.2.32-1) UNRELEASED; urgency=low * tg3: Fix TSO CAP for 5704 devs w / ASF enabled * SUNRPC: Set alloc_slot for backchannel tcp ops (regression in 3.2.30) * iwlwifi: Do not request unreleased firmware for IWL6000 (Closes: #689416) - * [rt] Update to 3.2.30-rt45 * [aufs] Update to aufs3.2-20120827: - Fix statfs() values when different block sizes are in use * udeb: Add hid-logitech-dj to input-modules (Closes: #661379) * connector: Make CONNECTOR built-in; enable PROC_EVENTS (Closes: #588200) * e1000e: Change wthresh to 1 to avoid possible Tx stalls * [x86] efi: Build EFI stub with EFI-appropriate options + * [rt] Update to 3.2.31-rt47: + - random: Make add_interrupt_randomness() work on rt + - softirq: Init softirq local lock after per cpu section is set up + - mm: slab: Fix potential deadlock + - mm: page_alloc: Use local_lock_on() instead of plain spinlock + - rt: rwsem/rwlock: lockdep annotations + - sched: Better debug output for might sleep + - stomp_machine: Use mutex_trylock when called from inactive cpu -- Ben Hutchings Sat, 29 Sep 2012 14:19:46 +0200 diff --git a/debian/patches/features/all/rt/0001-Revert-workqueue-skip-nr_running-sanity-check-in-wor.patch b/debian/patches/features/all/rt/0001-Revert-workqueue-skip-nr_running-sanity-check-in-wor.patch index bd7542f05..622d5e672 100644 --- a/debian/patches/features/all/rt/0001-Revert-workqueue-skip-nr_running-sanity-check-in-wor.patch +++ b/debian/patches/features/all/rt/0001-Revert-workqueue-skip-nr_running-sanity-check-in-wor.patch @@ -1,7 +1,7 @@ -From c0107fb6e406066fe2ea2ddec08465642b5caba1 Mon Sep 17 00:00:00 2001 +From 4849a4ba1ea32ff6c5733e5371c2341724dd0853 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 6 Jun 2012 17:07:34 -0400 -Subject: [PATCH 001/279] Revert "workqueue: skip nr_running sanity check in +Subject: [PATCH 001/286] Revert "workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active" This reverts commit 5d79c6f64a904afc92a329f80abe693e3ae105fe. @@ -14,7 +14,7 @@ Signed-off-by: Steven Rostedt 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index 979d4de..e4f72b8 100644 +index b413138..0828b8e 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -1215,13 +1215,8 @@ static void worker_enter_idle(struct worker *worker) diff --git a/debian/patches/features/all/rt/0002-x86-Call-idle-notifier-after-irq_enter.patch b/debian/patches/features/all/rt/0002-x86-Call-idle-notifier-after-irq_enter.patch index 6d3f6789e..4046561cf 100644 --- a/debian/patches/features/all/rt/0002-x86-Call-idle-notifier-after-irq_enter.patch +++ b/debian/patches/features/all/rt/0002-x86-Call-idle-notifier-after-irq_enter.patch @@ -1,7 +1,7 @@ -From 8d82cf985362d9c076de7c9c09ee02c83df5df21 Mon Sep 17 00:00:00 2001 +From 03e8f637b811769cbe0feae2388c19a3452b611e Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Mon, 26 Sep 2011 12:19:11 +0200 -Subject: [PATCH 002/279] x86: Call idle notifier after irq_enter() +Subject: [PATCH 002/286] x86: Call idle notifier after irq_enter() Interrupts notify the idle exit state before calling irq_enter(). But the notifier code calls rcu_read_lock() and this is not allowed while diff --git a/debian/patches/features/all/rt/0003-slab-lockdep-Annotate-all-slab-caches.patch b/debian/patches/features/all/rt/0003-slab-lockdep-Annotate-all-slab-caches.patch index 0a98acafd..649c8f0bd 100644 --- a/debian/patches/features/all/rt/0003-slab-lockdep-Annotate-all-slab-caches.patch +++ b/debian/patches/features/all/rt/0003-slab-lockdep-Annotate-all-slab-caches.patch @@ -1,7 +1,7 @@ -From 29d251239b94a5f1c3ac48c80263e86bcafc882a Mon Sep 17 00:00:00 2001 +From ead56cb49250c8b6512dc7688019d07fdaa34941 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 28 Nov 2011 19:51:51 +0100 -Subject: [PATCH 003/279] slab, lockdep: Annotate all slab caches +Subject: [PATCH 003/286] slab, lockdep: Annotate all slab caches Currently we only annotate the kmalloc caches, annotate all of them. @@ -15,15 +15,15 @@ Cc: linux-mm@kvack.org Cc: David Rientjes Signed-off-by: Thomas Gleixner Link: http://lkml.kernel.org/n/tip-10bey2cgpcvtbdkgigaoab8w@git.kernel.org +[bwh: Adjust deletion of call to init_lock_keys() from kmem_cache_init_late(), + as it moved in 3.2.32] --- mm/slab.c | 52 ++++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 24 deletions(-) -diff --git a/mm/slab.c b/mm/slab.c -index cd3ab93..2ab1bc2 100644 --- a/mm/slab.c +++ b/mm/slab.c -@@ -607,6 +607,12 @@ int slab_is_available(void) +@@ -609,6 +609,12 @@ int slab_is_available(void) return g_cpucache_up >= EARLY; } @@ -36,7 +36,7 @@ index cd3ab93..2ab1bc2 100644 #ifdef CONFIG_LOCKDEP /* -@@ -668,38 +674,41 @@ static void slab_set_debugobj_lock_classes(struct kmem_cache *cachep) +@@ -670,38 +676,41 @@ static void slab_set_debugobj_lock_class slab_set_debugobj_lock_classes_node(cachep, node); } @@ -92,7 +92,7 @@ index cd3ab93..2ab1bc2 100644 { } -@@ -712,12 +721,6 @@ static void slab_set_debugobj_lock_classes(struct kmem_cache *cachep) +@@ -714,12 +723,6 @@ static void slab_set_debugobj_lock_class } #endif @@ -105,13 +105,8 @@ index cd3ab93..2ab1bc2 100644 static DEFINE_PER_CPU(struct delayed_work, slab_reap_work); static inline struct array_cache *cpu_cache_get(struct kmem_cache *cachep) -@@ -1669,14 +1672,13 @@ void __init kmem_cache_init_late(void) +@@ -1673,14 +1676,13 @@ void __init kmem_cache_init_late(void) - g_cpucache_up = LATE; - -- /* Annotate slab for lockdep -- annotate the malloc caches */ -- init_lock_keys(); -- /* 6) resize the head arrays to their final sizes */ mutex_lock(&cache_chain_mutex); - list_for_each_entry(cachep, &cache_chain, next) @@ -122,8 +117,13 @@ index cd3ab93..2ab1bc2 100644 + } mutex_unlock(&cache_chain_mutex); +- /* Annotate slab for lockdep -- annotate the malloc caches */ +- init_lock_keys(); +- /* Done! */ -@@ -2479,6 +2481,8 @@ kmem_cache_create (const char *name, size_t size, size_t align, + g_cpucache_up = FULL; + +@@ -2481,6 +2483,8 @@ kmem_cache_create (const char *name, siz slab_set_debugobj_lock_classes(cachep); } diff --git a/debian/patches/features/all/rt/0004-x86-kprobes-Remove-remove-bogus-preempt_enable.patch b/debian/patches/features/all/rt/0004-x86-kprobes-Remove-remove-bogus-preempt_enable.patch index d42283825..ca856c29b 100644 --- a/debian/patches/features/all/rt/0004-x86-kprobes-Remove-remove-bogus-preempt_enable.patch +++ b/debian/patches/features/all/rt/0004-x86-kprobes-Remove-remove-bogus-preempt_enable.patch @@ -1,7 +1,7 @@ -From 706a0afeea8b2b7e2437e0c42b9fbe6e227273bd Mon Sep 17 00:00:00 2001 +From 0a7a9970e7211eaa71865b504d2b0a6c8fab7a78 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 17 Mar 2011 11:02:15 +0100 -Subject: [PATCH 004/279] x86: kprobes: Remove remove bogus preempt_enable +Subject: [PATCH 004/286] x86: kprobes: Remove remove bogus preempt_enable The CONFIG_PREEMPT=n section of setup_singlestep() contains: diff --git a/debian/patches/features/all/rt/0005-x86-hpet-Disable-MSI-on-Lenovo-W510.patch b/debian/patches/features/all/rt/0005-x86-hpet-Disable-MSI-on-Lenovo-W510.patch index 5a94e2a57..b642aefac 100644 --- a/debian/patches/features/all/rt/0005-x86-hpet-Disable-MSI-on-Lenovo-W510.patch +++ b/debian/patches/features/all/rt/0005-x86-hpet-Disable-MSI-on-Lenovo-W510.patch @@ -1,7 +1,7 @@ -From 49491a436b404bb21cf691ed81c318d4aebdf8cb Mon Sep 17 00:00:00 2001 +From c70c05919eefc99b75fe49087e759cd70d582469 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 30 Sep 2011 20:03:37 +0200 -Subject: [PATCH 005/279] x86: hpet: Disable MSI on Lenovo W510 +Subject: [PATCH 005/286] x86: hpet: Disable MSI on Lenovo W510 MSI based per cpu timers lose interrupts when intel_idle() is enabled - independent of the c-state. With idle=poll the problem cannot be diff --git a/debian/patches/features/all/rt/0006-block-Shorten-interrupt-disabled-regions.patch b/debian/patches/features/all/rt/0006-block-Shorten-interrupt-disabled-regions.patch index 7dfa88faf..92b4620de 100644 --- a/debian/patches/features/all/rt/0006-block-Shorten-interrupt-disabled-regions.patch +++ b/debian/patches/features/all/rt/0006-block-Shorten-interrupt-disabled-regions.patch @@ -1,7 +1,7 @@ -From ed5d2302703743ee776f883cd9c4f6f70c634b6b Mon Sep 17 00:00:00 2001 +From fd79c81d963538047768ed9f94aa2af6a752835f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:02 +0200 -Subject: [PATCH 006/279] block: Shorten interrupt disabled regions +Subject: [PATCH 006/286] block: Shorten interrupt disabled regions Moving the blk_sched_flush_plug() call out of the interrupt/preempt disabled region in the scheduler allows us to replace diff --git a/debian/patches/features/all/rt/0007-sched-Distangle-worker-accounting-from-rq-3Elock.patch b/debian/patches/features/all/rt/0007-sched-Distangle-worker-accounting-from-rq-3Elock.patch index 76deb553f..18464d3ba 100644 --- a/debian/patches/features/all/rt/0007-sched-Distangle-worker-accounting-from-rq-3Elock.patch +++ b/debian/patches/features/all/rt/0007-sched-Distangle-worker-accounting-from-rq-3Elock.patch @@ -1,7 +1,7 @@ -From 69fede1fd86b2673c8df8e977460ad981c4385e8 Mon Sep 17 00:00:00 2001 +From ddab698615a4c4dc9361ede1a5c56fd17a463ffd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:03 +0200 -Subject: [PATCH 007/279] sched: Distangle worker accounting from rq-%3Elock +Subject: [PATCH 007/286] sched: Distangle worker accounting from rq-%3Elock The worker accounting for cpu bound workers is plugged into the core scheduler code and the wakeup code. This is not a hard requirement and @@ -30,7 +30,7 @@ Signed-off-by: Thomas Gleixner 3 files changed, 47 insertions(+), 91 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 910db7d..07a2a01 100644 +index fcc893f..b14949d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2640,10 +2640,6 @@ static void ttwu_activate(struct rq *rq, struct task_struct *p, int en_flags) @@ -141,7 +141,7 @@ index 910db7d..07a2a01 100644 EXPORT_SYMBOL(schedule); diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index e4f72b8..42f7949 100644 +index 0828b8e..4bd2abb 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -137,6 +137,7 @@ struct worker { diff --git a/debian/patches/features/all/rt/0008-mips-enable-interrupts-in-signal.patch.patch b/debian/patches/features/all/rt/0008-mips-enable-interrupts-in-signal.patch.patch index 40dca4f7f..04ff073f3 100644 --- a/debian/patches/features/all/rt/0008-mips-enable-interrupts-in-signal.patch.patch +++ b/debian/patches/features/all/rt/0008-mips-enable-interrupts-in-signal.patch.patch @@ -1,7 +1,7 @@ -From b638717f75841033d14a45893d7ea7d8b68be7a8 Mon Sep 17 00:00:00 2001 +From e5d27504904a2b3c4109fd7cf0749315e0e0e1ed Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 21:32:10 +0200 -Subject: [PATCH 008/279] mips-enable-interrupts-in-signal.patch +Subject: [PATCH 008/286] mips-enable-interrupts-in-signal.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0009-arm-enable-interrupts-in-signal-code.patch.patch b/debian/patches/features/all/rt/0009-arm-enable-interrupts-in-signal-code.patch.patch index 34e951f3a..501f8e24e 100644 --- a/debian/patches/features/all/rt/0009-arm-enable-interrupts-in-signal-code.patch.patch +++ b/debian/patches/features/all/rt/0009-arm-enable-interrupts-in-signal-code.patch.patch @@ -1,7 +1,7 @@ -From 709e184013ab2f74b299bd91a556a6b4e494ebbd Mon Sep 17 00:00:00 2001 +From 2e3917d792d5bc6c1b5f0a0c47d12b38e6dcb95d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 16:27:13 +0200 -Subject: [PATCH 009/279] arm-enable-interrupts-in-signal-code.patch +Subject: [PATCH 009/286] arm-enable-interrupts-in-signal-code.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0010-powerpc-85xx-Mark-cascade-irq-IRQF_NO_THREAD.patch b/debian/patches/features/all/rt/0010-powerpc-85xx-Mark-cascade-irq-IRQF_NO_THREAD.patch index 0dbeb7b52..295b378d9 100644 --- a/debian/patches/features/all/rt/0010-powerpc-85xx-Mark-cascade-irq-IRQF_NO_THREAD.patch +++ b/debian/patches/features/all/rt/0010-powerpc-85xx-Mark-cascade-irq-IRQF_NO_THREAD.patch @@ -1,7 +1,7 @@ -From f45cec8040f75c8ab87efd7bff1a29f49f8f0d1e Mon Sep 17 00:00:00 2001 +From 052bd8931248e14b2e0a5846596c05cd8ecff655 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 12:09:54 +0200 -Subject: [PATCH 010/279] powerpc: 85xx: Mark cascade irq IRQF_NO_THREAD +Subject: [PATCH 010/286] powerpc: 85xx: Mark cascade irq IRQF_NO_THREAD Cascade interrupt must run in hard interrupt context. diff --git a/debian/patches/features/all/rt/0011-powerpc-wsp-Mark-opb-cascade-handler-IRQF_NO_THREAD.patch b/debian/patches/features/all/rt/0011-powerpc-wsp-Mark-opb-cascade-handler-IRQF_NO_THREAD.patch index 61d4341f5..d10f16819 100644 --- a/debian/patches/features/all/rt/0011-powerpc-wsp-Mark-opb-cascade-handler-IRQF_NO_THREAD.patch +++ b/debian/patches/features/all/rt/0011-powerpc-wsp-Mark-opb-cascade-handler-IRQF_NO_THREAD.patch @@ -1,7 +1,7 @@ -From 19f19b3ffe2a7f3b29db10656488ae4496aca77a Mon Sep 17 00:00:00 2001 +From 58286bd0d33f6befe2309ab52efeed3fb39b8107 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 14:11:24 +0200 -Subject: [PATCH 011/279] powerpc: wsp: Mark opb cascade handler +Subject: [PATCH 011/286] powerpc: wsp: Mark opb cascade handler IRQF_NO_THREAD Cascade handlers must run in hard interrupt context. diff --git a/debian/patches/features/all/rt/0012-powerpc-Mark-IPI-interrupts-IRQF_NO_THREAD.patch b/debian/patches/features/all/rt/0012-powerpc-Mark-IPI-interrupts-IRQF_NO_THREAD.patch index f5c1bc3a9..718294257 100644 --- a/debian/patches/features/all/rt/0012-powerpc-Mark-IPI-interrupts-IRQF_NO_THREAD.patch +++ b/debian/patches/features/all/rt/0012-powerpc-Mark-IPI-interrupts-IRQF_NO_THREAD.patch @@ -1,7 +1,7 @@ -From 7462184650a57730f725fa3884cf3fb6486d0db6 Mon Sep 17 00:00:00 2001 +From d218a80d59c66bed37eabbf86ff41e400d9e6d4a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 14:00:26 +0200 -Subject: [PATCH 012/279] powerpc: Mark IPI interrupts IRQF_NO_THREAD +Subject: [PATCH 012/286] powerpc: Mark IPI interrupts IRQF_NO_THREAD IPI handlers cannot be threaded. Remove the obsolete IRQF_DISABLED flag (see commit e58aa3d2) while at it. diff --git a/debian/patches/features/all/rt/0013-powerpc-Allow-irq-threading.patch b/debian/patches/features/all/rt/0013-powerpc-Allow-irq-threading.patch index ed80c223e..cb1b8bb3e 100644 --- a/debian/patches/features/all/rt/0013-powerpc-Allow-irq-threading.patch +++ b/debian/patches/features/all/rt/0013-powerpc-Allow-irq-threading.patch @@ -1,7 +1,7 @@ -From cd864725615da8f5ff7508a1b84b0a941a216c2f Mon Sep 17 00:00:00 2001 +From 654ee649aa52817d2f3d0ae3a1584feefd034c9e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 13:16:24 +0200 -Subject: [PATCH 013/279] powerpc: Allow irq threading +Subject: [PATCH 013/286] powerpc: Allow irq threading All interrupts which must be non threaded are marked IRQF_NO_THREAD. So it's safe to allow force threaded handlers. diff --git a/debian/patches/features/all/rt/0014-sched-Keep-period-timer-ticking-when-throttling-acti.patch b/debian/patches/features/all/rt/0014-sched-Keep-period-timer-ticking-when-throttling-acti.patch index 15e7986f6..cd4ae05c5 100644 --- a/debian/patches/features/all/rt/0014-sched-Keep-period-timer-ticking-when-throttling-acti.patch +++ b/debian/patches/features/all/rt/0014-sched-Keep-period-timer-ticking-when-throttling-acti.patch @@ -1,7 +1,7 @@ -From c73848b8914851ed695e596958143e487536b8f1 Mon Sep 17 00:00:00 2001 +From c2baf65c7ce0d31526423fa2b9259b042b6cb2a6 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 18 Oct 2011 22:03:48 +0200 -Subject: [PATCH 014/279] sched: Keep period timer ticking when throttling +Subject: [PATCH 014/286] sched: Keep period timer ticking when throttling active When a runqueue is throttled we cannot disable the period timer diff --git a/debian/patches/features/all/rt/0015-sched-Do-not-throttle-due-to-PI-boosting.patch b/debian/patches/features/all/rt/0015-sched-Do-not-throttle-due-to-PI-boosting.patch index c06adf809..f510958b5 100644 --- a/debian/patches/features/all/rt/0015-sched-Do-not-throttle-due-to-PI-boosting.patch +++ b/debian/patches/features/all/rt/0015-sched-Do-not-throttle-due-to-PI-boosting.patch @@ -1,7 +1,7 @@ -From 641ef3395e71a5085ad4ea513af769f9758946de Mon Sep 17 00:00:00 2001 +From 2244c283d725f791c79def5c10f4c3455de14f30 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 18 Oct 2011 22:03:48 +0200 -Subject: [PATCH 015/279] sched: Do not throttle due to PI boosting +Subject: [PATCH 015/286] sched: Do not throttle due to PI boosting When a runqueue has rt_runtime_us = 0 then the only way it can accumulate rt_time is via PI boosting. Though that causes the runqueue diff --git a/debian/patches/features/all/rt/0016-time-Remove-bogus-comments.patch b/debian/patches/features/all/rt/0016-time-Remove-bogus-comments.patch index 2abdc65ec..6c66768dd 100644 --- a/debian/patches/features/all/rt/0016-time-Remove-bogus-comments.patch +++ b/debian/patches/features/all/rt/0016-time-Remove-bogus-comments.patch @@ -1,7 +1,7 @@ -From 1fce51e16df9a8fd243d99dcb4c41bad9fd2c5ea Mon Sep 17 00:00:00 2001 +From ebaae87094f282b4d1bcea6e67ddcbda45ef4935 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 19:06:50 +0100 -Subject: [PATCH 016/279] time: Remove bogus comments +Subject: [PATCH 016/286] time: Remove bogus comments There is no global irq lock which makes a syscall magically SMP safe. Remove the outdated comment concerning do_settimeofday() as diff --git a/debian/patches/features/all/rt/0017-x86-vdso-Remove-bogus-locking-in-update_vsyscall_tz.patch b/debian/patches/features/all/rt/0017-x86-vdso-Remove-bogus-locking-in-update_vsyscall_tz.patch index 689a30e73..395a229d8 100644 --- a/debian/patches/features/all/rt/0017-x86-vdso-Remove-bogus-locking-in-update_vsyscall_tz.patch +++ b/debian/patches/features/all/rt/0017-x86-vdso-Remove-bogus-locking-in-update_vsyscall_tz.patch @@ -1,7 +1,7 @@ -From d1f35b1f2ffa112b4c2585e20c8d68befb7581f7 Mon Sep 17 00:00:00 2001 +From 46122818f49121bb3a5c114182a80fd771b7ee42 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 19:10:46 +0100 -Subject: [PATCH 017/279] x86: vdso: Remove bogus locking in +Subject: [PATCH 017/286] x86: vdso: Remove bogus locking in update_vsyscall_tz() Changing the sequence count in update_vsyscall_tz() is completely diff --git a/debian/patches/features/all/rt/0018-x86-vdso-Use-seqcount-instead-of-seqlock.patch b/debian/patches/features/all/rt/0018-x86-vdso-Use-seqcount-instead-of-seqlock.patch index 0418a465a..bbd7e5d2f 100644 --- a/debian/patches/features/all/rt/0018-x86-vdso-Use-seqcount-instead-of-seqlock.patch +++ b/debian/patches/features/all/rt/0018-x86-vdso-Use-seqcount-instead-of-seqlock.patch @@ -1,7 +1,7 @@ -From 9aed04c2415725c8f25fc5cb845244fb8d06c97c Mon Sep 17 00:00:00 2001 +From 869db02e87029302fbea05b05a0823f78fa5134c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 18:24:07 +0100 -Subject: [PATCH 018/279] x86: vdso: Use seqcount instead of seqlock +Subject: [PATCH 018/286] x86: vdso: Use seqcount instead of seqlock The update of the vdso data happens under xtime_lock, so adding a nested lock is pointless. Just use a seqcount to sync the readers. diff --git a/debian/patches/features/all/rt/0019-ia64-vsyscall-Use-seqcount-instead-of-seqlock.patch b/debian/patches/features/all/rt/0019-ia64-vsyscall-Use-seqcount-instead-of-seqlock.patch index b6188e2e2..2460204ab 100644 --- a/debian/patches/features/all/rt/0019-ia64-vsyscall-Use-seqcount-instead-of-seqlock.patch +++ b/debian/patches/features/all/rt/0019-ia64-vsyscall-Use-seqcount-instead-of-seqlock.patch @@ -1,7 +1,7 @@ -From f182edcdffd71ae882d3a09ffbdc79e1c60cff94 Mon Sep 17 00:00:00 2001 +From 1a845160bedcf7f4068a16575c7ae8e4e3f1e35b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 18:33:08 +0100 -Subject: [PATCH 019/279] ia64: vsyscall: Use seqcount instead of seqlock +Subject: [PATCH 019/286] ia64: vsyscall: Use seqcount instead of seqlock The update of the vdso data happens under xtime_lock, so adding a nested lock is pointless. Just use a seqcount to sync the readers. diff --git a/debian/patches/features/all/rt/0020-seqlock-Remove-unused-functions.patch b/debian/patches/features/all/rt/0020-seqlock-Remove-unused-functions.patch index 4d0a26f31..61726de38 100644 --- a/debian/patches/features/all/rt/0020-seqlock-Remove-unused-functions.patch +++ b/debian/patches/features/all/rt/0020-seqlock-Remove-unused-functions.patch @@ -1,7 +1,7 @@ -From d224ed10fa321e76c9ba732240ec3749fe76d94c Mon Sep 17 00:00:00 2001 +From 64c902aaa4ef1f83081bfb4e03b97fa67fda8526 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 18:38:22 +0200 -Subject: [PATCH 020/279] seqlock: Remove unused functions +Subject: [PATCH 020/286] seqlock: Remove unused functions Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0021-seqlock-Use-seqcount.patch b/debian/patches/features/all/rt/0021-seqlock-Use-seqcount.patch index c2bfe454b..7ccdc282f 100644 --- a/debian/patches/features/all/rt/0021-seqlock-Use-seqcount.patch +++ b/debian/patches/features/all/rt/0021-seqlock-Use-seqcount.patch @@ -1,7 +1,7 @@ -From 459317141f3e7cf8a8bf7d129cc351191b06b218 Mon Sep 17 00:00:00 2001 +From 43716713698afc1f3655f2483333f728bc0a64cc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 18:40:26 +0200 -Subject: [PATCH 021/279] seqlock: Use seqcount +Subject: [PATCH 021/286] seqlock: Use seqcount No point in having different implementations for the same thing. diff --git a/debian/patches/features/all/rt/0022-vfs-fs_struct-Move-code-out-of-seqcount-write-sectio.patch b/debian/patches/features/all/rt/0022-vfs-fs_struct-Move-code-out-of-seqcount-write-sectio.patch index 555902a4b..6796192de 100644 --- a/debian/patches/features/all/rt/0022-vfs-fs_struct-Move-code-out-of-seqcount-write-sectio.patch +++ b/debian/patches/features/all/rt/0022-vfs-fs_struct-Move-code-out-of-seqcount-write-sectio.patch @@ -1,7 +1,7 @@ -From b6d8bddc76fee940b351b7162d57a47517ecf590 Mon Sep 17 00:00:00 2001 +From 5252a61c6b1ef0f3179fde59711842b3a67c8c17 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 15 Mar 2012 18:39:40 +0000 -Subject: [PATCH 022/279] vfs: fs_struct: Move code out of seqcount write +Subject: [PATCH 022/286] vfs: fs_struct: Move code out of seqcount write sections RT cannot disable preemption in the seqcount write sections due to diff --git a/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch b/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch index 979ad340b..62a8e00e9 100644 --- a/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch +++ b/debian/patches/features/all/rt/0023-timekeeping-Split-xtime_lock.patch @@ -1,7 +1,7 @@ -From 2cf89017ea19acf83b659daab68c02f6d126f1b1 Mon Sep 17 00:00:00 2001 +From dcbd9b2b809e0e9fc6a9bf744b52141baea3a278 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Mar 2012 15:14:06 +0100 -Subject: [PATCH 023/279] timekeeping: Split xtime_lock +Subject: [PATCH 023/286] timekeeping: Split xtime_lock xtime_lock is going to be split apart in mainline, so we can shorten the seqcount protected regions and avoid updating seqcount in some diff --git a/debian/patches/features/all/rt/0024-intel_idle-Convert-i7300_idle_lock-to-raw-spinlock.patch b/debian/patches/features/all/rt/0024-intel_idle-Convert-i7300_idle_lock-to-raw-spinlock.patch index a9a82586d..349e1af8b 100644 --- a/debian/patches/features/all/rt/0024-intel_idle-Convert-i7300_idle_lock-to-raw-spinlock.patch +++ b/debian/patches/features/all/rt/0024-intel_idle-Convert-i7300_idle_lock-to-raw-spinlock.patch @@ -1,7 +1,7 @@ -From 78f32058480a16144423b6ccac67931986a89048 Mon Sep 17 00:00:00 2001 +From 6784bc6d38894911273cead58948d9411f3c9356 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 7 Dec 2011 12:48:42 +0100 -Subject: [PATCH 024/279] intel_idle: Convert i7300_idle_lock to raw spinlock +Subject: [PATCH 024/286] intel_idle: Convert i7300_idle_lock to raw spinlock 24 core Intel box's first exposure to 3.0.12-rt30-rc3 didn't go well. diff --git a/debian/patches/features/all/rt/0025-mm-memcg-shorten-preempt-disabled-section-around-eve.patch b/debian/patches/features/all/rt/0025-mm-memcg-shorten-preempt-disabled-section-around-eve.patch index 2343286a6..facb8ce41 100644 --- a/debian/patches/features/all/rt/0025-mm-memcg-shorten-preempt-disabled-section-around-eve.patch +++ b/debian/patches/features/all/rt/0025-mm-memcg-shorten-preempt-disabled-section-around-eve.patch @@ -1,7 +1,7 @@ -From 0f4e890306f3e3581caf96f429c02b80fc167b1d Mon Sep 17 00:00:00 2001 +From ade768511bd7e0672307abde5984ee8a2ea89d76 Mon Sep 17 00:00:00 2001 From: Johannes Weiner Date: Thu, 17 Nov 2011 07:49:25 +0100 -Subject: [PATCH 025/279] mm: memcg: shorten preempt-disabled section around +Subject: [PATCH 025/286] mm: memcg: shorten preempt-disabled section around event checks Only the ratelimit checks themselves have to run with preemption diff --git a/debian/patches/features/all/rt/0026-tracing-Account-for-preempt-off-in-preempt_schedule.patch b/debian/patches/features/all/rt/0026-tracing-Account-for-preempt-off-in-preempt_schedule.patch index 5b47cce4a..b4e5aa6b4 100644 --- a/debian/patches/features/all/rt/0026-tracing-Account-for-preempt-off-in-preempt_schedule.patch +++ b/debian/patches/features/all/rt/0026-tracing-Account-for-preempt-off-in-preempt_schedule.patch @@ -1,7 +1,7 @@ -From 1eddefb30f2e290550ee0a3798e8ef8f51d0136d Mon Sep 17 00:00:00 2001 +From f47213dc0d50d45f6f46af9c4debeb417b8bf84b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 29 Sep 2011 12:24:30 -0500 -Subject: [PATCH 026/279] tracing: Account for preempt off in +Subject: [PATCH 026/286] tracing: Account for preempt off in preempt_schedule() The preempt_schedule() uses the preempt_disable_notrace() version @@ -28,7 +28,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 9 insertions(+) diff --git a/kernel/sched.c b/kernel/sched.c -index 07a2a01..4a7ef27 100644 +index b14949d..3bcda08 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4712,7 +4712,16 @@ asmlinkage void __sched notrace preempt_schedule(void) diff --git a/debian/patches/features/all/rt/0027-signal-revert-ptrace-preempt-magic.patch.patch b/debian/patches/features/all/rt/0027-signal-revert-ptrace-preempt-magic.patch.patch index 7203a7adc..892a0e57c 100644 --- a/debian/patches/features/all/rt/0027-signal-revert-ptrace-preempt-magic.patch.patch +++ b/debian/patches/features/all/rt/0027-signal-revert-ptrace-preempt-magic.patch.patch @@ -1,7 +1,7 @@ -From 3f5b15afbee92a0b85e488a35c8783ea2e3ff7e4 Mon Sep 17 00:00:00 2001 +From fe0aaef4f2e26ea35d7c29e415fc205f198507fb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 21 Sep 2011 19:57:12 +0200 -Subject: [PATCH 027/279] signal-revert-ptrace-preempt-magic.patch +Subject: [PATCH 027/286] signal-revert-ptrace-preempt-magic.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0028-arm-Mark-pmu-interupt-IRQF_NO_THREAD.patch b/debian/patches/features/all/rt/0028-arm-Mark-pmu-interupt-IRQF_NO_THREAD.patch index 249eec056..369c40368 100644 --- a/debian/patches/features/all/rt/0028-arm-Mark-pmu-interupt-IRQF_NO_THREAD.patch +++ b/debian/patches/features/all/rt/0028-arm-Mark-pmu-interupt-IRQF_NO_THREAD.patch @@ -1,7 +1,7 @@ -From 712eee138a095e3fea5c79d62d6cbb3793ef8adf Mon Sep 17 00:00:00 2001 +From 4b35ecd62d6a803a900605bfb56981651a8b4c42 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 16 Mar 2011 14:45:31 +0100 -Subject: [PATCH 028/279] arm: Mark pmu interupt IRQF_NO_THREAD +Subject: [PATCH 028/286] arm: Mark pmu interupt IRQF_NO_THREAD PMU interrupt must not be threaded. Remove IRQF_DISABLED while at it as we run all handlers with interrupts disabled anyway. diff --git a/debian/patches/features/all/rt/0029-arm-Allow-forced-irq-threading.patch b/debian/patches/features/all/rt/0029-arm-Allow-forced-irq-threading.patch index b65da23f4..05a977677 100644 --- a/debian/patches/features/all/rt/0029-arm-Allow-forced-irq-threading.patch +++ b/debian/patches/features/all/rt/0029-arm-Allow-forced-irq-threading.patch @@ -1,7 +1,7 @@ -From ed12ac7e188ee795c5f6b6f1594fe4996751ef2b Mon Sep 17 00:00:00 2001 +From 5a1d0605b0e2ce2eb563586c6edd976d91ac7a6b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 13:15:20 +0200 -Subject: [PATCH 029/279] arm: Allow forced irq threading +Subject: [PATCH 029/286] arm: Allow forced irq threading All timer interrupts and the perf interrupt are marked NO_THREAD, so its safe to allow forced interrupt threading. diff --git a/debian/patches/features/all/rt/0030-preempt-rt-Convert-arm-boot_lock-to-raw.patch b/debian/patches/features/all/rt/0030-preempt-rt-Convert-arm-boot_lock-to-raw.patch index 9d45e0e3c..09fcfd9b1 100644 --- a/debian/patches/features/all/rt/0030-preempt-rt-Convert-arm-boot_lock-to-raw.patch +++ b/debian/patches/features/all/rt/0030-preempt-rt-Convert-arm-boot_lock-to-raw.patch @@ -1,7 +1,7 @@ -From bea227532d63bc4441ad8eedbd20e82d00091b8e Mon Sep 17 00:00:00 2001 +From 2723006308abc73891b6642994879501453293fc Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Mon, 19 Sep 2011 14:51:14 -0700 -Subject: [PATCH 030/279] preempt-rt: Convert arm boot_lock to raw +Subject: [PATCH 030/286] preempt-rt: Convert arm boot_lock to raw The arm boot_lock is used by the secondary processor startup code. The locking task is the idle thread, which has idle->sched_class == &idle_sched_class. diff --git a/debian/patches/features/all/rt/0031-sched-Create-schedule_preempt_disabled.patch b/debian/patches/features/all/rt/0031-sched-Create-schedule_preempt_disabled.patch index c474dfc30..3739282c7 100644 --- a/debian/patches/features/all/rt/0031-sched-Create-schedule_preempt_disabled.patch +++ b/debian/patches/features/all/rt/0031-sched-Create-schedule_preempt_disabled.patch @@ -1,7 +1,7 @@ -From d8e9ce22d847df143e08b456f77929718c59ec13 Mon Sep 17 00:00:00 2001 +From dcc689668b4cfd522a393048e5f0fce6d05efb23 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 12:09:35 +0100 -Subject: [PATCH 031/279] sched: Create schedule_preempt_disabled() +Subject: [PATCH 031/286] sched: Create schedule_preempt_disabled() Get rid of the ever repeating: @@ -28,7 +28,7 @@ index 1e86bb4..f618dc8 100644 struct nsproxy; diff --git a/kernel/sched.c b/kernel/sched.c -index 4a7ef27..197a00d 100644 +index 3bcda08..eeebee9 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4648,6 +4648,18 @@ asmlinkage void __sched schedule(void) diff --git a/debian/patches/features/all/rt/0032-sched-Use-schedule_preempt_disabled.patch b/debian/patches/features/all/rt/0032-sched-Use-schedule_preempt_disabled.patch index 57172f5a0..14bba1730 100644 --- a/debian/patches/features/all/rt/0032-sched-Use-schedule_preempt_disabled.patch +++ b/debian/patches/features/all/rt/0032-sched-Use-schedule_preempt_disabled.patch @@ -1,7 +1,7 @@ -From 5d05860f2131b7b4b3901fcc20e9b18f4ff5a087 Mon Sep 17 00:00:00 2001 +From d883ab6f81a856e2c5a9745102a821337260a67f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 12:33:18 +0100 -Subject: [PATCH 032/279] sched: Use schedule_preempt_disabled() +Subject: [PATCH 032/286] sched: Use schedule_preempt_disabled() Coccinelle based conversion. diff --git a/debian/patches/features/all/rt/0033-signals-Do-not-wakeup-self.patch b/debian/patches/features/all/rt/0033-signals-Do-not-wakeup-self.patch index 15f028953..35883d2b1 100644 --- a/debian/patches/features/all/rt/0033-signals-Do-not-wakeup-self.patch +++ b/debian/patches/features/all/rt/0033-signals-Do-not-wakeup-self.patch @@ -1,7 +1,7 @@ -From 2beb1d0c02845c7da8bdf7e8df986c7c12252cab Mon Sep 17 00:00:00 2001 +From 40519f47bf9ca2f03c0fe140a1bed23afe23a3c8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:44 -0500 -Subject: [PATCH 033/279] signals: Do not wakeup self +Subject: [PATCH 033/286] signals: Do not wakeup self Signals which are delivered by current to current can do without waking up current :) diff --git a/debian/patches/features/all/rt/0034-posix-timers-Prevent-broadcast-signals.patch b/debian/patches/features/all/rt/0034-posix-timers-Prevent-broadcast-signals.patch index 45f07f8ff..ce3dff4e8 100644 --- a/debian/patches/features/all/rt/0034-posix-timers-Prevent-broadcast-signals.patch +++ b/debian/patches/features/all/rt/0034-posix-timers-Prevent-broadcast-signals.patch @@ -1,7 +1,7 @@ -From 72277cac512e232902aedec80e60b6eb8e90636e Mon Sep 17 00:00:00 2001 +From d0136b810a400a4681f06d89ba3ad90f274130b0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:29:20 -0500 -Subject: [PATCH 034/279] posix-timers: Prevent broadcast signals +Subject: [PATCH 034/286] posix-timers: Prevent broadcast signals Posix timers should not send broadcast signals and kernel only signals. Prevent it. diff --git a/debian/patches/features/all/rt/0035-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/debian/patches/features/all/rt/0035-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch index 201cc795c..01e044552 100644 --- a/debian/patches/features/all/rt/0035-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch +++ b/debian/patches/features/all/rt/0035-signals-Allow-rt-tasks-to-cache-one-sigqueue-struct.patch @@ -1,7 +1,7 @@ -From ff56dc80a7cad2392e5622f653339692b57ab73d Mon Sep 17 00:00:00 2001 +From 3cddbe554d96c2e01d202dd0f286dbe65370813a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:56 -0500 -Subject: [PATCH 035/279] signals: Allow rt tasks to cache one sigqueue struct +Subject: [PATCH 035/286] signals: Allow rt tasks to cache one sigqueue struct To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -40,7 +40,7 @@ index a822300..a448900 100644 /* Test if 'sig' is valid signal. Use this instead of testing _NSIG directly */ static inline int valid_signal(unsigned long sig) diff --git a/kernel/exit.c b/kernel/exit.c -index 5a8a66e..9ed0883 100644 +index 234e152..ab9b6fa 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -141,7 +141,7 @@ static void __exit_signal(struct task_struct *tsk) diff --git a/debian/patches/features/all/rt/0036-signal-x86-Delay-calling-signals-in-atomic.patch b/debian/patches/features/all/rt/0036-signal-x86-Delay-calling-signals-in-atomic.patch index 157c9d737..0b9ef9737 100644 --- a/debian/patches/features/all/rt/0036-signal-x86-Delay-calling-signals-in-atomic.patch +++ b/debian/patches/features/all/rt/0036-signal-x86-Delay-calling-signals-in-atomic.patch @@ -1,7 +1,7 @@ -From 028391afadb85e44d3846484169ef24e07521934 Mon Sep 17 00:00:00 2001 +From 11909e67ea203322cb1cebfa3aeef814902264c6 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 10 Apr 2012 14:33:53 -0400 -Subject: [PATCH 036/279] signal/x86: Delay calling signals in atomic +Subject: [PATCH 036/286] signal/x86: Delay calling signals in atomic On x86_64 we must disable preemption before we enable interrupts for stack faults, int3 and debugging, because the current task is using diff --git a/debian/patches/features/all/rt/0037-generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch b/debian/patches/features/all/rt/0037-generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch index da455aa48..3405c1a54 100644 --- a/debian/patches/features/all/rt/0037-generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch +++ b/debian/patches/features/all/rt/0037-generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch @@ -1,7 +1,7 @@ -From ed09d3b2f6378c8d5e9e75bd1a0c78cd2953384b Mon Sep 17 00:00:00 2001 +From 89895ec13b2098a297301e8ccae2e17865ec3e83 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:30 -0500 -Subject: [PATCH 037/279] generic: Use raw local irq variant for generic +Subject: [PATCH 037/286] generic: Use raw local irq variant for generic cmpxchg No point in tracing those. diff --git a/debian/patches/features/all/rt/0038-drivers-random-Reduce-preempt-disabled-region.patch b/debian/patches/features/all/rt/0038-drivers-random-Reduce-preempt-disabled-region.patch index e094c262a..6f1ef3737 100644 --- a/debian/patches/features/all/rt/0038-drivers-random-Reduce-preempt-disabled-region.patch +++ b/debian/patches/features/all/rt/0038-drivers-random-Reduce-preempt-disabled-region.patch @@ -1,7 +1,7 @@ -From 426cb56599cae6bec3411bd2c56c864a6d39d9c0 Mon Sep 17 00:00:00 2001 +From 4c2524d3299522f05b6e84ba22440a8655511d51 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:30 -0500 -Subject: [PATCH 038/279] drivers: random: Reduce preempt disabled region +Subject: [PATCH 038/286] drivers: random: Reduce preempt disabled region No need to keep preemption disabled across the whole function. diff --git a/debian/patches/features/all/rt/0039-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch b/debian/patches/features/all/rt/0039-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch index 1f12c034c..ed7bd1029 100644 --- a/debian/patches/features/all/rt/0039-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch +++ b/debian/patches/features/all/rt/0039-ARM-AT91-PIT-Remove-irq-handler-when-clock-event-is-.patch @@ -1,7 +1,7 @@ -From ca3693aaeba8be58b2a5f9c47393fd8b5f00d3f2 Mon Sep 17 00:00:00 2001 +From d73eb63e3282bc787ce0d90bb1f3082f94598fb5 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Sat, 6 Mar 2010 17:47:10 +0100 -Subject: [PATCH 039/279] ARM: AT91: PIT: Remove irq handler when clock event +Subject: [PATCH 039/286] ARM: AT91: PIT: Remove irq handler when clock event is unused Setup and remove the interrupt handler in clock event mode selection. diff --git a/debian/patches/features/all/rt/0040-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch b/debian/patches/features/all/rt/0040-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch index 3a2fe2c0c..21110772c 100644 --- a/debian/patches/features/all/rt/0040-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch +++ b/debian/patches/features/all/rt/0040-clocksource-TCLIB-Allow-higher-clock-rates-for-clock.patch @@ -1,7 +1,7 @@ -From ed92fe0984334119d8efce97cc3c55b51f60190a Mon Sep 17 00:00:00 2001 +From c904a0658f1387172dbb53fd2051b287618a60dc Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Mon, 8 Mar 2010 18:57:04 +0100 -Subject: [PATCH 040/279] clocksource: TCLIB: Allow higher clock rates for +Subject: [PATCH 040/286] clocksource: TCLIB: Allow higher clock rates for clock events As default the TCLIB uses the 32KiHz base clock rate for clock events. diff --git a/debian/patches/features/all/rt/0041-drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch b/debian/patches/features/all/rt/0041-drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch index 36a56a414..2f743f8fe 100644 --- a/debian/patches/features/all/rt/0041-drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch +++ b/debian/patches/features/all/rt/0041-drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch @@ -1,7 +1,7 @@ -From 9a5b2e41cf3306821839666dfa435f88dfca9909 Mon Sep 17 00:00:00 2001 +From 66271f208773219686245607e4560979dfa87db8 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:18 -0500 -Subject: [PATCH 041/279] drivers/net: tulip_remove_one needs to call +Subject: [PATCH 041/286] drivers/net: tulip_remove_one needs to call pci_disable_device() Otherwise the device is not completely shut down. diff --git a/debian/patches/features/all/rt/0042-drivers-net-Use-disable_irq_nosync-in-8139too.patch b/debian/patches/features/all/rt/0042-drivers-net-Use-disable_irq_nosync-in-8139too.patch index 531d8b512..61e97ffb9 100644 --- a/debian/patches/features/all/rt/0042-drivers-net-Use-disable_irq_nosync-in-8139too.patch +++ b/debian/patches/features/all/rt/0042-drivers-net-Use-disable_irq_nosync-in-8139too.patch @@ -1,7 +1,7 @@ -From c2892cc91afa072a75278a345515a53dfea62f61 Mon Sep 17 00:00:00 2001 +From b07c7e5c8ffc566cf9f03b063072118efde1c49e Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:24 -0500 -Subject: [PATCH 042/279] drivers/net: Use disable_irq_nosync() in 8139too +Subject: [PATCH 042/286] drivers/net: Use disable_irq_nosync() in 8139too Use disable_irq_nosync() instead of disable_irq() as this might be called in atomic context with netpoll. diff --git a/debian/patches/features/all/rt/0043-drivers-net-ehea-Make-rx-irq-handler-non-threaded-IR.patch b/debian/patches/features/all/rt/0043-drivers-net-ehea-Make-rx-irq-handler-non-threaded-IR.patch index 7b52b458e..b8497f134 100644 --- a/debian/patches/features/all/rt/0043-drivers-net-ehea-Make-rx-irq-handler-non-threaded-IR.patch +++ b/debian/patches/features/all/rt/0043-drivers-net-ehea-Make-rx-irq-handler-non-threaded-IR.patch @@ -1,7 +1,7 @@ -From cebb99bfaff8cebe141c8599e010cd8da4bce13d Mon Sep 17 00:00:00 2001 +From 02e8e28201ab973a0115e73b6c4eda2418e49a58 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Tue, 18 May 2010 14:33:07 -0700 -Subject: [PATCH 043/279] drivers: net: ehea: Make rx irq handler non-threaded +Subject: [PATCH 043/286] drivers: net: ehea: Make rx irq handler non-threaded (IRQF_NO_THREAD) The underlying hardware is edge triggered but presented by XICS as level diff --git a/debian/patches/features/all/rt/0044-drivers-net-at91_ether-Make-mdio-protection-rt-safe.patch b/debian/patches/features/all/rt/0044-drivers-net-at91_ether-Make-mdio-protection-rt-safe.patch index f7ad71c11..4f126de90 100644 --- a/debian/patches/features/all/rt/0044-drivers-net-at91_ether-Make-mdio-protection-rt-safe.patch +++ b/debian/patches/features/all/rt/0044-drivers-net-at91_ether-Make-mdio-protection-rt-safe.patch @@ -1,7 +1,7 @@ -From 1b383b666220725d954764984deab644d13bda26 Mon Sep 17 00:00:00 2001 +From d20682a9feefd3db1a182cd3c330d16966731715 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 17 Nov 2009 12:02:43 +0100 -Subject: [PATCH 044/279] drivers: net: at91_ether: Make mdio protection -rt +Subject: [PATCH 044/286] drivers: net: at91_ether: Make mdio protection -rt safe Neither the phy interrupt nor the timer callback which updates the diff --git a/debian/patches/features/all/rt/0045-preempt-mark-legitimated-no-resched-sites.patch.patch b/debian/patches/features/all/rt/0045-preempt-mark-legitimated-no-resched-sites.patch.patch index 1aa1db63c..d32d30fdc 100644 --- a/debian/patches/features/all/rt/0045-preempt-mark-legitimated-no-resched-sites.patch.patch +++ b/debian/patches/features/all/rt/0045-preempt-mark-legitimated-no-resched-sites.patch.patch @@ -1,7 +1,7 @@ -From b40ff51450c1890b72940b7e5c1b457234ab3b5f Mon Sep 17 00:00:00 2001 +From 1b5e815c99c2a42b345716acfb764c1d77098b32 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 13:32:17 +0100 -Subject: [PATCH 045/279] preempt-mark-legitimated-no-resched-sites.patch +Subject: [PATCH 045/286] preempt-mark-legitimated-no-resched-sites.patch Signed-off-by: Thomas Gleixner --- @@ -67,7 +67,7 @@ index 58969b2..227b0f5 100644 #define preempt_enable() do { } while (0) diff --git a/kernel/sched.c b/kernel/sched.c -index 197a00d..f41adf5 100644 +index eeebee9..1e0a583 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4607,7 +4607,7 @@ need_resched: diff --git a/debian/patches/features/all/rt/0046-mm-Prepare-decoupling-the-page-fault-disabling-logic.patch b/debian/patches/features/all/rt/0046-mm-Prepare-decoupling-the-page-fault-disabling-logic.patch index 9febb90d6..c00142a9b 100644 --- a/debian/patches/features/all/rt/0046-mm-Prepare-decoupling-the-page-fault-disabling-logic.patch +++ b/debian/patches/features/all/rt/0046-mm-Prepare-decoupling-the-page-fault-disabling-logic.patch @@ -1,7 +1,7 @@ -From bce5105198cf65f128469f7c91da131e0a871dfa Mon Sep 17 00:00:00 2001 +From 1ec79aa3c9ff035dd56a5bc604cb43dd85b72c1e Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:37 -0500 -Subject: [PATCH 046/279] mm: Prepare decoupling the page fault disabling +Subject: [PATCH 046/286] mm: Prepare decoupling the page fault disabling logic Add a pagefault_disabled variable to task_struct to allow decoupling diff --git a/debian/patches/features/all/rt/0047-mm-Fixup-all-fault-handlers-to-check-current-pagefau.patch b/debian/patches/features/all/rt/0047-mm-Fixup-all-fault-handlers-to-check-current-pagefau.patch index b83586f44..5dfaae191 100644 --- a/debian/patches/features/all/rt/0047-mm-Fixup-all-fault-handlers-to-check-current-pagefau.patch +++ b/debian/patches/features/all/rt/0047-mm-Fixup-all-fault-handlers-to-check-current-pagefau.patch @@ -1,7 +1,7 @@ -From e54bf6a8b851fbb9ed585194be95637df9d951ee Mon Sep 17 00:00:00 2001 +From 68e06b30cec6f80015ee4ddb93defe7df53d4210 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 17 Mar 2011 11:32:28 +0100 -Subject: [PATCH 047/279] mm: Fixup all fault handlers to check +Subject: [PATCH 047/286] mm: Fixup all fault handlers to check current->pagefault_disable Necessary for decoupling pagefault disable from preempt count. diff --git a/debian/patches/features/all/rt/0048-mm-pagefault_disabled.patch b/debian/patches/features/all/rt/0048-mm-pagefault_disabled.patch index d69e6d639..12eba7293 100644 --- a/debian/patches/features/all/rt/0048-mm-pagefault_disabled.patch +++ b/debian/patches/features/all/rt/0048-mm-pagefault_disabled.patch @@ -1,7 +1,7 @@ -From 66b72c87271032bbe96a0db94614f644e05c6fc8 Mon Sep 17 00:00:00 2001 +From a92d7189f626c334b517a722938facf0bfb50e0c Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 11 Aug 2011 15:31:31 +0200 -Subject: [PATCH 048/279] mm: pagefault_disabled() +Subject: [PATCH 048/286] mm: pagefault_disabled() Wrap the test for pagefault_disabled() into a helper, this allows us to remove the need for current->pagefault_disabled on !-rt kernels. diff --git a/debian/patches/features/all/rt/0049-mm-raw_pagefault_disable.patch b/debian/patches/features/all/rt/0049-mm-raw_pagefault_disable.patch index 3d898f7fa..4c284a954 100644 --- a/debian/patches/features/all/rt/0049-mm-raw_pagefault_disable.patch +++ b/debian/patches/features/all/rt/0049-mm-raw_pagefault_disable.patch @@ -1,7 +1,7 @@ -From 118aa2287145b3683e24a79480b66a6dfe342964 Mon Sep 17 00:00:00 2001 +From d0290f1e09870615cb671a87ca70dabef120c9bf Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 5 Aug 2011 17:16:58 +0200 -Subject: [PATCH 049/279] mm: raw_pagefault_disable +Subject: [PATCH 049/286] mm: raw_pagefault_disable Adding migrate_disable() to pagefault_disable() to preserve the per-cpu thing for kmap_atomic might not have been the best of choices. diff --git a/debian/patches/features/all/rt/0050-filemap-fix-up.patch.patch b/debian/patches/features/all/rt/0050-filemap-fix-up.patch.patch index 44f7674c6..290ef4159 100644 --- a/debian/patches/features/all/rt/0050-filemap-fix-up.patch.patch +++ b/debian/patches/features/all/rt/0050-filemap-fix-up.patch.patch @@ -1,7 +1,7 @@ -From a7aa74f9e0ddd4d7e55c7ffe214d598a9a1d34a1 Mon Sep 17 00:00:00 2001 +From 2265d9d45a880c052794871572996f5c0f2361fb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 18:56:24 +0200 -Subject: [PATCH 050/279] filemap-fix-up.patch +Subject: [PATCH 050/286] filemap-fix-up.patch Signed-off-by: Thomas Gleixner Wrecked-off-by: Peter Zijlstra diff --git a/debian/patches/features/all/rt/0051-mm-Remove-preempt-count-from-pagefault-disable-enabl.patch b/debian/patches/features/all/rt/0051-mm-Remove-preempt-count-from-pagefault-disable-enabl.patch index 4923e2842..7840c6a52 100644 --- a/debian/patches/features/all/rt/0051-mm-Remove-preempt-count-from-pagefault-disable-enabl.patch +++ b/debian/patches/features/all/rt/0051-mm-Remove-preempt-count-from-pagefault-disable-enabl.patch @@ -1,7 +1,7 @@ -From 77127521edc92e8e6a613b071c2cb0e2f1592041 Mon Sep 17 00:00:00 2001 +From 4b0b6ad4f2eca462d396b905a8fdf20453219773 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jul 2009 22:06:27 +0200 -Subject: [PATCH 051/279] mm: Remove preempt count from pagefault +Subject: [PATCH 051/286] mm: Remove preempt count from pagefault disable/enable Now that all users are cleaned up, we can remove the preemption count. diff --git a/debian/patches/features/all/rt/0052-x86-highmem-Replace-BUG_ON-by-WARN_ON.patch b/debian/patches/features/all/rt/0052-x86-highmem-Replace-BUG_ON-by-WARN_ON.patch index 3ea0742cd..3060c692d 100644 --- a/debian/patches/features/all/rt/0052-x86-highmem-Replace-BUG_ON-by-WARN_ON.patch +++ b/debian/patches/features/all/rt/0052-x86-highmem-Replace-BUG_ON-by-WARN_ON.patch @@ -1,7 +1,7 @@ -From d659381cf8e7cf0a7f24a3fff728608deec900a7 Mon Sep 17 00:00:00 2001 +From cddcbbfc0bde6f41d8abbe0fe208ffc489f2ff2f Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:25 -0500 -Subject: [PATCH 052/279] x86: highmem: Replace BUG_ON by WARN_ON +Subject: [PATCH 052/286] x86: highmem: Replace BUG_ON by WARN_ON The machine might survive that problem and be at least in a state which allows us to get more information about the problem. diff --git a/debian/patches/features/all/rt/0053-suspend-Prevent-might-sleep-splats.patch b/debian/patches/features/all/rt/0053-suspend-Prevent-might-sleep-splats.patch index 5dcc6d125..9d3d47323 100644 --- a/debian/patches/features/all/rt/0053-suspend-Prevent-might-sleep-splats.patch +++ b/debian/patches/features/all/rt/0053-suspend-Prevent-might-sleep-splats.patch @@ -1,7 +1,7 @@ -From 3ba8c22d27c718de6a81228964b13b86b42dbe08 Mon Sep 17 00:00:00 2001 +From 8ef304e20b6095f3776d047217a1937887c352e9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 15 Jul 2010 10:29:00 +0200 -Subject: [PATCH 053/279] suspend: Prevent might sleep splats +Subject: [PATCH 053/286] suspend: Prevent might sleep splats timekeeping suspend/resume calls read_persistant_clock() which takes rtc_lock. That results in might sleep warnings because at that point diff --git a/debian/patches/features/all/rt/0054-OF-Fixup-resursive-locking-code-paths.patch b/debian/patches/features/all/rt/0054-OF-Fixup-resursive-locking-code-paths.patch index c29c7237e..cf4aeeaf9 100644 --- a/debian/patches/features/all/rt/0054-OF-Fixup-resursive-locking-code-paths.patch +++ b/debian/patches/features/all/rt/0054-OF-Fixup-resursive-locking-code-paths.patch @@ -1,7 +1,7 @@ -From 6edb6e5300ccde670540aed74a6395a309ab435c Mon Sep 17 00:00:00 2001 +From 108ce53a48726282c116d410ab87a094fe4f83de Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 13 Aug 2009 09:04:10 +0200 -Subject: [PATCH 054/279] OF: Fixup resursive locking code paths +Subject: [PATCH 054/286] OF: Fixup resursive locking code paths There is no real reason to use a rwlock for devtree_lock. It even could be a mutex, but unfortunately it's locked from cpu hotplug diff --git a/debian/patches/features/all/rt/0055-of-convert-devtree-lock.patch.patch b/debian/patches/features/all/rt/0055-of-convert-devtree-lock.patch.patch index 95de52fa9..4700b663f 100644 --- a/debian/patches/features/all/rt/0055-of-convert-devtree-lock.patch.patch +++ b/debian/patches/features/all/rt/0055-of-convert-devtree-lock.patch.patch @@ -1,7 +1,7 @@ -From d81c49f5eed6f04be41b463f9421edd6ff4102b3 Mon Sep 17 00:00:00 2001 +From 74aa671fe70923dc1141a21349069b6b7c928dd5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 14:35:34 +0100 -Subject: [PATCH 055/279] of-convert-devtree-lock.patch +Subject: [PATCH 055/286] of-convert-devtree-lock.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0056-list-add-list-last-entry.patch.patch b/debian/patches/features/all/rt/0056-list-add-list-last-entry.patch.patch index 9ef53cb05..179e1b88e 100644 --- a/debian/patches/features/all/rt/0056-list-add-list-last-entry.patch.patch +++ b/debian/patches/features/all/rt/0056-list-add-list-last-entry.patch.patch @@ -1,7 +1,7 @@ -From 99fe72ffca7514e04159d17860aa5dced932ff22 Mon Sep 17 00:00:00 2001 +From 82a984971cee3211e7717b60872ae3316974d03d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 21 Jun 2011 11:22:36 +0200 -Subject: [PATCH 056/279] list-add-list-last-entry.patch +Subject: [PATCH 056/286] list-add-list-last-entry.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0057-mm-page-alloc-use-list-last-entry.patch.patch b/debian/patches/features/all/rt/0057-mm-page-alloc-use-list-last-entry.patch.patch index 4737fe583..0be859072 100644 --- a/debian/patches/features/all/rt/0057-mm-page-alloc-use-list-last-entry.patch.patch +++ b/debian/patches/features/all/rt/0057-mm-page-alloc-use-list-last-entry.patch.patch @@ -1,7 +1,7 @@ -From 8172adb329510cc64a0629213ce444c324f10df1 Mon Sep 17 00:00:00 2001 +From eb106e405f48e43adbbed72b69ab4048475d4ebb Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 21 Jun 2011 11:24:35 +0200 -Subject: [PATCH 057/279] mm-page-alloc-use-list-last-entry.patch +Subject: [PATCH 057/286] mm-page-alloc-use-list-last-entry.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 6e51bf0..9a27890 100644 +index a88dded..2536d02 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -625,7 +625,7 @@ static void free_pcppages_bulk(struct zone *zone, int count, diff --git a/debian/patches/features/all/rt/0058-mm-slab-move-debug-out.patch.patch b/debian/patches/features/all/rt/0058-mm-slab-move-debug-out.patch.patch index 7cb531e2a..a98b3f5f0 100644 --- a/debian/patches/features/all/rt/0058-mm-slab-move-debug-out.patch.patch +++ b/debian/patches/features/all/rt/0058-mm-slab-move-debug-out.patch.patch @@ -1,7 +1,7 @@ -From 5e6925996a8a714aadb16cf2abdfe881551129ec Mon Sep 17 00:00:00 2001 +From c151284ae2331433842b97fa825b2fbaf5b68401 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 10:42:04 +0200 -Subject: [PATCH 058/279] mm-slab-move-debug-out.patch +Subject: [PATCH 058/286] mm-slab-move-debug-out.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0059-rwsem-inlcude-fix.patch.patch b/debian/patches/features/all/rt/0059-rwsem-inlcude-fix.patch.patch index ebeb3c934..d38f3d810 100644 --- a/debian/patches/features/all/rt/0059-rwsem-inlcude-fix.patch.patch +++ b/debian/patches/features/all/rt/0059-rwsem-inlcude-fix.patch.patch @@ -1,7 +1,7 @@ -From 5b5a36631431504a9dbffad0943b7a38e89ad31c Mon Sep 17 00:00:00 2001 +From e5622a6bf5740b140642226e9542511b54470ee6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 15 Jul 2011 21:24:27 +0200 -Subject: [PATCH 059/279] rwsem-inlcude-fix.patch +Subject: [PATCH 059/286] rwsem-inlcude-fix.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0060-sysctl-include-fix.patch.patch b/debian/patches/features/all/rt/0060-sysctl-include-fix.patch.patch index 2ba63bd3d..a963865c6 100644 --- a/debian/patches/features/all/rt/0060-sysctl-include-fix.patch.patch +++ b/debian/patches/features/all/rt/0060-sysctl-include-fix.patch.patch @@ -1,7 +1,7 @@ -From bd5b89bdb06c1f8c18b41488d290a81e4886b2fa Mon Sep 17 00:00:00 2001 +From 6af3e633379913d3d01ded7e72957bd3f0638946 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 10:52:34 +0100 -Subject: [PATCH 060/279] sysctl-include-fix.patch +Subject: [PATCH 060/286] sysctl-include-fix.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0061-net-flip-lock-dep-thingy.patch.patch b/debian/patches/features/all/rt/0061-net-flip-lock-dep-thingy.patch.patch index 00ae2f0e3..c5037c568 100644 --- a/debian/patches/features/all/rt/0061-net-flip-lock-dep-thingy.patch.patch +++ b/debian/patches/features/all/rt/0061-net-flip-lock-dep-thingy.patch.patch @@ -1,7 +1,7 @@ -From 53464fe98e39597c3d0ba2e91e8cdfeb71abbf76 Mon Sep 17 00:00:00 2001 +From 975b9b3c914f21f596bc9f41e59f4a402c856e73 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 10:59:58 +0200 -Subject: [PATCH 061/279] net-flip-lock-dep-thingy.patch +Subject: [PATCH 061/286] net-flip-lock-dep-thingy.patch ======================================================= [ INFO: possible circular locking dependency detected ] @@ -93,10 +93,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/net/core/sock.c b/net/core/sock.c -index 018fd41..7b6161d 100644 +index 1e8a882..6190c9b 100644 --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -2035,12 +2035,11 @@ void lock_sock_nested(struct sock *sk, int subclass) +@@ -2036,12 +2036,11 @@ void lock_sock_nested(struct sock *sk, int subclass) if (sk->sk_lock.owned) __lock_sock(sk); sk->sk_lock.owned = 1; diff --git a/debian/patches/features/all/rt/0062-softirq-thread-do-softirq.patch.patch b/debian/patches/features/all/rt/0062-softirq-thread-do-softirq.patch.patch index d326c81b2..a22f6b446 100644 --- a/debian/patches/features/all/rt/0062-softirq-thread-do-softirq.patch.patch +++ b/debian/patches/features/all/rt/0062-softirq-thread-do-softirq.patch.patch @@ -1,7 +1,7 @@ -From 6bf82fb7b377c475551b8bfc6898a7a0822cedb9 Mon Sep 17 00:00:00 2001 +From 9790e4f2790a8c12ab89984956760850c8df7597 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 15:44:15 +0200 -Subject: [PATCH 062/279] softirq-thread-do-softirq.patch +Subject: [PATCH 062/286] softirq-thread-do-softirq.patch Signed-off-by: Thomas Gleixner --- @@ -23,10 +23,10 @@ index a64b00e..21b94de 100644 extern void softirq_init(void); static inline void __raise_softirq_irqoff(unsigned int nr) diff --git a/net/core/dev.c b/net/core/dev.c -index 832ba6d..b707c2a 100644 +index abe1147..7d52b8a 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3029,7 +3029,7 @@ int netif_rx_ni(struct sk_buff *skb) +@@ -3031,7 +3031,7 @@ int netif_rx_ni(struct sk_buff *skb) preempt_disable(); err = netif_rx(skb); if (local_softirq_pending()) diff --git a/debian/patches/features/all/rt/0063-softirq-split-out-code.patch.patch b/debian/patches/features/all/rt/0063-softirq-split-out-code.patch.patch index 33ec78c11..0a5f7282e 100644 --- a/debian/patches/features/all/rt/0063-softirq-split-out-code.patch.patch +++ b/debian/patches/features/all/rt/0063-softirq-split-out-code.patch.patch @@ -1,7 +1,7 @@ -From d4da817eb3f5d9348d1b722b18a4f7c58618c951 Mon Sep 17 00:00:00 2001 +From 4c2c4a51a81bfbbbad78d988adf2e508d57d3a6f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 15:46:49 +0200 -Subject: [PATCH 063/279] softirq-split-out-code.patch +Subject: [PATCH 063/286] softirq-split-out-code.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0064-x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch b/debian/patches/features/all/rt/0064-x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch index 4aa571313..9453b35b7 100644 --- a/debian/patches/features/all/rt/0064-x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch +++ b/debian/patches/features/all/rt/0064-x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch @@ -1,7 +1,7 @@ -From 8d8c4b715f80dfd3139e7a0ae91bf26759ad0679 Mon Sep 17 00:00:00 2001 +From 241de4bcbaf08b4baf2aa9443d08c1fb2ad38c01 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:27 -0500 -Subject: [PATCH 064/279] x86: Do not unmask io_apic when interrupt is in +Subject: [PATCH 064/286] x86: Do not unmask io_apic when interrupt is in progress With threaded interrupts we might see an interrupt in progress on diff --git a/debian/patches/features/all/rt/0065-x86-32-fix-signal-crap.patch.patch b/debian/patches/features/all/rt/0065-x86-32-fix-signal-crap.patch.patch index 1f6e310d6..58871dac0 100644 --- a/debian/patches/features/all/rt/0065-x86-32-fix-signal-crap.patch.patch +++ b/debian/patches/features/all/rt/0065-x86-32-fix-signal-crap.patch.patch @@ -1,7 +1,7 @@ -From 0ed203123dfd3bfecf6f0143d0c94309ec7e5f2c Mon Sep 17 00:00:00 2001 +From 3ed87e07f7cd487e2783d64868aa5288987ba5ec Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 15:59:38 +0200 -Subject: [PATCH 065/279] x86-32-fix-signal-crap.patch +Subject: [PATCH 065/286] x86-32-fix-signal-crap.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0066-x86-Do-not-disable-preemption-in-int3-on-32bit.patch b/debian/patches/features/all/rt/0066-x86-Do-not-disable-preemption-in-int3-on-32bit.patch index d8ea6a35e..1dc3bf53c 100644 --- a/debian/patches/features/all/rt/0066-x86-Do-not-disable-preemption-in-int3-on-32bit.patch +++ b/debian/patches/features/all/rt/0066-x86-Do-not-disable-preemption-in-int3-on-32bit.patch @@ -1,7 +1,7 @@ -From cb01474fb7d7beee50f3f738cb6b9f543dec0693 Mon Sep 17 00:00:00 2001 +From 3e6539eba827623538abcc1f9c81a243517b0a19 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 10 Apr 2012 14:33:57 -0400 -Subject: [PATCH 066/279] x86: Do not disable preemption in int3 on 32bit +Subject: [PATCH 066/286] x86: Do not disable preemption in int3 on 32bit Preemption must be disabled before enabling interrupts in do_trap on x86_64 because the stack in use for int3 and debug is a per CPU diff --git a/debian/patches/features/all/rt/0067-rcu-Reduce-lock-section.patch b/debian/patches/features/all/rt/0067-rcu-Reduce-lock-section.patch index 94b9cf12d..ba87b50a6 100644 --- a/debian/patches/features/all/rt/0067-rcu-Reduce-lock-section.patch +++ b/debian/patches/features/all/rt/0067-rcu-Reduce-lock-section.patch @@ -1,7 +1,7 @@ -From 00bd14b1d4a83a644e655492cea4ef67dfac7841 Mon Sep 17 00:00:00 2001 +From 3ab1275c2351556c9db507a4f9a0b60746eae84b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jun 2011 22:23:02 +0200 -Subject: [PATCH 067/279] rcu: Reduce lock section +Subject: [PATCH 067/286] rcu: Reduce lock section So the waitqueue wakeup is outside the raw locked section. diff --git a/debian/patches/features/all/rt/0068-locking-various-init-fixes.patch.patch b/debian/patches/features/all/rt/0068-locking-various-init-fixes.patch.patch index 243772c2d..0bef04027 100644 --- a/debian/patches/features/all/rt/0068-locking-various-init-fixes.patch.patch +++ b/debian/patches/features/all/rt/0068-locking-various-init-fixes.patch.patch @@ -1,7 +1,7 @@ -From 5b87eb4cbf67eb1574cc627959e90ad834c273e2 Mon Sep 17 00:00:00 2001 +From 73c3b96b76b6538ba15be299424e84ee6d047287 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:25:03 +0200 -Subject: [PATCH 068/279] locking-various-init-fixes.patch +Subject: [PATCH 068/286] locking-various-init-fixes.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0069-wait-Provide-__wake_up_all_locked.patch b/debian/patches/features/all/rt/0069-wait-Provide-__wake_up_all_locked.patch index bba32ec63..c10030b22 100644 --- a/debian/patches/features/all/rt/0069-wait-Provide-__wake_up_all_locked.patch +++ b/debian/patches/features/all/rt/0069-wait-Provide-__wake_up_all_locked.patch @@ -1,7 +1,7 @@ -From b0885be6a7391a7612db2356d7fc026d839696cc Mon Sep 17 00:00:00 2001 +From 78148e74449a8577a5c715a6db716712e41620f1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Dec 2011 00:04:00 +0100 -Subject: [PATCH 069/279] wait: Provide __wake_up_all_locked +Subject: [PATCH 069/286] wait: Provide __wake_up_all_locked For code which protects the waitqueue itself with another lock it makes no sense to acquire the waitqueue lock for wakeup all. Provide @@ -38,7 +38,7 @@ index 3efc9f3..1e904b8 100644 #define wake_up_interruptible(x) __wake_up(x, TASK_INTERRUPTIBLE, 1, NULL) #define wake_up_interruptible_nr(x, nr) __wake_up(x, TASK_INTERRUPTIBLE, nr, NULL) diff --git a/kernel/sched.c b/kernel/sched.c -index f41adf5..0aca7d2 100644 +index 1e0a583..d24f681 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4829,9 +4829,9 @@ EXPORT_SYMBOL(__wake_up); diff --git a/debian/patches/features/all/rt/0070-pci-Use-__wake_up_all_locked-pci_unblock_user_cfg_ac.patch b/debian/patches/features/all/rt/0070-pci-Use-__wake_up_all_locked-pci_unblock_user_cfg_ac.patch index 5d9bada9b..d1f2cf000 100644 --- a/debian/patches/features/all/rt/0070-pci-Use-__wake_up_all_locked-pci_unblock_user_cfg_ac.patch +++ b/debian/patches/features/all/rt/0070-pci-Use-__wake_up_all_locked-pci_unblock_user_cfg_ac.patch @@ -1,7 +1,7 @@ -From b62f3b10fc55cc3a7cefbe327c5c92cc9b72fe4e Mon Sep 17 00:00:00 2001 +From 11de9bd7c22e7d7fb712dc7d32831a9f65a18670 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Dec 2011 00:07:16 +0100 -Subject: [PATCH 070/279] pci: Use __wake_up_all_locked +Subject: [PATCH 070/286] pci: Use __wake_up_all_locked pci_unblock_user_cfg_access() The waitqueue is protected by the pci_lock, so we can just avoid to diff --git a/debian/patches/features/all/rt/0071-latency-hist.patch.patch b/debian/patches/features/all/rt/0071-latency-hist.patch.patch index 811472ed1..09a42bd9a 100644 --- a/debian/patches/features/all/rt/0071-latency-hist.patch.patch +++ b/debian/patches/features/all/rt/0071-latency-hist.patch.patch @@ -1,7 +1,7 @@ -From e2e4923b0683b2aca80a314727786122a6085bdc Mon Sep 17 00:00:00 2001 +From 03659d63fac2fa19dfa89a23ecbb136d3c901980 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Tue, 19 Jul 2011 14:03:41 +0100 -Subject: [PATCH 071/279] latency-hist.patch +Subject: [PATCH 071/286] latency-hist.patch This patch provides a recording mechanism to store data of potential sources of system latencies. The recordings separately determine the diff --git a/debian/patches/features/all/rt/0072-hwlatdetect.patch.patch b/debian/patches/features/all/rt/0072-hwlatdetect.patch.patch index dcb8a36d1..df7f43e26 100644 --- a/debian/patches/features/all/rt/0072-hwlatdetect.patch.patch +++ b/debian/patches/features/all/rt/0072-hwlatdetect.patch.patch @@ -1,7 +1,7 @@ -From 2c9b68137c29dc1cc749ecaf73b0b50a78a3118a Mon Sep 17 00:00:00 2001 +From 9026de0ba62dae1d34e3e4cd0cc5d6e95973ed0b Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Tue, 19 Jul 2011 13:53:12 +0100 -Subject: [PATCH 072/279] hwlatdetect.patch +Subject: [PATCH 072/286] hwlatdetect.patch Jon Masters developed this wonderful SMI detector. For details please consult Documentation/hwlat_detector.txt. It could be ported to Linux diff --git a/debian/patches/features/all/rt/0073-localversion.patch.patch b/debian/patches/features/all/rt/0073-localversion.patch.patch index 7661253f5..93e539fcd 100644 --- a/debian/patches/features/all/rt/0073-localversion.patch.patch +++ b/debian/patches/features/all/rt/0073-localversion.patch.patch @@ -1,7 +1,7 @@ -From 8970b43883e5cdce9bd6f2360b5d8dcfdcf7d837 Mon Sep 17 00:00:00 2001 +From 4790ce838e14900271554c219ea51d9d46f7accc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 20:25:16 +0200 -Subject: [PATCH 073/279] localversion.patch +Subject: [PATCH 073/286] localversion.patch Signed-off-by: Thomas Gleixner Signed-off-by: Peter Zijlstra diff --git a/debian/patches/features/all/rt/0074-early-printk-consolidate.patch.patch b/debian/patches/features/all/rt/0074-early-printk-consolidate.patch.patch index 3ba3387ad..ba693c298 100644 --- a/debian/patches/features/all/rt/0074-early-printk-consolidate.patch.patch +++ b/debian/patches/features/all/rt/0074-early-printk-consolidate.patch.patch @@ -1,7 +1,7 @@ -From 09e6b68fd3582684451160581019b7f48a533fde Mon Sep 17 00:00:00 2001 +From 2a1a038d30068934597aa5d2a27286cb7f06e92b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 23 Jul 2011 11:04:08 +0200 -Subject: [PATCH 074/279] early-printk-consolidate.patch +Subject: [PATCH 074/286] early-printk-consolidate.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0075-printk-kill.patch.patch b/debian/patches/features/all/rt/0075-printk-kill.patch.patch index 1f7cab3e7..ba9b93d28 100644 --- a/debian/patches/features/all/rt/0075-printk-kill.patch.patch +++ b/debian/patches/features/all/rt/0075-printk-kill.patch.patch @@ -1,7 +1,7 @@ -From deb6f0b43549dd681de87ce5d6a1fdfaf47d5704 Mon Sep 17 00:00:00 2001 +From 5b6db9f3430ee2a4d083a231b9877bab4e41adbc Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 22 Jul 2011 17:58:40 +0200 -Subject: [PATCH 075/279] printk-kill.patch +Subject: [PATCH 075/286] printk-kill.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0076-printk-force_early_printk-boot-param-to-help-with-de.patch b/debian/patches/features/all/rt/0076-printk-force_early_printk-boot-param-to-help-with-de.patch index aadba6f17..12c6efc44 100644 --- a/debian/patches/features/all/rt/0076-printk-force_early_printk-boot-param-to-help-with-de.patch +++ b/debian/patches/features/all/rt/0076-printk-force_early_printk-boot-param-to-help-with-de.patch @@ -1,7 +1,7 @@ -From f7bbbb4af64ce540efc723144c728090af29394b Mon Sep 17 00:00:00 2001 +From b96c2c307b7e328e058fb5cddcea6e82a124ec34 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:29:33 +0200 -Subject: [PATCH 076/279] printk: 'force_early_printk' boot param to help with +Subject: [PATCH 076/286] printk: 'force_early_printk' boot param to help with debugging Gives me an option to screw printk and actually see what the machine diff --git a/debian/patches/features/all/rt/0077-rt-preempt-base-config.patch.patch b/debian/patches/features/all/rt/0077-rt-preempt-base-config.patch.patch index 9e9e36764..ba4fcdbcf 100644 --- a/debian/patches/features/all/rt/0077-rt-preempt-base-config.patch.patch +++ b/debian/patches/features/all/rt/0077-rt-preempt-base-config.patch.patch @@ -1,7 +1,7 @@ -From 7049885b8904594cb115a89dd211ae20a2baa0be Mon Sep 17 00:00:00 2001 +From 96332dafb7919bf71282f0402e8caedee7f92cb3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 12:39:57 +0200 -Subject: [PATCH 077/279] rt-preempt-base-config.patch +Subject: [PATCH 077/286] rt-preempt-base-config.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0078-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch b/debian/patches/features/all/rt/0078-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch index 69f8e36a8..48dba1458 100644 --- a/debian/patches/features/all/rt/0078-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch +++ b/debian/patches/features/all/rt/0078-bug-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch @@ -1,7 +1,7 @@ -From 503d40d836ae3b9bebe67bca2c0ee9392dc42be1 Mon Sep 17 00:00:00 2001 +From 97296aef02aa62ee1915c91408ae4525e42b1354 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 078/279] bug: BUG_ON/WARN_ON variants dependend on RT/!RT +Subject: [PATCH 078/286] bug: BUG_ON/WARN_ON variants dependend on RT/!RT Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0079-rt-local_irq_-variants-depending-on-RT-RT.patch b/debian/patches/features/all/rt/0079-rt-local_irq_-variants-depending-on-RT-RT.patch index b13251b15..6c60a8225 100644 --- a/debian/patches/features/all/rt/0079-rt-local_irq_-variants-depending-on-RT-RT.patch +++ b/debian/patches/features/all/rt/0079-rt-local_irq_-variants-depending-on-RT-RT.patch @@ -1,7 +1,7 @@ -From e56c62bef773d984a0163489d3799a1dffff22cb Mon Sep 17 00:00:00 2001 +From 85cdaa29b9f3f02be9b8eaa62a910062b50b521b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 22:34:14 +0200 -Subject: [PATCH 079/279] rt: local_irq_* variants depending on RT/!RT +Subject: [PATCH 079/286] rt: local_irq_* variants depending on RT/!RT Add local_irq_*_(no)rt variant which are mainly used to break interrupt disabled sections on PREEMPT_RT or to explicitely disable diff --git a/debian/patches/features/all/rt/0080-preempt-Provide-preempt_-_-no-rt-variants.patch b/debian/patches/features/all/rt/0080-preempt-Provide-preempt_-_-no-rt-variants.patch index 1d87484b3..f9c73401d 100644 --- a/debian/patches/features/all/rt/0080-preempt-Provide-preempt_-_-no-rt-variants.patch +++ b/debian/patches/features/all/rt/0080-preempt-Provide-preempt_-_-no-rt-variants.patch @@ -1,7 +1,7 @@ -From 804e6b7724f5828c6830ec4e1180127096e010b3 Mon Sep 17 00:00:00 2001 +From 99b9739452b533493b9e74b4e04e13ed5bebf691 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jul 2009 12:38:56 +0200 -Subject: [PATCH 080/279] preempt: Provide preempt_*_(no)rt variants +Subject: [PATCH 080/286] preempt: Provide preempt_*_(no)rt variants RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. diff --git a/debian/patches/features/all/rt/0081-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch b/debian/patches/features/all/rt/0081-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch index 82df028bd..dbaafc5aa 100644 --- a/debian/patches/features/all/rt/0081-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch +++ b/debian/patches/features/all/rt/0081-ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch @@ -1,7 +1,7 @@ -From b76299dae5b121ab493048dedb4b56e554885474 Mon Sep 17 00:00:00 2001 +From 73cfb2f544d5730750373a4d0d0de1193b434ab0 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:44:29 -0500 -Subject: [PATCH 081/279] ata: Do not disable interrupts in ide code for +Subject: [PATCH 081/286] ata: Do not disable interrupts in ide code for preempt-rt Use the local_irq_*_nort variants. diff --git a/debian/patches/features/all/rt/0082-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch b/debian/patches/features/all/rt/0082-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch index ff15e807e..96f5bea1d 100644 --- a/debian/patches/features/all/rt/0082-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch +++ b/debian/patches/features/all/rt/0082-ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch @@ -1,7 +1,7 @@ -From 9aeaa864962e79ffd6140503d8cc578f9688751c Mon Sep 17 00:00:00 2001 +From 8a6885fc1354ea7da030543725fbcf57a6b7dbd2 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 082/279] ide: Do not disable interrupts for PREEMPT-RT +Subject: [PATCH 082/286] ide: Do not disable interrupts for PREEMPT-RT Use the local_irq_*_nort variants. diff --git a/debian/patches/features/all/rt/0083-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch b/debian/patches/features/all/rt/0083-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch index 17388ebad..6ac290f46 100644 --- a/debian/patches/features/all/rt/0083-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch +++ b/debian/patches/features/all/rt/0083-infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch @@ -1,7 +1,7 @@ -From adfba66092ecef070f0a6053428058c2acc92052 Mon Sep 17 00:00:00 2001 +From f9c228f53f0a201f7d0e46bf252786c01cd8224f Mon Sep 17 00:00:00 2001 From: Sven-Thorsten Dietrich Date: Fri, 3 Jul 2009 08:30:35 -0500 -Subject: [PATCH 083/279] infiniband: Mellanox IB driver patch use _nort() +Subject: [PATCH 083/286] infiniband: Mellanox IB driver patch use _nort() primitives Fixes in_atomic stack-dump, when Mellanox module is loaded into the RT diff --git a/debian/patches/features/all/rt/0084-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch b/debian/patches/features/all/rt/0084-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch index ce9af43df..5064cfc6a 100644 --- a/debian/patches/features/all/rt/0084-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch +++ b/debian/patches/features/all/rt/0084-input-gameport-Do-not-disable-interrupts-on-PREEMPT_.patch @@ -1,7 +1,7 @@ -From 90bcaa3aa928de6d96cc2538492c064de13f7e3a Mon Sep 17 00:00:00 2001 +From e0ae6cb453e6792a4f1e98c5d2131b1e98b2d3f0 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 084/279] input: gameport: Do not disable interrupts on +Subject: [PATCH 084/286] input: gameport: Do not disable interrupts on PREEMPT_RT Use the _nort() primitives. diff --git a/debian/patches/features/all/rt/0085-acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch b/debian/patches/features/all/rt/0085-acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch index a6b9e4ded..484a202a6 100644 --- a/debian/patches/features/all/rt/0085-acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch +++ b/debian/patches/features/all/rt/0085-acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch @@ -1,7 +1,7 @@ -From 1fab476fb124a18d5859cd80f9e5f670a543b33e Mon Sep 17 00:00:00 2001 +From fbffcf43003797f3782db9526ff3ee6d7f4c40e6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 22:54:51 +0200 -Subject: [PATCH 085/279] acpi: Do not disable interrupts on PREEMPT_RT +Subject: [PATCH 085/286] acpi: Do not disable interrupts on PREEMPT_RT Use the local_irq_*_nort() variants. diff --git a/debian/patches/features/all/rt/0086-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch b/debian/patches/features/all/rt/0086-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch index dea5db421..a1ebc1f1b 100644 --- a/debian/patches/features/all/rt/0086-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch +++ b/debian/patches/features/all/rt/0086-core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch @@ -1,7 +1,7 @@ -From bf8acf98e7db215050916146af2b8be8f5d5bcaa Mon Sep 17 00:00:00 2001 +From 1264fff4bdc24fe56a2e04cd999454bae94fc0b3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 23:06:05 +0200 -Subject: [PATCH 086/279] core: Do not disable interrupts on RT in +Subject: [PATCH 086/286] core: Do not disable interrupts on RT in kernel/users.c Use the local_irq_*_nort variants to reduce latencies in RT. The code diff --git a/debian/patches/features/all/rt/0087-core-Do-not-disable-interrupts-on-RT-in-res_counter..patch b/debian/patches/features/all/rt/0087-core-Do-not-disable-interrupts-on-RT-in-res_counter..patch index e758be6ad..79c149370 100644 --- a/debian/patches/features/all/rt/0087-core-Do-not-disable-interrupts-on-RT-in-res_counter..patch +++ b/debian/patches/features/all/rt/0087-core-Do-not-disable-interrupts-on-RT-in-res_counter..patch @@ -1,7 +1,7 @@ -From fe7811b66b6e3e6837f48f8a9d786698fd4bf1a1 Mon Sep 17 00:00:00 2001 +From 60f7fd8097d9aabef9a90e19f757ebf74cc3c40d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:33 -0500 -Subject: [PATCH 087/279] core: Do not disable interrupts on RT in +Subject: [PATCH 087/286] core: Do not disable interrupts on RT in res_counter.c Frederic Weisbecker reported this warning: diff --git a/debian/patches/features/all/rt/0088-usb-Use-local_irq_-_nort-variants.patch b/debian/patches/features/all/rt/0088-usb-Use-local_irq_-_nort-variants.patch index 6a747d880..97b3450af 100644 --- a/debian/patches/features/all/rt/0088-usb-Use-local_irq_-_nort-variants.patch +++ b/debian/patches/features/all/rt/0088-usb-Use-local_irq_-_nort-variants.patch @@ -1,7 +1,7 @@ -From 4a479bffead52c88dd910b566f05cc23bb3b559c Mon Sep 17 00:00:00 2001 +From 998172312436c989ab4eef7d6e4d8c6dc841b666 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:44:26 -0500 -Subject: [PATCH 088/279] usb: Use local_irq_*_nort() variants +Subject: [PATCH 088/286] usb: Use local_irq_*_nort() variants [ tglx: Now that irqf_disabled is dead we should kill that ] @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 8cb9304..32dfd76 100644 +index 032e5a6..226d386 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -2145,7 +2145,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) +@@ -2143,7 +2143,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) * when the first handler doesn't use it. So let's just * assume it's never used. */ @@ -25,7 +25,7 @@ index 8cb9304..32dfd76 100644 if (unlikely(HCD_DEAD(hcd) || !HCD_HW_ACCESSIBLE(hcd))) { rc = IRQ_NONE; -@@ -2158,7 +2158,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) +@@ -2156,7 +2156,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) rc = IRQ_HANDLED; } diff --git a/debian/patches/features/all/rt/0089-tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch b/debian/patches/features/all/rt/0089-tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch index 09e6f7cf5..058adad91 100644 --- a/debian/patches/features/all/rt/0089-tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch +++ b/debian/patches/features/all/rt/0089-tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch @@ -1,7 +1,7 @@ -From 1480103712b38e0dbffa9a66628030638c1c88f5 Mon Sep 17 00:00:00 2001 +From 1d7c91c7475464823e186c6d74eb2b1de7f40a8e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 17 Aug 2009 19:49:19 +0200 -Subject: [PATCH 089/279] tty: Do not disable interrupts in put_ldisc on -rt +Subject: [PATCH 089/286] tty: Do not disable interrupts in put_ldisc on -rt Fixes the following on PREEMPT_RT: diff --git a/debian/patches/features/all/rt/0090-mm-scatterlist-dont-disable-irqs-on-RT.patch b/debian/patches/features/all/rt/0090-mm-scatterlist-dont-disable-irqs-on-RT.patch index f4b669c39..88647b457 100644 --- a/debian/patches/features/all/rt/0090-mm-scatterlist-dont-disable-irqs-on-RT.patch +++ b/debian/patches/features/all/rt/0090-mm-scatterlist-dont-disable-irqs-on-RT.patch @@ -1,7 +1,7 @@ -From 094707f371b2d20ca67b5f32f97458f52cf74666 Mon Sep 17 00:00:00 2001 +From 968ec2ec6b2e5d418717e3e3feeacb4d3d5f906d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:34 -0500 -Subject: [PATCH 090/279] mm: scatterlist dont disable irqs on RT +Subject: [PATCH 090/286] mm: scatterlist dont disable irqs on RT Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0091-signal-fix-up-rcu-wreckage.patch.patch b/debian/patches/features/all/rt/0091-signal-fix-up-rcu-wreckage.patch.patch index f393ce380..b1833149d 100644 --- a/debian/patches/features/all/rt/0091-signal-fix-up-rcu-wreckage.patch.patch +++ b/debian/patches/features/all/rt/0091-signal-fix-up-rcu-wreckage.patch.patch @@ -1,7 +1,7 @@ -From 54f7e1e25103cdc60f97bc1db95332e7cadae35e Mon Sep 17 00:00:00 2001 +From e7f154c8a24ebb911d85e17f055bfdf44fdaf31f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Jul 2011 08:07:08 +0200 -Subject: [PATCH 091/279] signal-fix-up-rcu-wreckage.patch +Subject: [PATCH 091/286] signal-fix-up-rcu-wreckage.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0092-net-wireless-warn-nort.patch.patch b/debian/patches/features/all/rt/0092-net-wireless-warn-nort.patch.patch index 636c0ded5..b2dcbfccc 100644 --- a/debian/patches/features/all/rt/0092-net-wireless-warn-nort.patch.patch +++ b/debian/patches/features/all/rt/0092-net-wireless-warn-nort.patch.patch @@ -1,7 +1,7 @@ -From 0ef590b5b9fe24da443cb3ef3f1d80a68ab88a83 Mon Sep 17 00:00:00 2001 +From efbaecda2210e26cf4d0abf6e96f16550b8b2e90 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 21:05:33 +0200 -Subject: [PATCH 092/279] net-wireless-warn-nort.patch +Subject: [PATCH 092/286] net-wireless-warn-nort.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0093-mm-Replace-cgroup_page-bit-spinlock.patch b/debian/patches/features/all/rt/0093-mm-Replace-cgroup_page-bit-spinlock.patch index b091c00d9..0f9469895 100644 --- a/debian/patches/features/all/rt/0093-mm-Replace-cgroup_page-bit-spinlock.patch +++ b/debian/patches/features/all/rt/0093-mm-Replace-cgroup_page-bit-spinlock.patch @@ -1,7 +1,7 @@ -From 66fee2fe064206b1e50710b949dfdf725e4de121 Mon Sep 17 00:00:00 2001 +From 8129feb507bd73cec13b3796493a73f633791c53 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Aug 2009 09:56:42 +0200 -Subject: [PATCH 093/279] mm: Replace cgroup_page bit spinlock +Subject: [PATCH 093/286] mm: Replace cgroup_page bit spinlock Bit spinlocks are not working on RT. Replace them. diff --git a/debian/patches/features/all/rt/0094-buffer_head-Replace-bh_uptodate_lock-for-rt.patch b/debian/patches/features/all/rt/0094-buffer_head-Replace-bh_uptodate_lock-for-rt.patch index 4a1e38e09..568742541 100644 --- a/debian/patches/features/all/rt/0094-buffer_head-Replace-bh_uptodate_lock-for-rt.patch +++ b/debian/patches/features/all/rt/0094-buffer_head-Replace-bh_uptodate_lock-for-rt.patch @@ -1,7 +1,7 @@ -From d17cd1958ec16ff58013fe8f875c2731da43e10e Mon Sep 17 00:00:00 2001 +From 6eb4bf35aa2593475c524e7e984763d7f4d79d0d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 09:18:52 +0100 -Subject: [PATCH 094/279] buffer_head: Replace bh_uptodate_lock for -rt +Subject: [PATCH 094/286] buffer_head: Replace bh_uptodate_lock for -rt Wrap the bit_spin_lock calls into a separate inline and add the RT replacements with a real spinlock. diff --git a/debian/patches/features/all/rt/0095-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch b/debian/patches/features/all/rt/0095-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch index ab765df74..744383c13 100644 --- a/debian/patches/features/all/rt/0095-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch +++ b/debian/patches/features/all/rt/0095-fs-jbd-jbd2-Make-state-lock-and-journal-head-lock-rt.patch @@ -1,7 +1,7 @@ -From 5c1cac09a9b45ef43183e25b88828896b3dab638 Mon Sep 17 00:00:00 2001 +From 6b5e029050fdd20bffc82c64be39cff5152fb60d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:11:25 +0100 -Subject: [PATCH 095/279] fs: jbd/jbd2: Make state lock and journal head lock +Subject: [PATCH 095/286] fs: jbd/jbd2: Make state lock and journal head lock rt safe bit_spin_locks break under RT. diff --git a/debian/patches/features/all/rt/0096-genirq-Disable-DEBUG_SHIRQ-for-rt.patch b/debian/patches/features/all/rt/0096-genirq-Disable-DEBUG_SHIRQ-for-rt.patch index 31f8e790d..0b68d71d0 100644 --- a/debian/patches/features/all/rt/0096-genirq-Disable-DEBUG_SHIRQ-for-rt.patch +++ b/debian/patches/features/all/rt/0096-genirq-Disable-DEBUG_SHIRQ-for-rt.patch @@ -1,7 +1,7 @@ -From 4508f1b89648b1307d421cedcc114df47e68dfa4 Mon Sep 17 00:00:00 2001 +From c829f508643069cc2d430a484a5f636af5a9ebc9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:22:04 +0100 -Subject: [PATCH 096/279] genirq: Disable DEBUG_SHIRQ for rt +Subject: [PATCH 096/286] genirq: Disable DEBUG_SHIRQ for rt Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0097-genirq-Disable-random-call-on-preempt-rt.patch b/debian/patches/features/all/rt/0097-genirq-Disable-random-call-on-preempt-rt.patch index 540c83f3b..2ce2b6afb 100644 --- a/debian/patches/features/all/rt/0097-genirq-Disable-random-call-on-preempt-rt.patch +++ b/debian/patches/features/all/rt/0097-genirq-Disable-random-call-on-preempt-rt.patch @@ -1,7 +1,7 @@ -From 4e091bb33fc16ca13dfa826d3efa02675963a03f Mon Sep 17 00:00:00 2001 +From 1b5f58252844b2d63a303341be09f1a7a896983f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 16:07:37 +0200 -Subject: [PATCH 097/279] genirq: Disable random call on preempt-rt +Subject: [PATCH 097/286] genirq: Disable random call on preempt-rt The random call introduces high latencies and is almost unused. Disable it for -rt. diff --git a/debian/patches/features/all/rt/0098-genirq-disable-irqpoll-on-rt.patch b/debian/patches/features/all/rt/0098-genirq-disable-irqpoll-on-rt.patch index a66ad719a..441a9b7a5 100644 --- a/debian/patches/features/all/rt/0098-genirq-disable-irqpoll-on-rt.patch +++ b/debian/patches/features/all/rt/0098-genirq-disable-irqpoll-on-rt.patch @@ -1,7 +1,7 @@ -From 60054c61b43d1bd6d06080f1545b59528c6ac47f Mon Sep 17 00:00:00 2001 +From af43ae3a4f5ff53200f8cc4008eb8713d3b07a21 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:57 -0500 -Subject: [PATCH 098/279] genirq: disable irqpoll on -rt +Subject: [PATCH 098/286] genirq: disable irqpoll on -rt Creates long latencies for no value diff --git a/debian/patches/features/all/rt/0099-genirq-force-threading.patch.patch b/debian/patches/features/all/rt/0099-genirq-force-threading.patch.patch index e212a9d2f..f052c330f 100644 --- a/debian/patches/features/all/rt/0099-genirq-force-threading.patch.patch +++ b/debian/patches/features/all/rt/0099-genirq-force-threading.patch.patch @@ -1,7 +1,7 @@ -From f212a83619a09ca820e2f5f7d1d4a559e995e15e Mon Sep 17 00:00:00 2001 +From 2dc1ff693eb02392b055a9a73fdb43224edbeee6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 3 Apr 2011 11:57:29 +0200 -Subject: [PATCH 099/279] genirq-force-threading.patch +Subject: [PATCH 099/286] genirq-force-threading.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0100-drivers-net-fix-livelock-issues.patch b/debian/patches/features/all/rt/0100-drivers-net-fix-livelock-issues.patch index 9d1dc49cf..6a8c6d50b 100644 --- a/debian/patches/features/all/rt/0100-drivers-net-fix-livelock-issues.patch +++ b/debian/patches/features/all/rt/0100-drivers-net-fix-livelock-issues.patch @@ -1,7 +1,7 @@ -From e518a4bccb0cc7cdb3f5e42dc1f4936f7c4aaaf7 Mon Sep 17 00:00:00 2001 +From 9e28281e12893af1927472befe3f3a15d7adaf0e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 20 Jun 2009 11:36:54 +0200 -Subject: [PATCH 100/279] drivers/net: fix livelock issues +Subject: [PATCH 100/286] drivers/net: fix livelock issues Preempt-RT runs into a live lock issue with the NETDEV_TX_LOCKED micro optimization. The reason is that the softirq thread is rescheduling @@ -11,6 +11,7 @@ monoplize the CPU and livelock on UP systems. Remove it. Signed-off-by: Thomas Gleixner +[bwh: Adjust context to apply after 3.2.32] --- drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 6 +----- drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 3 +-- @@ -21,11 +22,9 @@ Signed-off-by: Thomas Gleixner drivers/net/rionet.c | 6 +----- 7 files changed, 10 insertions(+), 31 deletions(-) -diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c -index 5ae7df7..9500316 100644 --- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c +++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c -@@ -2235,11 +2235,7 @@ static netdev_tx_t atl1c_xmit_frame(struct sk_buff *skb, +@@ -2235,11 +2235,7 @@ static netdev_tx_t atl1c_xmit_frame(stru } tpd_req = atl1c_cal_tpd_req(skb); @@ -38,11 +37,9 @@ index 5ae7df7..9500316 100644 if (atl1c_tpd_avail(adapter, type) < tpd_req) { /* no enough descriptor, just stop queue */ -diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c -index 95483bc..eaf84e9 100644 --- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c +++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c -@@ -1819,8 +1819,7 @@ static netdev_tx_t atl1e_xmit_frame(struct sk_buff *skb, +@@ -1819,8 +1819,7 @@ static netdev_tx_t atl1e_xmit_frame(stru return NETDEV_TX_OK; } tpd_req = atl1e_cal_tdp_req(skb); @@ -52,11 +49,9 @@ index 95483bc..eaf84e9 100644 if (atl1e_tpd_avail(adapter) < tpd_req) { /* no enough descriptor, just stop queue */ -diff --git a/drivers/net/ethernet/chelsio/cxgb/sge.c b/drivers/net/ethernet/chelsio/cxgb/sge.c -index f9b60230..6d7412a 100644 --- a/drivers/net/ethernet/chelsio/cxgb/sge.c +++ b/drivers/net/ethernet/chelsio/cxgb/sge.c -@@ -1678,8 +1678,7 @@ static int t1_sge_tx(struct sk_buff *skb, struct adapter *adapter, +@@ -1678,8 +1678,7 @@ static int t1_sge_tx(struct sk_buff *skb struct cmdQ *q = &sge->cmdQ[qid]; unsigned int credits, pidx, genbit, count, use_sched_skb = 0; @@ -66,11 +61,9 @@ index f9b60230..6d7412a 100644 reclaim_completed_tx(sge, q); -diff --git a/drivers/net/ethernet/neterion/s2io.c b/drivers/net/ethernet/neterion/s2io.c -index c27fb3d..4624278 100644 --- a/drivers/net/ethernet/neterion/s2io.c +++ b/drivers/net/ethernet/neterion/s2io.c -@@ -4090,12 +4090,7 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) +@@ -4090,12 +4090,7 @@ static netdev_tx_t s2io_xmit(struct sk_b [skb->priority & (MAX_TX_FIFOS - 1)]; fifo = &mac_control->fifos[queue]; @@ -84,11 +77,9 @@ index c27fb3d..4624278 100644 if (sp->config.multiq) { if (__netif_subqueue_stopped(dev, fifo->fifo_no)) { -diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c -index 43c7b25..c084bea 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c -@@ -1937,10 +1937,9 @@ static int pch_gbe_xmit_frame(struct sk_buff *skb, struct net_device *netdev) +@@ -1937,10 +1937,9 @@ static int pch_gbe_xmit_frame(struct sk_ adapter->stats.tx_length_errors++; return NETDEV_TX_OK; } @@ -102,11 +93,9 @@ index 43c7b25..c084bea 100644 if (unlikely(!PCH_GBE_DESC_UNUSED(tx_ring))) { netif_stop_queue(netdev); spin_unlock_irqrestore(&tx_ring->tx_lock, flags); -diff --git a/drivers/net/ethernet/tehuti/tehuti.c b/drivers/net/ethernet/tehuti/tehuti.c -index 3a90af6..e2e930e 100644 --- a/drivers/net/ethernet/tehuti/tehuti.c +++ b/drivers/net/ethernet/tehuti/tehuti.c -@@ -1605,13 +1605,8 @@ static netdev_tx_t bdx_tx_transmit(struct sk_buff *skb, +@@ -1605,13 +1605,8 @@ static netdev_tx_t bdx_tx_transmit(struc unsigned long flags; ENTER; @@ -122,13 +111,11 @@ index 3a90af6..e2e930e 100644 /* build tx descriptor */ BDX_ASSERT(f->m.wptr >= f->m.memsz); /* started with valid wptr */ -diff --git a/drivers/net/rionet.c b/drivers/net/rionet.c -index 7145714..2a1ed18 100644 --- a/drivers/net/rionet.c +++ b/drivers/net/rionet.c -@@ -176,11 +176,7 @@ static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev) - u16 destid; +@@ -178,11 +178,7 @@ static int rionet_start_xmit(struct sk_b unsigned long flags; + int add_num = 1; - local_irq_save(flags); - if (!spin_trylock(&rnet->tx_lock)) { @@ -137,5 +124,5 @@ index 7145714..2a1ed18 100644 - } + spin_lock_irqsave(&rnet->tx_lock, flags); - if ((rnet->tx_cnt + 1) > RIONET_TX_RING_SIZE) { - netif_stop_queue(ndev); + if (is_multicast_ether_addr(eth->h_dest)) + add_num = nact; diff --git a/debian/patches/features/all/rt/0101-drivers-net-vortex-fix-locking-issues.patch b/debian/patches/features/all/rt/0101-drivers-net-vortex-fix-locking-issues.patch index a02f8f735..e2193da36 100644 --- a/debian/patches/features/all/rt/0101-drivers-net-vortex-fix-locking-issues.patch +++ b/debian/patches/features/all/rt/0101-drivers-net-vortex-fix-locking-issues.patch @@ -1,7 +1,7 @@ -From 38bcee2ffd8a6ae588068010ae6468e12b152dea Mon Sep 17 00:00:00 2001 +From da746badfb0c31dafc81a3dc4fc2bb2c21a2dd4b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:30:00 -0500 -Subject: [PATCH 101/279] drivers/net: vortex fix locking issues +Subject: [PATCH 101/286] drivers/net: vortex fix locking issues Argh, cut and paste wasn't enough... diff --git a/debian/patches/features/all/rt/0102-drivers-net-gianfar-Make-RT-aware.patch b/debian/patches/features/all/rt/0102-drivers-net-gianfar-Make-RT-aware.patch index f5b7aff0d..6e7781986 100644 --- a/debian/patches/features/all/rt/0102-drivers-net-gianfar-Make-RT-aware.patch +++ b/debian/patches/features/all/rt/0102-drivers-net-gianfar-Make-RT-aware.patch @@ -1,7 +1,7 @@ -From 6e59f51731aa4daded793b1e86ae6dddc589b6e1 Mon Sep 17 00:00:00 2001 +From 3dc8083e093e843ae7f44b72af30342ca38ad31c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Apr 2010 20:20:57 +0200 -Subject: [PATCH 102/279] drivers: net: gianfar: Make RT aware +Subject: [PATCH 102/286] drivers: net: gianfar: Make RT aware The adjust_link() disables interrupts before taking the queue locks. On RT those locks are converted to "sleeping" locks and diff --git a/debian/patches/features/all/rt/0103-USB-Fix-the-mouse-problem-when-copying-large-amounts.patch b/debian/patches/features/all/rt/0103-USB-Fix-the-mouse-problem-when-copying-large-amounts.patch index 5a44ffa12..adfba3ba3 100644 --- a/debian/patches/features/all/rt/0103-USB-Fix-the-mouse-problem-when-copying-large-amounts.patch +++ b/debian/patches/features/all/rt/0103-USB-Fix-the-mouse-problem-when-copying-large-amounts.patch @@ -1,7 +1,7 @@ -From 40a021ff02e980b48b59cb1ac8b168fb7c88b6d9 Mon Sep 17 00:00:00 2001 +From ef34ed1477c94772b3cd32a9dafc468e47c39ae4 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin Date: Mon, 4 Jan 2010 11:33:02 +0800 -Subject: [PATCH 103/279] USB: Fix the mouse problem when copying large +Subject: [PATCH 103/286] USB: Fix the mouse problem when copying large amounts of data When copying large amounts of data between the USB storage devices and diff --git a/debian/patches/features/all/rt/0104-local-var.patch.patch b/debian/patches/features/all/rt/0104-local-var.patch.patch index 31727588b..566b277df 100644 --- a/debian/patches/features/all/rt/0104-local-var.patch.patch +++ b/debian/patches/features/all/rt/0104-local-var.patch.patch @@ -1,7 +1,7 @@ -From f6864a98102ca40d4ab62d780092c99df439f9f0 Mon Sep 17 00:00:00 2001 +From 11435e34217220ed87a74cdc865c008208259fc6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jun 2011 18:40:37 +0200 -Subject: [PATCH 104/279] local-var.patch +Subject: [PATCH 104/286] local-var.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0105-rt-local-irq-lock.patch.patch b/debian/patches/features/all/rt/0105-rt-local-irq-lock.patch.patch index fedf54f3c..777840587 100644 --- a/debian/patches/features/all/rt/0105-rt-local-irq-lock.patch.patch +++ b/debian/patches/features/all/rt/0105-rt-local-irq-lock.patch.patch @@ -1,7 +1,7 @@ -From f4f723b27079d5e3c466c5bf397e1f32df1e5501 Mon Sep 17 00:00:00 2001 +From 2911e6ffd000500ffc6d13ca3e1432b76321a128 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 09:03:47 +0200 -Subject: [PATCH 105/279] rt-local-irq-lock.patch +Subject: [PATCH 105/286] rt-local-irq-lock.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0106-cpu-rt-variants.patch.patch b/debian/patches/features/all/rt/0106-cpu-rt-variants.patch.patch index 3d62c07bf..33fbf3ff7 100644 --- a/debian/patches/features/all/rt/0106-cpu-rt-variants.patch.patch +++ b/debian/patches/features/all/rt/0106-cpu-rt-variants.patch.patch @@ -1,7 +1,7 @@ -From 843071b2eb0f6952c9b9c5bdab0081d8b348a274 Mon Sep 17 00:00:00 2001 +From 4f8a22e65b40c30ad3bcfd1a97f9a3afccd1ccda Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 15:42:38 +0200 -Subject: [PATCH 106/279] cpu-rt-variants.patch +Subject: [PATCH 106/286] cpu-rt-variants.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0107-mm-slab-wrap-functions.patch.patch b/debian/patches/features/all/rt/0107-mm-slab-wrap-functions.patch.patch index bb6711790..a3348c846 100644 --- a/debian/patches/features/all/rt/0107-mm-slab-wrap-functions.patch.patch +++ b/debian/patches/features/all/rt/0107-mm-slab-wrap-functions.patch.patch @@ -1,7 +1,7 @@ -From 0c0e2e5b6b5ba68bf59fdf00971742e954eb76cb Mon Sep 17 00:00:00 2001 +From 56b1678f737b22c842a6ff58dbbdf906f1cad996 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 18 Jun 2011 19:44:43 +0200 -Subject: [PATCH 107/279] mm-slab-wrap-functions.patch +Subject: [PATCH 107/286] mm-slab-wrap-functions.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0108-slab-Fix-__do_drain-to-use-the-right-array-cache.patch b/debian/patches/features/all/rt/0108-slab-Fix-__do_drain-to-use-the-right-array-cache.patch index a6a35346a..4bca2e4ff 100644 --- a/debian/patches/features/all/rt/0108-slab-Fix-__do_drain-to-use-the-right-array-cache.patch +++ b/debian/patches/features/all/rt/0108-slab-Fix-__do_drain-to-use-the-right-array-cache.patch @@ -1,7 +1,7 @@ -From 76c6c3b2e61133b6cd7c355d6fe25759598fbde9 Mon Sep 17 00:00:00 2001 +From 5d330a5afe0f7ecee314b2993804e53924ab7f82 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 11 Oct 2011 23:56:23 -0400 -Subject: [PATCH 108/279] slab: Fix __do_drain to use the right array cache +Subject: [PATCH 108/286] slab: Fix __do_drain to use the right array cache The array cache in __do_drain() was using the cpu_cache_get() function which uses smp_processor_id() to get the proper array. On mainline, this diff --git a/debian/patches/features/all/rt/0109-mm-More-lock-breaks-in-slab.c.patch b/debian/patches/features/all/rt/0109-mm-More-lock-breaks-in-slab.c.patch index 7e367ba25..3688bdca6 100644 --- a/debian/patches/features/all/rt/0109-mm-More-lock-breaks-in-slab.c.patch +++ b/debian/patches/features/all/rt/0109-mm-More-lock-breaks-in-slab.c.patch @@ -1,7 +1,7 @@ -From e4091bcb41742985348380c386cdde5cf4101fa7 Mon Sep 17 00:00:00 2001 +From bcc6bc473889e1e3b9f0d0e7e26261f1acb53dd4 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:43 -0500 -Subject: [PATCH 109/279] mm: More lock breaks in slab.c +Subject: [PATCH 109/286] mm: More lock breaks in slab.c Handle __free_pages outside of the locked regions. This reduces the lock contention on the percpu slab locks in -rt significantly. diff --git a/debian/patches/features/all/rt/0110-mm-page_alloc-rt-friendly-per-cpu-pages.patch b/debian/patches/features/all/rt/0110-mm-page_alloc-rt-friendly-per-cpu-pages.patch index 4d0cc5ef1..fcf840cf5 100644 --- a/debian/patches/features/all/rt/0110-mm-page_alloc-rt-friendly-per-cpu-pages.patch +++ b/debian/patches/features/all/rt/0110-mm-page_alloc-rt-friendly-per-cpu-pages.patch @@ -1,7 +1,7 @@ -From 4ad0afad4516959bed31f031cb176abf995aa4c4 Mon Sep 17 00:00:00 2001 +From 5a3c8f49f4c6c94cbaa44100897557c3ead79d44 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:37 -0500 -Subject: [PATCH 110/279] mm: page_alloc: rt-friendly per-cpu pages +Subject: [PATCH 110/286] mm: page_alloc: rt-friendly per-cpu pages rt-friendly per-cpu pages: convert the irqs-off per-cpu locking method into a preemptible, explicit-per-cpu-locks method. @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 9a27890..4b9301c 100644 +index 2536d02..4490f58 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -57,6 +57,7 @@ diff --git a/debian/patches/features/all/rt/0111-mm-page_alloc-reduce-lock-sections-further.patch b/debian/patches/features/all/rt/0111-mm-page_alloc-reduce-lock-sections-further.patch index 2a1812cbf..ef9477b91 100644 --- a/debian/patches/features/all/rt/0111-mm-page_alloc-reduce-lock-sections-further.patch +++ b/debian/patches/features/all/rt/0111-mm-page_alloc-reduce-lock-sections-further.patch @@ -1,7 +1,7 @@ -From 212a8cfbec2045469f22b4e05aa470754422eb85 Mon Sep 17 00:00:00 2001 +From 18ab1661e28d73eacd5b9461398528cdc7fe6ff6 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:37 -0500 -Subject: [PATCH 111/279] mm: page_alloc reduce lock sections further +Subject: [PATCH 111/286] mm: page_alloc reduce lock sections further Split out the pages which are to be freed into a separate list and call free_pages_bulk() outside of the percpu page allocator locks. @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 58 insertions(+), 19 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 4b9301c..edbf47a 100644 +index 4490f58..01354f7 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -594,7 +594,7 @@ static inline int free_pages_check(struct page *page) diff --git a/debian/patches/features/all/rt/0112-mm-page-alloc-fix.patch.patch b/debian/patches/features/all/rt/0112-mm-page-alloc-fix.patch.patch index 730c9b030..86b4b18a5 100644 --- a/debian/patches/features/all/rt/0112-mm-page-alloc-fix.patch.patch +++ b/debian/patches/features/all/rt/0112-mm-page-alloc-fix.patch.patch @@ -1,7 +1,7 @@ -From 4a1c7b4a414f793f25d79747dfdca78157dd8818 Mon Sep 17 00:00:00 2001 +From 9ff3faa91328022dbafdd395a55524f6d6946d7a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 16:47:49 +0200 -Subject: [PATCH 112/279] mm-page-alloc-fix.patch +Subject: [PATCH 112/286] mm-page-alloc-fix.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index edbf47a..0125227 100644 +index 01354f7..67202bc 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1966,8 +1966,8 @@ __alloc_pages_direct_compact(gfp_t gfp_mask, unsigned int order, diff --git a/debian/patches/features/all/rt/0113-mm-convert-swap-to-percpu-locked.patch b/debian/patches/features/all/rt/0113-mm-convert-swap-to-percpu-locked.patch index 1aa3c65f3..d93b37993 100644 --- a/debian/patches/features/all/rt/0113-mm-convert-swap-to-percpu-locked.patch +++ b/debian/patches/features/all/rt/0113-mm-convert-swap-to-percpu-locked.patch @@ -1,7 +1,7 @@ -From b15e4ba197a19c8ebca0f01be5994cce8656773b Mon Sep 17 00:00:00 2001 +From d6d585744e0a5636ec64218bf4b24b888e71a82a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:51 -0500 -Subject: [PATCH 113/279] mm: convert swap to percpu locked +Subject: [PATCH 113/286] mm: convert swap to percpu locked Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0114-mm-vmstat-fix-the-irq-lock-asymetry.patch.patch b/debian/patches/features/all/rt/0114-mm-vmstat-fix-the-irq-lock-asymetry.patch.patch index 422d741d0..21353b1b4 100644 --- a/debian/patches/features/all/rt/0114-mm-vmstat-fix-the-irq-lock-asymetry.patch.patch +++ b/debian/patches/features/all/rt/0114-mm-vmstat-fix-the-irq-lock-asymetry.patch.patch @@ -1,7 +1,7 @@ -From 9715c38040790fc9cb63ff088a563bd5763c6f14 Mon Sep 17 00:00:00 2001 +From 5a190e09c8502ff6a9061f36de6dd7fcb068110c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 20:47:08 +0200 -Subject: [PATCH 114/279] mm-vmstat-fix-the-irq-lock-asymetry.patch +Subject: [PATCH 114/286] mm-vmstat-fix-the-irq-lock-asymetry.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0115-mm-make-vmstat-rt-aware.patch b/debian/patches/features/all/rt/0115-mm-make-vmstat-rt-aware.patch index e0ef41b9b..b124ec99e 100644 --- a/debian/patches/features/all/rt/0115-mm-make-vmstat-rt-aware.patch +++ b/debian/patches/features/all/rt/0115-mm-make-vmstat-rt-aware.patch @@ -1,7 +1,7 @@ -From 3fb0492275476395d234a6358f4423d712608149 Mon Sep 17 00:00:00 2001 +From d23617d474e8eab62eb73a61093e5453aa2dd7b6 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:13 -0500 -Subject: [PATCH 115/279] mm: make vmstat -rt aware +Subject: [PATCH 115/286] mm: make vmstat -rt aware Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0116-mm-shrink-the-page-frame-to-rt-size.patch b/debian/patches/features/all/rt/0116-mm-shrink-the-page-frame-to-rt-size.patch index 566e7adb0..7e40b8c26 100644 --- a/debian/patches/features/all/rt/0116-mm-shrink-the-page-frame-to-rt-size.patch +++ b/debian/patches/features/all/rt/0116-mm-shrink-the-page-frame-to-rt-size.patch @@ -1,7 +1,7 @@ -From 6c65158c8183b9e34dd1c87587d5f90bf4afc1c1 Mon Sep 17 00:00:00 2001 +From ded29d37dccdaba4d9cd9fe435d1893af51b3d0b Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:54 -0500 -Subject: [PATCH 116/279] mm: shrink the page frame to !-rt size +Subject: [PATCH 116/286] mm: shrink the page frame to !-rt size He below is a boot-tested hack to shrink the page frame size back to normal. diff --git a/debian/patches/features/all/rt/0117-ARM-Initialize-ptl-lock-for-vector-page.patch b/debian/patches/features/all/rt/0117-ARM-Initialize-ptl-lock-for-vector-page.patch index 29646dc1a..c70f917f8 100644 --- a/debian/patches/features/all/rt/0117-ARM-Initialize-ptl-lock-for-vector-page.patch +++ b/debian/patches/features/all/rt/0117-ARM-Initialize-ptl-lock-for-vector-page.patch @@ -1,7 +1,7 @@ -From 9054e9b719d1153784cf9a5b38da0b890b840a26 Mon Sep 17 00:00:00 2001 +From 8e32537e45cf48d2c3f40612240c8a67773fddb4 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Sat, 1 Oct 2011 18:58:13 -0700 -Subject: [PATCH 117/279] ARM: Initialize ptl->lock for vector page +Subject: [PATCH 117/286] ARM: Initialize ptl->lock for vector page Without this patch, ARM can not use SPLIT_PTLOCK_CPUS if PREEMPT_RT_FULL=y because vectors_user_mapping() creates a diff --git a/debian/patches/features/all/rt/0118-mm-Allow-only-slab-on-RT.patch b/debian/patches/features/all/rt/0118-mm-Allow-only-slab-on-RT.patch index 90f1ae076..e9d5d72cc 100644 --- a/debian/patches/features/all/rt/0118-mm-Allow-only-slab-on-RT.patch +++ b/debian/patches/features/all/rt/0118-mm-Allow-only-slab-on-RT.patch @@ -1,7 +1,7 @@ -From 1c64cdf497c34bc8f16154aaa5f95144e546b8cf Mon Sep 17 00:00:00 2001 +From 91773a8cd5c06ce87e21d00e4b70bc3a62c44a1d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:03 -0500 -Subject: [PATCH 118/279] mm: Allow only slab on RT +Subject: [PATCH 118/286] mm: Allow only slab on RT Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0119-radix-tree-rt-aware.patch.patch b/debian/patches/features/all/rt/0119-radix-tree-rt-aware.patch.patch index ee563a43b..d59b20d82 100644 --- a/debian/patches/features/all/rt/0119-radix-tree-rt-aware.patch.patch +++ b/debian/patches/features/all/rt/0119-radix-tree-rt-aware.patch.patch @@ -1,7 +1,7 @@ -From 5c028322cc2b5c3802749b5bb54703174a418f4d Mon Sep 17 00:00:00 2001 +From 85330cc3459b88adcb8e2d8f75312ab9cccc6fb9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:33:18 +0200 -Subject: [PATCH 119/279] radix-tree-rt-aware.patch +Subject: [PATCH 119/286] radix-tree-rt-aware.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0120-panic-disable-random-on-rt.patch b/debian/patches/features/all/rt/0120-panic-disable-random-on-rt.patch index c41d90c88..7f642b9b4 100644 --- a/debian/patches/features/all/rt/0120-panic-disable-random-on-rt.patch +++ b/debian/patches/features/all/rt/0120-panic-disable-random-on-rt.patch @@ -1,7 +1,7 @@ -From 29aab396ad49e4cf708c7d111783ac0c6a6e9e9b Mon Sep 17 00:00:00 2001 +From 5db8c6fd4562b8d9162b9b3dbc64139e57c655ae Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 10 Apr 2012 14:34:04 -0400 -Subject: [PATCH 120/279] panic-disable-random-on-rt +Subject: [PATCH 120/286] panic-disable-random-on-rt --- kernel/panic.c | 2 ++ diff --git a/debian/patches/features/all/rt/0121-ipc-Make-the-ipc-code-rt-aware.patch b/debian/patches/features/all/rt/0121-ipc-Make-the-ipc-code-rt-aware.patch index 7b4b99d0c..283d11fe2 100644 --- a/debian/patches/features/all/rt/0121-ipc-Make-the-ipc-code-rt-aware.patch +++ b/debian/patches/features/all/rt/0121-ipc-Make-the-ipc-code-rt-aware.patch @@ -1,7 +1,7 @@ -From 28b30b2ce90febda11338cc9145636ebdb9a6872 Mon Sep 17 00:00:00 2001 +From 54e32e8541a00a36ff82425a7894137f923717c3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:12 -0500 -Subject: [PATCH 121/279] ipc: Make the ipc code -rt aware +Subject: [PATCH 121/286] ipc: Make the ipc code -rt aware RT serializes the code with the (rt)spinlock but keeps preemption enabled. Some parts of the code need to be atomic nevertheless. diff --git a/debian/patches/features/all/rt/0122-ipc-mqueue-Add-a-critical-section-to-avoid-a-deadloc.patch b/debian/patches/features/all/rt/0122-ipc-mqueue-Add-a-critical-section-to-avoid-a-deadloc.patch index 6fbffd8d5..c74241e2d 100644 --- a/debian/patches/features/all/rt/0122-ipc-mqueue-Add-a-critical-section-to-avoid-a-deadloc.patch +++ b/debian/patches/features/all/rt/0122-ipc-mqueue-Add-a-critical-section-to-avoid-a-deadloc.patch @@ -1,7 +1,7 @@ -From 021a8fe0f8be5cb574b9bbdf7656e289c32b7037 Mon Sep 17 00:00:00 2001 +From 75b951dd60a145ca86555466dcf9fa73bf084630 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Yoshitake Date: Sat, 23 Jul 2011 11:57:36 +0900 -Subject: [PATCH 122/279] ipc/mqueue: Add a critical section to avoid a +Subject: [PATCH 122/286] ipc/mqueue: Add a critical section to avoid a deadlock (Repost for v3.0-rt1 and changed the distination addreses) diff --git a/debian/patches/features/all/rt/0123-relay-fix-timer-madness.patch b/debian/patches/features/all/rt/0123-relay-fix-timer-madness.patch index 86c5f768b..1781297a1 100644 --- a/debian/patches/features/all/rt/0123-relay-fix-timer-madness.patch +++ b/debian/patches/features/all/rt/0123-relay-fix-timer-madness.patch @@ -1,7 +1,7 @@ -From 42c80d3eab15c93e9770396ede17dc5e3bab24d1 Mon Sep 17 00:00:00 2001 +From b9b31222d001a7e4aadc2058de8bc13e3dc8dc3a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:07 -0500 -Subject: [PATCH 123/279] relay: fix timer madness +Subject: [PATCH 123/286] relay: fix timer madness remove timer calls (!!!) from deep within the tracing infrastructure. This was totally bogus code that can cause lockups and worse. Poll diff --git a/debian/patches/features/all/rt/0124-net-ipv4-route-use-locks-on-up-rt.patch.patch b/debian/patches/features/all/rt/0124-net-ipv4-route-use-locks-on-up-rt.patch.patch index 4dbc490d1..44b01540e 100644 --- a/debian/patches/features/all/rt/0124-net-ipv4-route-use-locks-on-up-rt.patch.patch +++ b/debian/patches/features/all/rt/0124-net-ipv4-route-use-locks-on-up-rt.patch.patch @@ -1,7 +1,7 @@ -From 81c049425ee5d01284cbe3c7e417a4ca5e4e929b Mon Sep 17 00:00:00 2001 +From 903d4748b379e0a90ec35b01a331aee6bb25f98d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 15 Jul 2011 16:24:45 +0200 -Subject: [PATCH 124/279] net-ipv4-route-use-locks-on-up-rt.patch +Subject: [PATCH 124/286] net-ipv4-route-use-locks-on-up-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0125-workqueue-avoid-the-lock-in-cpu-dying.patch.patch b/debian/patches/features/all/rt/0125-workqueue-avoid-the-lock-in-cpu-dying.patch.patch index 4560ad15a..6061c1f37 100644 --- a/debian/patches/features/all/rt/0125-workqueue-avoid-the-lock-in-cpu-dying.patch.patch +++ b/debian/patches/features/all/rt/0125-workqueue-avoid-the-lock-in-cpu-dying.patch.patch @@ -1,7 +1,7 @@ -From 9f6ccae9560c825e86d38d8af21630080b0b677e Mon Sep 17 00:00:00 2001 +From 76305f83ed7b3ba2042b83fbd6e526220f540db4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jun 2011 20:39:24 +0200 -Subject: [PATCH 125/279] workqueue-avoid-the-lock-in-cpu-dying.patch +Subject: [PATCH 125/286] workqueue-avoid-the-lock-in-cpu-dying.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index 42f7949..fd605fe 100644 +index 4bd2abb..8b12069 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -3512,6 +3512,25 @@ static int __devinit workqueue_cpu_callback(struct notifier_block *nfb, diff --git a/debian/patches/features/all/rt/0126-timers-prepare-for-full-preemption.patch b/debian/patches/features/all/rt/0126-timers-prepare-for-full-preemption.patch index bcb1b0cda..c662ed9a7 100644 --- a/debian/patches/features/all/rt/0126-timers-prepare-for-full-preemption.patch +++ b/debian/patches/features/all/rt/0126-timers-prepare-for-full-preemption.patch @@ -1,7 +1,7 @@ -From a4298c5ba4777d36013f6b9b49414a6ba2d4c023 Mon Sep 17 00:00:00 2001 +From bd2ef8c1e4edfab0fca7acb400d6984ce54639cf Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 126/279] timers: prepare for full preemption +Subject: [PATCH 126/286] timers: prepare for full preemption When softirqs can be preempted we need to make sure that cancelling the timer from the active thread can not deadlock vs. a running timer diff --git a/debian/patches/features/all/rt/0127-timers-preempt-rt-support.patch b/debian/patches/features/all/rt/0127-timers-preempt-rt-support.patch index 8ef0c26e5..e0b37e961 100644 --- a/debian/patches/features/all/rt/0127-timers-preempt-rt-support.patch +++ b/debian/patches/features/all/rt/0127-timers-preempt-rt-support.patch @@ -1,7 +1,7 @@ -From c7be205acddc995a3f44ba52dd0a5e0da9ba689e Mon Sep 17 00:00:00 2001 +From bf916055bc2ed5735857fc34a3b5b7ccfd6455a6 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:20 -0500 -Subject: [PATCH 127/279] timers: preempt-rt support +Subject: [PATCH 127/286] timers: preempt-rt support Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0128-timers-fix-timer-hotplug-on-rt.patch b/debian/patches/features/all/rt/0128-timers-fix-timer-hotplug-on-rt.patch index efc541fb0..42dd649ca 100644 --- a/debian/patches/features/all/rt/0128-timers-fix-timer-hotplug-on-rt.patch +++ b/debian/patches/features/all/rt/0128-timers-fix-timer-hotplug-on-rt.patch @@ -1,7 +1,7 @@ -From 58c6e543302c8cf9d7a56ad1f111da9f2346a94f Mon Sep 17 00:00:00 2001 +From 45f7bc09ac19cfe1c9151c1d0eeea459593f0e39 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:32 -0500 -Subject: [PATCH 128/279] timers: fix timer hotplug on -rt +Subject: [PATCH 128/286] timers: fix timer hotplug on -rt Here we are in the CPU_DEAD notifier, and we must not sleep nor enable interrupts. diff --git a/debian/patches/features/all/rt/0129-timers-mov-printk_tick-to-soft-interrupt.patch b/debian/patches/features/all/rt/0129-timers-mov-printk_tick-to-soft-interrupt.patch index 49794e1e7..5ac1fec5f 100644 --- a/debian/patches/features/all/rt/0129-timers-mov-printk_tick-to-soft-interrupt.patch +++ b/debian/patches/features/all/rt/0129-timers-mov-printk_tick-to-soft-interrupt.patch @@ -1,7 +1,7 @@ -From 9ed1dc8d7f09bdd68249e915f4a46ac6b98741a5 Mon Sep 17 00:00:00 2001 +From ca15f895c0e638746a56650f5e36d0bf84d1ef32 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:30 -0500 -Subject: [PATCH 129/279] timers: mov printk_tick to soft interrupt +Subject: [PATCH 129/286] timers: mov printk_tick to soft interrupt Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar diff --git a/debian/patches/features/all/rt/0130-timer-delay-waking-softirqs-from-the-jiffy-tick.patch b/debian/patches/features/all/rt/0130-timer-delay-waking-softirqs-from-the-jiffy-tick.patch index 8b119e7a9..4edbe74d0 100644 --- a/debian/patches/features/all/rt/0130-timer-delay-waking-softirqs-from-the-jiffy-tick.patch +++ b/debian/patches/features/all/rt/0130-timer-delay-waking-softirqs-from-the-jiffy-tick.patch @@ -1,7 +1,7 @@ -From 1e5ee5a1b8a3851662122cbf0b4581ce15fbea38 Mon Sep 17 00:00:00 2001 +From 6e1a322e61bec038d8bdb1751d5f34fc586a8171 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 21 Aug 2009 11:56:45 +0200 -Subject: [PATCH 130/279] timer: delay waking softirqs from the jiffy tick +Subject: [PATCH 130/286] timer: delay waking softirqs from the jiffy tick People were complaining about broken balancing with the recent -rt series. diff --git a/debian/patches/features/all/rt/0131-timers-Avoid-the-switch-timers-base-set-to-NULL-tric.patch b/debian/patches/features/all/rt/0131-timers-Avoid-the-switch-timers-base-set-to-NULL-tric.patch index a2a479b2e..813bf3c83 100644 --- a/debian/patches/features/all/rt/0131-timers-Avoid-the-switch-timers-base-set-to-NULL-tric.patch +++ b/debian/patches/features/all/rt/0131-timers-Avoid-the-switch-timers-base-set-to-NULL-tric.patch @@ -1,7 +1,7 @@ -From 8d3938b73736bf2bcfda91c5782c0cec92998e43 Mon Sep 17 00:00:00 2001 +From 53b45e8827f868be4b723964cfaa305275904448 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 15:23:39 +0200 -Subject: [PATCH 131/279] timers: Avoid the switch timers base set to NULL +Subject: [PATCH 131/286] timers: Avoid the switch timers base set to NULL trick on RT On RT that code is preemptible, so we cannot assign NULL to timers diff --git a/debian/patches/features/all/rt/0132-printk-Don-t-call-printk_tick-in-printk_needs_cpu-on.patch b/debian/patches/features/all/rt/0132-printk-Don-t-call-printk_tick-in-printk_needs_cpu-on.patch index c932df6a7..081b09fd4 100644 --- a/debian/patches/features/all/rt/0132-printk-Don-t-call-printk_tick-in-printk_needs_cpu-on.patch +++ b/debian/patches/features/all/rt/0132-printk-Don-t-call-printk_tick-in-printk_needs_cpu-on.patch @@ -1,7 +1,7 @@ -From 8d7926bafe368b7525cd5baba4ab1d86608f1064 Mon Sep 17 00:00:00 2001 +From fe3bcf59820101c5f2a87a9b98a98d18b78af606 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Sun, 16 Oct 2011 18:56:45 +0800 -Subject: [PATCH 132/279] printk: Don't call printk_tick in printk_needs_cpu() +Subject: [PATCH 132/286] printk: Don't call printk_tick in printk_needs_cpu() on RT printk_tick() can't be called in atomic context when RT is enabled, diff --git a/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch b/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch index ff35a2a12..6f3844cca 100644 --- a/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch +++ b/debian/patches/features/all/rt/0133-hrtimers-prepare-full-preemption.patch @@ -1,7 +1,7 @@ -From 84c8ded928c691007d32b5ad521ad2a9b80d649c Mon Sep 17 00:00:00 2001 +From 14d91833894f29b08cb0dc957f1e3032dce799a9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 133/279] hrtimers: prepare full preemption +Subject: [PATCH 133/286] hrtimers: prepare full preemption Make cancellation of a running callback in softirq context safe against preemption. diff --git a/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch b/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch index ff2706715..68c14b4ef 100644 --- a/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch +++ b/debian/patches/features/all/rt/0134-hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch @@ -1,7 +1,7 @@ -From d1e4b4c53d5111104072cb2dd3ea0b0264cbf3f6 Mon Sep 17 00:00:00 2001 +From 731b71a1980174ac30702f608177c02f14cf74b1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:31 -0500 -Subject: [PATCH 134/279] hrtimer: fixup hrtimer callback changes for +Subject: [PATCH 134/286] hrtimer: fixup hrtimer callback changes for preempt-rt In preempt-rt we can not call the callbacks which take sleeping locks @@ -377,7 +377,7 @@ index 45b923b..392fa07 100644 /** diff --git a/kernel/sched.c b/kernel/sched.c -index 0aca7d2..4897b2c 100644 +index d24f681..297fc34 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -189,6 +189,7 @@ void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime) diff --git a/debian/patches/features/all/rt/0135-hrtimer-Don-t-call-the-timer-handler-from-hrtimer_st.patch b/debian/patches/features/all/rt/0135-hrtimer-Don-t-call-the-timer-handler-from-hrtimer_st.patch index 99801040e..54db922d5 100644 --- a/debian/patches/features/all/rt/0135-hrtimer-Don-t-call-the-timer-handler-from-hrtimer_st.patch +++ b/debian/patches/features/all/rt/0135-hrtimer-Don-t-call-the-timer-handler-from-hrtimer_st.patch @@ -1,7 +1,7 @@ -From f5254e2432fc0f08cac8be42789f0dcc0a68cd3a Mon Sep 17 00:00:00 2001 +From c99329d924e00f3aaee6b4d1df7d4954f9e71f39 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 12 Aug 2011 17:39:54 +0200 -Subject: [PATCH 135/279] hrtimer: Don't call the timer handler from +Subject: [PATCH 135/286] hrtimer: Don't call the timer handler from hrtimer_start [] __delay+0xf/0x11 diff --git a/debian/patches/features/all/rt/0136-hrtimer-Add-missing-debug_activate-aid-Was-Re-ANNOUN.patch b/debian/patches/features/all/rt/0136-hrtimer-Add-missing-debug_activate-aid-Was-Re-ANNOUN.patch index bde35875d..c02ff3e30 100644 --- a/debian/patches/features/all/rt/0136-hrtimer-Add-missing-debug_activate-aid-Was-Re-ANNOUN.patch +++ b/debian/patches/features/all/rt/0136-hrtimer-Add-missing-debug_activate-aid-Was-Re-ANNOUN.patch @@ -1,7 +1,7 @@ -From 2ccfce721d91d7eb553434dee25bdfb99d597bfc Mon Sep 17 00:00:00 2001 +From b7c021f12a9502459662ce11210937fac136381c Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Thu, 13 Oct 2011 15:52:30 +0800 -Subject: [PATCH 136/279] hrtimer: Add missing debug_activate() aid [Was: Re: +Subject: [PATCH 136/286] hrtimer: Add missing debug_activate() aid [Was: Re: [ANNOUNCE] 3.0.6-rt17] On Fri, Oct 07, 2011 at 10:25:25AM -0700, Fernando Lopez-Lezcano wrote: diff --git a/debian/patches/features/all/rt/0137-hrtimer-fix-reprogram-madness.patch.patch b/debian/patches/features/all/rt/0137-hrtimer-fix-reprogram-madness.patch.patch index 18b974a51..5ecae55e1 100644 --- a/debian/patches/features/all/rt/0137-hrtimer-fix-reprogram-madness.patch.patch +++ b/debian/patches/features/all/rt/0137-hrtimer-fix-reprogram-madness.patch.patch @@ -1,7 +1,7 @@ -From 817909dab7688914c4cedfccb41a6a1033923aa7 Mon Sep 17 00:00:00 2001 +From bc26f4d27bd95d55847d2b7faf017253cf60a7a1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Sep 2011 14:48:43 +0200 -Subject: [PATCH 137/279] hrtimer-fix-reprogram-madness.patch +Subject: [PATCH 137/286] hrtimer-fix-reprogram-madness.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0138-timer-fd-Prevent-live-lock.patch b/debian/patches/features/all/rt/0138-timer-fd-Prevent-live-lock.patch index 95c73f81a..0f933aa13 100644 --- a/debian/patches/features/all/rt/0138-timer-fd-Prevent-live-lock.patch +++ b/debian/patches/features/all/rt/0138-timer-fd-Prevent-live-lock.patch @@ -1,7 +1,7 @@ -From c150c2cabfc34d027b5f07c32f8bdc5779277405 Mon Sep 17 00:00:00 2001 +From d2e30cad574942f56e039b342c32ac1a3236a954 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 25 Jan 2012 11:08:40 +0100 -Subject: [PATCH 138/279] timer-fd: Prevent live lock +Subject: [PATCH 138/286] timer-fd: Prevent live lock If hrtimer_try_to_cancel() requires a retry, then depending on the priority setting te retry loop might prevent timer callback completion diff --git a/debian/patches/features/all/rt/0139-posix-timers-thread-posix-cpu-timers-on-rt.patch b/debian/patches/features/all/rt/0139-posix-timers-thread-posix-cpu-timers-on-rt.patch index 9b58a4931..ea69688f1 100644 --- a/debian/patches/features/all/rt/0139-posix-timers-thread-posix-cpu-timers-on-rt.patch +++ b/debian/patches/features/all/rt/0139-posix-timers-thread-posix-cpu-timers-on-rt.patch @@ -1,7 +1,7 @@ -From a62109797ebcbffe35e991e3ac9835c7001c2aa2 Mon Sep 17 00:00:00 2001 +From d1f865bf4e53d06d4598b5981c38577be7c7e345 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 139/279] posix-timers: thread posix-cpu-timers on -rt +Subject: [PATCH 139/286] posix-timers: thread posix-cpu-timers on -rt posix-cpu-timer code takes non -rt safe locks in hard irq context. Move it to a thread. diff --git a/debian/patches/features/all/rt/0140-posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch b/debian/patches/features/all/rt/0140-posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch index e96080de5..89baf17ea 100644 --- a/debian/patches/features/all/rt/0140-posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch +++ b/debian/patches/features/all/rt/0140-posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch @@ -1,7 +1,7 @@ -From 19bfdda4622badb7151fffcae900afa12ea32747 Mon Sep 17 00:00:00 2001 +From a18c495a10b849b39cc6af57f0549f359ac8b487 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Fri, 3 Jul 2009 08:30:00 -0500 -Subject: [PATCH 140/279] posix-timers: Shorten posix_cpu_timers/ kernel +Subject: [PATCH 140/286] posix-timers: Shorten posix_cpu_timers/ kernel thread names Shorten the softirq kernel thread names because they always overflow the diff --git a/debian/patches/features/all/rt/0141-posix-timers-Avoid-wakeups-when-no-timers-are-active.patch b/debian/patches/features/all/rt/0141-posix-timers-Avoid-wakeups-when-no-timers-are-active.patch index e6b2c5e08..0a2cff4c3 100644 --- a/debian/patches/features/all/rt/0141-posix-timers-Avoid-wakeups-when-no-timers-are-active.patch +++ b/debian/patches/features/all/rt/0141-posix-timers-Avoid-wakeups-when-no-timers-are-active.patch @@ -1,7 +1,7 @@ -From 791e2105f9903aa6c881efcdc3b836cd6e6f096b Mon Sep 17 00:00:00 2001 +From ee833c16e003e9378bb8cc867954352388fc8a5f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:44 -0500 -Subject: [PATCH 141/279] posix-timers: Avoid wakeups when no timers are +Subject: [PATCH 141/286] posix-timers: Avoid wakeups when no timers are active Waking the thread even when no timers are scheduled is useless. diff --git a/debian/patches/features/all/rt/0142-sched-delay-put-task.patch.patch b/debian/patches/features/all/rt/0142-sched-delay-put-task.patch.patch index 1f807fc2b..df5e6821e 100644 --- a/debian/patches/features/all/rt/0142-sched-delay-put-task.patch.patch +++ b/debian/patches/features/all/rt/0142-sched-delay-put-task.patch.patch @@ -1,7 +1,7 @@ -From 975a2e3e57c04124fb8107ed2410e6f8e4becf1c Mon Sep 17 00:00:00 2001 +From 1f5a313d0e8303576cf3716c9f54ebd30751fdb6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 May 2011 16:59:16 +0200 -Subject: [PATCH 142/279] sched-delay-put-task.patch +Subject: [PATCH 142/286] sched-delay-put-task.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0143-sched-limit-nr-migrate.patch.patch b/debian/patches/features/all/rt/0143-sched-limit-nr-migrate.patch.patch index eb2cbba29..8f60aabe5 100644 --- a/debian/patches/features/all/rt/0143-sched-limit-nr-migrate.patch.patch +++ b/debian/patches/features/all/rt/0143-sched-limit-nr-migrate.patch.patch @@ -1,7 +1,7 @@ -From e1a6ac04262a78b914d761b2dd9db42fbc216d51 Mon Sep 17 00:00:00 2001 +From 92aeea8b815eb063f9be61b02ce9cb4a328b265e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:12:51 +0200 -Subject: [PATCH 143/279] sched-limit-nr-migrate.patch +Subject: [PATCH 143/286] sched-limit-nr-migrate.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+) diff --git a/kernel/sched.c b/kernel/sched.c -index 4897b2c..023ed0c 100644 +index 297fc34..f0eb8d2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -939,7 +939,11 @@ late_initcall(sched_init_debug); diff --git a/debian/patches/features/all/rt/0144-sched-mmdrop-delayed.patch.patch b/debian/patches/features/all/rt/0144-sched-mmdrop-delayed.patch.patch index 9972c9ae2..feb8d6178 100644 --- a/debian/patches/features/all/rt/0144-sched-mmdrop-delayed.patch.patch +++ b/debian/patches/features/all/rt/0144-sched-mmdrop-delayed.patch.patch @@ -1,7 +1,7 @@ -From 7918b222536c94c93b9e7cf0e30557834d0e5103 Mon Sep 17 00:00:00 2001 +From 24480832aab2bebf334ee008bb8dec0bbb5a49cf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:20:33 +0200 -Subject: [PATCH 144/279] sched-mmdrop-delayed.patch +Subject: [PATCH 144/286] sched-mmdrop-delayed.patch Needs thread context (pgd_lock) -> ifdeffed. workqueues wont work with RT @@ -99,7 +99,7 @@ index 9bb21df..2a4a32b 100644 * Decrement the use count and release all resources for an mm. */ diff --git a/kernel/sched.c b/kernel/sched.c -index 023ed0c..c0ab22d 100644 +index f0eb8d2..8af4f7f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -3170,8 +3170,12 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) diff --git a/debian/patches/features/all/rt/0145-sched-rt-mutex-wakeup.patch.patch b/debian/patches/features/all/rt/0145-sched-rt-mutex-wakeup.patch.patch index e4c53ae85..a2959160c 100644 --- a/debian/patches/features/all/rt/0145-sched-rt-mutex-wakeup.patch.patch +++ b/debian/patches/features/all/rt/0145-sched-rt-mutex-wakeup.patch.patch @@ -1,7 +1,7 @@ -From a9887bead52ed5ed18c4802e910eeb683f91adcc Mon Sep 17 00:00:00 2001 +From 57b4b7af22b957a46a725d8ae7a77304fde61341 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jun 2011 09:21:04 +0200 -Subject: [PATCH 145/279] sched-rt-mutex-wakeup.patch +Subject: [PATCH 145/286] sched-rt-mutex-wakeup.patch Signed-off-by: Thomas Gleixner --- @@ -38,7 +38,7 @@ index 3f36640..57d5b54 100644 #ifdef CONFIG_SMP extern void kick_process(struct task_struct *tsk); diff --git a/kernel/sched.c b/kernel/sched.c -index c0ab22d..657a962 100644 +index 8af4f7f..d3e327d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2823,8 +2823,25 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) diff --git a/debian/patches/features/all/rt/0146-sched-prevent-idle-boost.patch.patch b/debian/patches/features/all/rt/0146-sched-prevent-idle-boost.patch.patch index dc8c24557..6f8ed9d7d 100644 --- a/debian/patches/features/all/rt/0146-sched-prevent-idle-boost.patch.patch +++ b/debian/patches/features/all/rt/0146-sched-prevent-idle-boost.patch.patch @@ -1,7 +1,7 @@ -From 8bd8e6de55b45d040af9442ef141c6945fccae6e Mon Sep 17 00:00:00 2001 +From dbcb388fc9174f88eec1cbe6a6cd7d6a7df1232a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 20:07:38 +0200 -Subject: [PATCH 146/279] sched-prevent-idle-boost.patch +Subject: [PATCH 146/286] sched-prevent-idle-boost.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 657a962..3d60ff6 100644 +index d3e327d..b16b7e4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -5229,6 +5229,24 @@ void rt_mutex_setprio(struct task_struct *p, int prio) diff --git a/debian/patches/features/all/rt/0147-sched-might-sleep-do-not-account-rcu-depth.patch.patch b/debian/patches/features/all/rt/0147-sched-might-sleep-do-not-account-rcu-depth.patch.patch index 524f55819..6c6c0f23b 100644 --- a/debian/patches/features/all/rt/0147-sched-might-sleep-do-not-account-rcu-depth.patch.patch +++ b/debian/patches/features/all/rt/0147-sched-might-sleep-do-not-account-rcu-depth.patch.patch @@ -1,7 +1,7 @@ -From d807f847adeea4766a59cb0ff212b53c1dad50f7 Mon Sep 17 00:00:00 2001 +From 9798416e9e0e68ffe31036d3421968121273dc42 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 09:19:06 +0200 -Subject: [PATCH 147/279] sched-might-sleep-do-not-account-rcu-depth.patch +Subject: [PATCH 147/286] sched-might-sleep-do-not-account-rcu-depth.patch Signed-off-by: Thomas Gleixner --- @@ -35,10 +35,10 @@ index 2cf4226..a0082e2 100644 /* Internal to kernel */ diff --git a/kernel/sched.c b/kernel/sched.c -index 3d60ff6..333f539 100644 +index b16b7e4..afc9d85 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -8628,7 +8628,8 @@ void __init sched_init(void) +@@ -8660,7 +8660,8 @@ void __init sched_init(void) #ifdef CONFIG_DEBUG_ATOMIC_SLEEP static inline int preempt_count_equals(int preempt_offset) { diff --git a/debian/patches/features/all/rt/0148-sched-Break-out-from-load_balancing-on-rq_lock-conte.patch b/debian/patches/features/all/rt/0148-sched-Break-out-from-load_balancing-on-rq_lock-conte.patch index 133e4c9b1..f5cce8b9f 100644 --- a/debian/patches/features/all/rt/0148-sched-Break-out-from-load_balancing-on-rq_lock-conte.patch +++ b/debian/patches/features/all/rt/0148-sched-Break-out-from-load_balancing-on-rq_lock-conte.patch @@ -1,7 +1,7 @@ -From d0e2ceb61b2ece263a5374ebdce32dd5fa11ac63 Mon Sep 17 00:00:00 2001 +From 149aff22ee89a211c7a75868a27b32c3a5f81537 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 16 Mar 2010 14:31:44 -0700 -Subject: [PATCH 148/279] sched: Break out from load_balancing on rq_lock +Subject: [PATCH 148/286] sched: Break out from load_balancing on rq_lock contention Also limit NEW_IDLE pull diff --git a/debian/patches/features/all/rt/0149-sched-cond-resched.patch.patch b/debian/patches/features/all/rt/0149-sched-cond-resched.patch.patch index 24947a0f6..8967e8255 100644 --- a/debian/patches/features/all/rt/0149-sched-cond-resched.patch.patch +++ b/debian/patches/features/all/rt/0149-sched-cond-resched.patch.patch @@ -1,7 +1,7 @@ -From c0b6ee50761ff2a0785b9c41f3fa1b62ada9a9f6 Mon Sep 17 00:00:00 2001 +From a09688884ecd7cf02c67434b1ec0d86d08d69efe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 11:25:03 +0200 -Subject: [PATCH 149/279] sched-cond-resched.patch +Subject: [PATCH 149/286] sched-cond-resched.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 333f539..0f3da4d 100644 +index afc9d85..eb84999 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -5967,9 +5967,17 @@ static inline int should_resched(void) diff --git a/debian/patches/features/all/rt/0150-cond-resched-softirq-fix.patch.patch b/debian/patches/features/all/rt/0150-cond-resched-softirq-fix.patch.patch index 9b70b5dbf..d0663b997 100644 --- a/debian/patches/features/all/rt/0150-cond-resched-softirq-fix.patch.patch +++ b/debian/patches/features/all/rt/0150-cond-resched-softirq-fix.patch.patch @@ -1,7 +1,7 @@ -From fede6c40f71cec49ef8ba1d1e14fa98918bdee53 Mon Sep 17 00:00:00 2001 +From ac1bdd1fd3538eca2c7a2917107863270c65f0c7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Jul 2011 09:56:44 +0200 -Subject: [PATCH 150/279] cond-resched-softirq-fix.patch +Subject: [PATCH 150/286] cond-resched-softirq-fix.patch Signed-off-by: Thomas Gleixner --- @@ -31,7 +31,7 @@ index 57d5b54..08f5c5b 100644 /* * Does a critical section need to be broken due to another diff --git a/kernel/sched.c b/kernel/sched.c -index 0f3da4d..1994f88 100644 +index eb84999..bdb2d80 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6018,6 +6018,7 @@ int __cond_resched_lock(spinlock_t *lock) diff --git a/debian/patches/features/all/rt/0151-sched-no-work-when-pi-blocked.patch.patch b/debian/patches/features/all/rt/0151-sched-no-work-when-pi-blocked.patch.patch index a71b2676f..ed3c7e76e 100644 --- a/debian/patches/features/all/rt/0151-sched-no-work-when-pi-blocked.patch.patch +++ b/debian/patches/features/all/rt/0151-sched-no-work-when-pi-blocked.patch.patch @@ -1,7 +1,7 @@ -From 6eb2e925aab61480ad6a11f3929cc103976325fb Mon Sep 17 00:00:00 2001 +From c6664aea4e38f803c059a64fd3719f4ef51abbad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 20:46:52 +0200 -Subject: [PATCH 151/279] sched-no-work-when-pi-blocked.patch +Subject: [PATCH 151/286] sched-no-work-when-pi-blocked.patch Signed-off-by: Thomas Gleixner --- @@ -35,7 +35,7 @@ index 08f5c5b..96bfec9 100644 extern bool yield_to(struct task_struct *p, bool preempt); diff --git a/kernel/sched.c b/kernel/sched.c -index 1994f88..4801b26 100644 +index bdb2d80..5add350 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4653,7 +4653,7 @@ need_resched: diff --git a/debian/patches/features/all/rt/0152-cond-resched-lock-rt-tweak.patch.patch b/debian/patches/features/all/rt/0152-cond-resched-lock-rt-tweak.patch.patch index 941823c9c..3f208d242 100644 --- a/debian/patches/features/all/rt/0152-cond-resched-lock-rt-tweak.patch.patch +++ b/debian/patches/features/all/rt/0152-cond-resched-lock-rt-tweak.patch.patch @@ -1,7 +1,7 @@ -From fa1d9d857ce0594efa7b5cfb58ecb0bb99405272 Mon Sep 17 00:00:00 2001 +From 3d5e0af7c8db1d7d9c5c58945208da68dbfdc8ff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:51:33 +0200 -Subject: [PATCH 152/279] cond-resched-lock-rt-tweak.patch +Subject: [PATCH 152/286] cond-resched-lock-rt-tweak.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0153-sched-disable-ttwu-queue.patch.patch b/debian/patches/features/all/rt/0153-sched-disable-ttwu-queue.patch.patch index 6a6a35bf9..c87ce7df6 100644 --- a/debian/patches/features/all/rt/0153-sched-disable-ttwu-queue.patch.patch +++ b/debian/patches/features/all/rt/0153-sched-disable-ttwu-queue.patch.patch @@ -1,7 +1,7 @@ -From 40910dbace32047663676edb8fd04a84dd5cafff Mon Sep 17 00:00:00 2001 +From eb1258fcce9cd2af4df0fa865c470246e1866797 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Sep 2011 16:42:35 +0200 -Subject: [PATCH 153/279] sched-disable-ttwu-queue.patch +Subject: [PATCH 153/286] sched-disable-ttwu-queue.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0154-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch b/debian/patches/features/all/rt/0154-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch index b879f954c..15430a637 100644 --- a/debian/patches/features/all/rt/0154-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch +++ b/debian/patches/features/all/rt/0154-sched-Disable-CONFIG_RT_GROUP_SCHED-on-RT.patch @@ -1,7 +1,7 @@ -From fb536307ba5e7f02e6dcff8926e3e0476f13baaf Mon Sep 17 00:00:00 2001 +From 0c8f9195d4039c942b0b1d1b6afed4776b8f44eb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:03:52 +0200 -Subject: [PATCH 154/279] sched: Disable CONFIG_RT_GROUP_SCHED on RT +Subject: [PATCH 154/286] sched: Disable CONFIG_RT_GROUP_SCHED on RT Carsten reported problems when running: diff --git a/debian/patches/features/all/rt/0155-sched-ttwu-Return-success-when-only-changing-the-sav.patch b/debian/patches/features/all/rt/0155-sched-ttwu-Return-success-when-only-changing-the-sav.patch index efb43abe1..3d7e59226 100644 --- a/debian/patches/features/all/rt/0155-sched-ttwu-Return-success-when-only-changing-the-sav.patch +++ b/debian/patches/features/all/rt/0155-sched-ttwu-Return-success-when-only-changing-the-sav.patch @@ -1,7 +1,7 @@ -From 88364a5870f5781237868b46a826dd89b5147e34 Mon Sep 17 00:00:00 2001 +From 22911b45c9ddd6fb06980f94c39092599a97e613 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Dec 2011 21:42:19 +0100 -Subject: [PATCH 155/279] sched: ttwu: Return success when only changing the +Subject: [PATCH 155/286] sched: ttwu: Return success when only changing the saved_state value When a task blocks on a rt lock, it saves the current state in @@ -21,7 +21,7 @@ Cc: stable-rt@vger.kernel.org 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 4801b26..401a9d8 100644 +index 5add350..92b84a7 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2830,8 +2830,10 @@ try_to_wake_up(struct task_struct *p, unsigned int state, int wake_flags) diff --git a/debian/patches/features/all/rt/0156-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch b/debian/patches/features/all/rt/0156-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch index 6a31f0f33..733ad2978 100644 --- a/debian/patches/features/all/rt/0156-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch +++ b/debian/patches/features/all/rt/0156-stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch @@ -1,7 +1,7 @@ -From af6c079ecc698f151b72bffcd645322d3280bdcf Mon Sep 17 00:00:00 2001 +From c2376f41cf9f8af2a73e8f194f25301d87c93a43 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:27 -0500 -Subject: [PATCH 156/279] stop_machine: convert stop_machine_run() to +Subject: [PATCH 156/286] stop_machine: convert stop_machine_run() to PREEMPT_RT Instead of playing with non-preemption, introduce explicit diff --git a/debian/patches/features/all/rt/0157-stomp-machine-mark-stomper-thread.patch.patch b/debian/patches/features/all/rt/0157-stomp-machine-mark-stomper-thread.patch.patch index c15a288d0..86c8d8fe5 100644 --- a/debian/patches/features/all/rt/0157-stomp-machine-mark-stomper-thread.patch.patch +++ b/debian/patches/features/all/rt/0157-stomp-machine-mark-stomper-thread.patch.patch @@ -1,7 +1,7 @@ -From 8254668a2156885e93e9d3a86e99f74aa6242e6f Mon Sep 17 00:00:00 2001 +From 80d304bd39f345e33c0908f335b7ea6ee1257aa1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 19:53:19 +0200 -Subject: [PATCH 157/279] stomp-machine-mark-stomper-thread.patch +Subject: [PATCH 157/286] stomp-machine-mark-stomper-thread.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0158-stomp-machine-raw-lock.patch.patch b/debian/patches/features/all/rt/0158-stomp-machine-raw-lock.patch.patch index 2c95e1fbf..31149d3c9 100644 --- a/debian/patches/features/all/rt/0158-stomp-machine-raw-lock.patch.patch +++ b/debian/patches/features/all/rt/0158-stomp-machine-raw-lock.patch.patch @@ -1,7 +1,7 @@ -From 4d9b14b2e01c8ca95c7135d9de15cd3303795012 Mon Sep 17 00:00:00 2001 +From 4544efeac4d33d5031c0f28385f7f29ca7570714 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 11:01:51 +0200 -Subject: [PATCH 158/279] stomp-machine-raw-lock.patch +Subject: [PATCH 158/286] stomp-machine-raw-lock.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0159-hotplug-Lightweight-get-online-cpus.patch b/debian/patches/features/all/rt/0159-hotplug-Lightweight-get-online-cpus.patch index bac085fc4..52bf63356 100644 --- a/debian/patches/features/all/rt/0159-hotplug-Lightweight-get-online-cpus.patch +++ b/debian/patches/features/all/rt/0159-hotplug-Lightweight-get-online-cpus.patch @@ -1,7 +1,7 @@ -From 3cf0476c800498fc9752931072bb2511974ee560 Mon Sep 17 00:00:00 2001 +From 6552d7ac9b98509dfbd8597a3684fe81f29db088 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 12:36:06 +0200 -Subject: [PATCH 159/279] hotplug: Lightweight get online cpus +Subject: [PATCH 159/286] hotplug: Lightweight get online cpus get_online_cpus() is a heavy weight function which involves a global mutex. migrate_disable() wants a simpler construct which prevents only diff --git a/debian/patches/features/all/rt/0160-hotplug-sync_unplug-No.patch b/debian/patches/features/all/rt/0160-hotplug-sync_unplug-No.patch index 76cb5751f..4fbf470d4 100644 --- a/debian/patches/features/all/rt/0160-hotplug-sync_unplug-No.patch +++ b/debian/patches/features/all/rt/0160-hotplug-sync_unplug-No.patch @@ -1,7 +1,7 @@ -From 681113b77320b2386021053996819f47ca867b2e Mon Sep 17 00:00:00 2001 +From 69cdea9fbffdbb5c67339ad7c1f554a5219f6644 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Sun, 16 Oct 2011 18:56:43 +0800 -Subject: [PATCH 160/279] hotplug: sync_unplug: No " " in task name +Subject: [PATCH 160/286] hotplug: sync_unplug: No " " in task name Otherwise the output will look a little odd. diff --git a/debian/patches/features/all/rt/0161-hotplug-Reread-hotplug_pcp-on-pin_current_cpu-retry.patch b/debian/patches/features/all/rt/0161-hotplug-Reread-hotplug_pcp-on-pin_current_cpu-retry.patch index 03410ae94..e6ca75ad3 100644 --- a/debian/patches/features/all/rt/0161-hotplug-Reread-hotplug_pcp-on-pin_current_cpu-retry.patch +++ b/debian/patches/features/all/rt/0161-hotplug-Reread-hotplug_pcp-on-pin_current_cpu-retry.patch @@ -1,7 +1,7 @@ -From 83b4e825b32beae4c2e2440cb959c18f287d2df6 Mon Sep 17 00:00:00 2001 +From c98510f923871a26eb4791bde627f4bf39e022d0 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Thu, 28 Jul 2011 11:16:00 +0800 -Subject: [PATCH 161/279] hotplug: Reread hotplug_pcp on pin_current_cpu() +Subject: [PATCH 161/286] hotplug: Reread hotplug_pcp on pin_current_cpu() retry When retry happens, it's likely that the task has been migrated to diff --git a/debian/patches/features/all/rt/0162-sched-migrate-disable.patch.patch b/debian/patches/features/all/rt/0162-sched-migrate-disable.patch.patch index 7b00d6b58..fc05f59ea 100644 --- a/debian/patches/features/all/rt/0162-sched-migrate-disable.patch.patch +++ b/debian/patches/features/all/rt/0162-sched-migrate-disable.patch.patch @@ -1,7 +1,7 @@ -From 433e893065d418b4e44ecf96d3c921545e856709 Mon Sep 17 00:00:00 2001 +From 34e3eb3b7968b1bc5e47b11a72713108ab6d48ed Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Jun 2011 13:26:08 +0200 -Subject: [PATCH 162/279] sched-migrate-disable.patch +Subject: [PATCH 162/286] sched-migrate-disable.patch Signed-off-by: Thomas Gleixner --- @@ -82,7 +82,7 @@ index e6c58d8..94c8430 100644 * Generic and arch helpers */ diff --git a/kernel/sched.c b/kernel/sched.c -index 401a9d8..b8f2d85 100644 +index 92b84a7..71b1015 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6416,11 +6416,12 @@ static inline void sched_init_granularity(void) diff --git a/debian/patches/features/all/rt/0163-hotplug-use-migrate-disable.patch.patch b/debian/patches/features/all/rt/0163-hotplug-use-migrate-disable.patch.patch index e990e3d11..a42d10ed9 100644 --- a/debian/patches/features/all/rt/0163-hotplug-use-migrate-disable.patch.patch +++ b/debian/patches/features/all/rt/0163-hotplug-use-migrate-disable.patch.patch @@ -1,7 +1,7 @@ -From d79715a32f5fe5f2d08b5f61dc8cbb163e497c6c Mon Sep 17 00:00:00 2001 +From 5e5fc231b2931a2a04a24ece8f10ea848f5d5447 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 19:35:29 +0200 -Subject: [PATCH 163/279] hotplug-use-migrate-disable.patch +Subject: [PATCH 163/286] hotplug-use-migrate-disable.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0164-hotplug-Call-cpu_unplug_begin-before-DOWN_PREPARE.patch b/debian/patches/features/all/rt/0164-hotplug-Call-cpu_unplug_begin-before-DOWN_PREPARE.patch index ff56d5256..c7aaf1a18 100644 --- a/debian/patches/features/all/rt/0164-hotplug-Call-cpu_unplug_begin-before-DOWN_PREPARE.patch +++ b/debian/patches/features/all/rt/0164-hotplug-Call-cpu_unplug_begin-before-DOWN_PREPARE.patch @@ -1,7 +1,7 @@ -From ed19043ce734376cb1a7ddacba856ab2e9cee450 Mon Sep 17 00:00:00 2001 +From bb7d899a3c238c18ade630a9889fb9af1c5b8253 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Sun, 16 Oct 2011 18:56:44 +0800 -Subject: [PATCH 164/279] hotplug: Call cpu_unplug_begin() before DOWN_PREPARE +Subject: [PATCH 164/286] hotplug: Call cpu_unplug_begin() before DOWN_PREPARE cpu_unplug_begin() should be called before CPU_DOWN_PREPARE, because at CPU_DOWN_PREPARE cpu_active is cleared and sched_domain is diff --git a/debian/patches/features/all/rt/0165-ftrace-migrate-disable-tracing.patch.patch b/debian/patches/features/all/rt/0165-ftrace-migrate-disable-tracing.patch.patch index 113d8d8c1..cbb0d8150 100644 --- a/debian/patches/features/all/rt/0165-ftrace-migrate-disable-tracing.patch.patch +++ b/debian/patches/features/all/rt/0165-ftrace-migrate-disable-tracing.patch.patch @@ -1,7 +1,7 @@ -From 77a5f19ab869ef8d4dfbfc5671b51a5c6e4879db Mon Sep 17 00:00:00 2001 +From 2c756113a2d3203af50c0407a21c2d96293c686c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:56:42 +0200 -Subject: [PATCH 165/279] ftrace-migrate-disable-tracing.patch +Subject: [PATCH 165/286] ftrace-migrate-disable-tracing.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0166-tracing-Show-padding-as-unsigned-short.patch b/debian/patches/features/all/rt/0166-tracing-Show-padding-as-unsigned-short.patch index 9309da057..aa58955ce 100644 --- a/debian/patches/features/all/rt/0166-tracing-Show-padding-as-unsigned-short.patch +++ b/debian/patches/features/all/rt/0166-tracing-Show-padding-as-unsigned-short.patch @@ -1,7 +1,7 @@ -From 0f1d54d08c82f3a5d5cc67465da4b7724ada8c42 Mon Sep 17 00:00:00 2001 +From ad0df9ea86ca14e4875f4e5a436b3e81c4c59114 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 16 Nov 2011 13:19:35 -0500 -Subject: [PATCH 166/279] tracing: Show padding as unsigned short +Subject: [PATCH 166/286] tracing: Show padding as unsigned short RT added two bytes to trace migrate disable counting to the trace events and used two bytes of the padding to make the change. The structures and diff --git a/debian/patches/features/all/rt/0167-migrate-disable-rt-variant.patch.patch b/debian/patches/features/all/rt/0167-migrate-disable-rt-variant.patch.patch index 362d502d5..e623a2ef6 100644 --- a/debian/patches/features/all/rt/0167-migrate-disable-rt-variant.patch.patch +++ b/debian/patches/features/all/rt/0167-migrate-disable-rt-variant.patch.patch @@ -1,7 +1,7 @@ -From 0442ff9bdfd56e53785bb300ade215b27a74bcc4 Mon Sep 17 00:00:00 2001 +From b9dc0b2beafecc644b8293f0706693490f4c0961 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 19:48:20 +0200 -Subject: [PATCH 167/279] migrate-disable-rt-variant.patch +Subject: [PATCH 167/286] migrate-disable-rt-variant.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0168-sched-Optimize-migrate_disable.patch b/debian/patches/features/all/rt/0168-sched-Optimize-migrate_disable.patch index ba355f3e1..9436b8ac2 100644 --- a/debian/patches/features/all/rt/0168-sched-Optimize-migrate_disable.patch +++ b/debian/patches/features/all/rt/0168-sched-Optimize-migrate_disable.patch @@ -1,7 +1,7 @@ -From 03387e9ed2a86aa3b2ff02c36048e420f23f8e48 Mon Sep 17 00:00:00 2001 +From f1f420e5defecb91ee55a08367c25b5ec61ba85e Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 11 Aug 2011 15:03:35 +0200 -Subject: [PATCH 168/279] sched: Optimize migrate_disable +Subject: [PATCH 168/286] sched: Optimize migrate_disable Change from task_rq_lock() to raw_spin_lock(&rq->lock) to avoid a few atomic ops. See comment on why it should be safe. @@ -13,7 +13,7 @@ Link: http://lkml.kernel.org/n/tip-cbz6hkl5r5mvwtx5s3tor2y6@git.kernel.org 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index b8f2d85..45d61e7 100644 +index 71b1015..a100bf4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6511,7 +6511,19 @@ void migrate_disable(void) diff --git a/debian/patches/features/all/rt/0169-sched-Generic-migrate_disable.patch b/debian/patches/features/all/rt/0169-sched-Generic-migrate_disable.patch index e2601aa90..a021b262a 100644 --- a/debian/patches/features/all/rt/0169-sched-Generic-migrate_disable.patch +++ b/debian/patches/features/all/rt/0169-sched-Generic-migrate_disable.patch @@ -1,7 +1,7 @@ -From 36ff989b9512c60087e23ab922f45cede462a4ad Mon Sep 17 00:00:00 2001 +From 8438b2d559e54590f1c152ebe79c5c990b47afd8 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 11 Aug 2011 15:14:58 +0200 -Subject: [PATCH 169/279] sched: Generic migrate_disable +Subject: [PATCH 169/286] sched: Generic migrate_disable Make migrate_disable() be a preempt_disable() for !rt kernels. This allows generic code to use it but still enforces that these code @@ -122,7 +122,7 @@ index 94c8430..78fd0a2 100644 /* * Callback to arch code if there's nosmp or maxcpus=0 on the diff --git a/kernel/sched.c b/kernel/sched.c -index 45d61e7..b404fbf 100644 +index a100bf4..8371ca2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6416,7 +6416,7 @@ static inline void sched_init_granularity(void) diff --git a/debian/patches/features/all/rt/0170-sched-rt-Fix-migrate_enable-thinko.patch b/debian/patches/features/all/rt/0170-sched-rt-Fix-migrate_enable-thinko.patch index cd2dc5824..c0cb7c574 100644 --- a/debian/patches/features/all/rt/0170-sched-rt-Fix-migrate_enable-thinko.patch +++ b/debian/patches/features/all/rt/0170-sched-rt-Fix-migrate_enable-thinko.patch @@ -1,7 +1,7 @@ -From 0a693d93d84c362e6b35b01534055e241372f042 Mon Sep 17 00:00:00 2001 +From f02c5c59a7d620d7ba20ab855e3c37a4423740f5 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 23 Aug 2011 16:12:43 +0200 -Subject: [PATCH 170/279] sched, rt: Fix migrate_enable() thinko +Subject: [PATCH 170/286] sched, rt: Fix migrate_enable() thinko Assigning mask = tsk_cpus_allowed(p) after p->migrate_disable = 0 ensures that we won't see a mask change.. no push/pull, we stack tasks on one CPU. @@ -21,7 +21,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kernel/sched.c b/kernel/sched.c -index b404fbf..0d67d9b 100644 +index 8371ca2..ffca20a 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6568,12 +6568,14 @@ void migrate_enable(void) diff --git a/debian/patches/features/all/rt/0171-sched-teach-migrate_disable-about-atomic-contexts.patch b/debian/patches/features/all/rt/0171-sched-teach-migrate_disable-about-atomic-contexts.patch index e7fdea57a..6b14ee497 100644 --- a/debian/patches/features/all/rt/0171-sched-teach-migrate_disable-about-atomic-contexts.patch +++ b/debian/patches/features/all/rt/0171-sched-teach-migrate_disable-about-atomic-contexts.patch @@ -1,7 +1,7 @@ -From feb14efa05b47d433e36bb31af9f52b8d99b40f0 Mon Sep 17 00:00:00 2001 +From e64137f3db6ffb7018e453383f2d6a6f7bed13a7 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:29:27 +0200 -Subject: [PATCH 171/279] sched: teach migrate_disable about atomic contexts +Subject: [PATCH 171/286] sched: teach migrate_disable about atomic contexts [] spin_bug+0x94/0xa8 [] do_raw_spin_lock+0x43/0xea @@ -49,7 +49,7 @@ index b409b94..43cdbef 100644 cpumask_t cpus_allowed; diff --git a/kernel/sched.c b/kernel/sched.c -index 0d67d9b..e29c9b1 100644 +index ffca20a..0589959 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -6499,6 +6499,17 @@ void migrate_disable(void) diff --git a/debian/patches/features/all/rt/0172-sched-Postpone-actual-migration-disalbe-to-schedule.patch b/debian/patches/features/all/rt/0172-sched-Postpone-actual-migration-disalbe-to-schedule.patch index 00197b297..9c23dd121 100644 --- a/debian/patches/features/all/rt/0172-sched-Postpone-actual-migration-disalbe-to-schedule.patch +++ b/debian/patches/features/all/rt/0172-sched-Postpone-actual-migration-disalbe-to-schedule.patch @@ -1,7 +1,7 @@ -From 5ba543efb5dcd0b0ad21454932c550b776340384 Mon Sep 17 00:00:00 2001 +From af02e53ec65afc8aaf655501b77f9cf86c8ebc1c Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 27 Sep 2011 08:40:23 -0400 -Subject: [PATCH 172/279] sched: Postpone actual migration disalbe to schedule +Subject: [PATCH 172/286] sched: Postpone actual migration disalbe to schedule The migrate_disable() can cause a bit of a overhead to the RT kernel, as changing the affinity is expensive to do at every lock encountered. @@ -23,7 +23,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 132 insertions(+), 119 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index e29c9b1..b488eba 100644 +index 0589959..27d114a 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4549,6 +4549,135 @@ static inline void schedule_debug(struct task_struct *prev) diff --git a/debian/patches/features/all/rt/0173-sched-Do-not-compare-cpu-masks-in-scheduler.patch b/debian/patches/features/all/rt/0173-sched-Do-not-compare-cpu-masks-in-scheduler.patch index 339ec6b48..417c30096 100644 --- a/debian/patches/features/all/rt/0173-sched-Do-not-compare-cpu-masks-in-scheduler.patch +++ b/debian/patches/features/all/rt/0173-sched-Do-not-compare-cpu-masks-in-scheduler.patch @@ -1,7 +1,7 @@ -From ec1aba06603575b8bce62dc1ac07081b5bdfe56a Mon Sep 17 00:00:00 2001 +From 2877817df626dc1ef9ade6c96d4685a87adc2e26 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 27 Sep 2011 08:40:24 -0400 -Subject: [PATCH 173/279] sched: Do not compare cpu masks in scheduler +Subject: [PATCH 173/286] sched: Do not compare cpu masks in scheduler Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index b488eba..07e0bce 100644 +index 27d114a..08189cd 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4577,16 +4577,12 @@ static inline void update_migrate_disable(struct task_struct *p) diff --git a/debian/patches/features/all/rt/0174-sched-Have-migrate_disable-ignore-bounded-threads.patch b/debian/patches/features/all/rt/0174-sched-Have-migrate_disable-ignore-bounded-threads.patch index fc38165e1..a8619061a 100644 --- a/debian/patches/features/all/rt/0174-sched-Have-migrate_disable-ignore-bounded-threads.patch +++ b/debian/patches/features/all/rt/0174-sched-Have-migrate_disable-ignore-bounded-threads.patch @@ -1,7 +1,7 @@ -From b6dbb63a40ea6e3002df3fdbd28659925e82ee73 Mon Sep 17 00:00:00 2001 +From bd918c57c2f6a09b6f464dad0689c8597ffb1469 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 27 Sep 2011 08:40:25 -0400 -Subject: [PATCH 174/279] sched: Have migrate_disable ignore bounded threads +Subject: [PATCH 174/286] sched: Have migrate_disable ignore bounded threads Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 07e0bce..10d9c84 100644 +index 08189cd..24ebc15 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4589,7 +4589,7 @@ void migrate_disable(void) diff --git a/debian/patches/features/all/rt/0175-sched-clear-pf-thread-bound-on-fallback-rq.patch.patch b/debian/patches/features/all/rt/0175-sched-clear-pf-thread-bound-on-fallback-rq.patch.patch index 33e871635..3227aed31 100644 --- a/debian/patches/features/all/rt/0175-sched-clear-pf-thread-bound-on-fallback-rq.patch.patch +++ b/debian/patches/features/all/rt/0175-sched-clear-pf-thread-bound-on-fallback-rq.patch.patch @@ -1,7 +1,7 @@ -From 47e89b7aeaa2835014c6f67e2bc54d4a59df2b5a Mon Sep 17 00:00:00 2001 +From 07b62a463d81c67985b1af6acaed490d8aaa4d86 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 4 Nov 2011 20:48:36 +0100 -Subject: [PATCH 175/279] sched-clear-pf-thread-bound-on-fallback-rq.patch +Subject: [PATCH 175/286] sched-clear-pf-thread-bound-on-fallback-rq.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 10d9c84..1f4fd59 100644 +index 24ebc15..ba3ddde 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2566,7 +2566,12 @@ static int select_fallback_rq(int cpu, struct task_struct *p) diff --git a/debian/patches/features/all/rt/0176-ftrace-crap.patch.patch b/debian/patches/features/all/rt/0176-ftrace-crap.patch.patch index 6d88762d9..ecf2860e0 100644 --- a/debian/patches/features/all/rt/0176-ftrace-crap.patch.patch +++ b/debian/patches/features/all/rt/0176-ftrace-crap.patch.patch @@ -1,7 +1,7 @@ -From a79da6ebfca4a07d6029d0b664f693b0debc10c4 Mon Sep 17 00:00:00 2001 +From 923f80e759bf088912622da0608a7691665f2086 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 9 Sep 2011 16:55:53 +0200 -Subject: [PATCH 176/279] ftrace-crap.patch +Subject: [PATCH 176/286] ftrace-crap.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0177-ring-buffer-Convert-reader_lock-from-raw_spin_lock-i.patch b/debian/patches/features/all/rt/0177-ring-buffer-Convert-reader_lock-from-raw_spin_lock-i.patch index e18be6602..f06b96b2c 100644 --- a/debian/patches/features/all/rt/0177-ring-buffer-Convert-reader_lock-from-raw_spin_lock-i.patch +++ b/debian/patches/features/all/rt/0177-ring-buffer-Convert-reader_lock-from-raw_spin_lock-i.patch @@ -1,7 +1,7 @@ -From b895a9e6ffef5bcb3f28d209398d7e5932fa63b0 Mon Sep 17 00:00:00 2001 +From be19d86a58a1128b6da17e09ad1d4c6fd60878f8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 27 Sep 2011 13:56:50 -0400 -Subject: [PATCH 177/279] ring-buffer: Convert reader_lock from raw_spin_lock +Subject: [PATCH 177/286] ring-buffer: Convert reader_lock from raw_spin_lock into spin_lock The reader_lock is mostly taken in normal context with interrupts enabled. diff --git a/debian/patches/features/all/rt/0178-net-netif_rx_ni-migrate-disable.patch.patch b/debian/patches/features/all/rt/0178-net-netif_rx_ni-migrate-disable.patch.patch index af383f9a2..c74c87e2b 100644 --- a/debian/patches/features/all/rt/0178-net-netif_rx_ni-migrate-disable.patch.patch +++ b/debian/patches/features/all/rt/0178-net-netif_rx_ni-migrate-disable.patch.patch @@ -1,7 +1,7 @@ -From 8d3cb91451106df3606fa8e149edcd3bdac1c00f Mon Sep 17 00:00:00 2001 +From 658836829256cc1052e43a1f747fdea7000c628c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 16:29:27 +0200 -Subject: [PATCH 178/279] net-netif_rx_ni-migrate-disable.patch +Subject: [PATCH 178/286] net-netif_rx_ni-migrate-disable.patch Signed-off-by: Thomas Gleixner --- @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index b707c2a..c68e4f9 100644 +index 7d52b8a..84a06b9 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3026,11 +3026,11 @@ int netif_rx_ni(struct sk_buff *skb) +@@ -3028,11 +3028,11 @@ int netif_rx_ni(struct sk_buff *skb) { int err; diff --git a/debian/patches/features/all/rt/0179-softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch b/debian/patches/features/all/rt/0179-softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch index eee08df7c..8742e5569 100644 --- a/debian/patches/features/all/rt/0179-softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch +++ b/debian/patches/features/all/rt/0179-softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch @@ -1,7 +1,7 @@ -From 81d50e060d9e9e86b0c3023cd2c47f2233cc27bf Mon Sep 17 00:00:00 2001 +From 75cc33f62186d3cac12d53ecbe44ff7f1a1ef2fa Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 13:16:38 -0500 -Subject: [PATCH 179/279] softirq: Sanitize softirq pending for NOHZ/RT +Subject: [PATCH 179/286] softirq: Sanitize softirq pending for NOHZ/RT Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0180-lockdep-rt.patch.patch b/debian/patches/features/all/rt/0180-lockdep-rt.patch.patch index d01c52726..0ad17eba5 100644 --- a/debian/patches/features/all/rt/0180-lockdep-rt.patch.patch +++ b/debian/patches/features/all/rt/0180-lockdep-rt.patch.patch @@ -1,7 +1,7 @@ -From 30e3a5875246a1d12f0d1d9db946e6a02d101d5c Mon Sep 17 00:00:00 2001 +From 957ab224d7acea9d2ebf6461b58d29a617e89f95 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 18:51:23 +0200 -Subject: [PATCH 180/279] lockdep-rt.patch +Subject: [PATCH 180/286] lockdep-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0181-mutex-no-spin-on-rt.patch.patch b/debian/patches/features/all/rt/0181-mutex-no-spin-on-rt.patch.patch index 56b36276f..35d9b2310 100644 --- a/debian/patches/features/all/rt/0181-mutex-no-spin-on-rt.patch.patch +++ b/debian/patches/features/all/rt/0181-mutex-no-spin-on-rt.patch.patch @@ -1,7 +1,7 @@ -From de752bf16ed9f10ebb1d9aac5f2eb65ab02b6141 Mon Sep 17 00:00:00 2001 +From 7ea78314b80f67914be64f02f31290b6caff7254 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:51:45 +0200 -Subject: [PATCH 181/279] mutex-no-spin-on-rt.patch +Subject: [PATCH 181/286] mutex-no-spin-on-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0182-softirq-local-lock.patch.patch b/debian/patches/features/all/rt/0182-softirq-local-lock.patch.patch index 980e6d522..10dff393a 100644 --- a/debian/patches/features/all/rt/0182-softirq-local-lock.patch.patch +++ b/debian/patches/features/all/rt/0182-softirq-local-lock.patch.patch @@ -1,7 +1,7 @@ -From 5165a9c2f312787cb8f0e4996b2a62eb0c81962b Mon Sep 17 00:00:00 2001 +From ffd9842fa2e11fbccf827b401cfa8be861d8bf3c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 15:57:18 +0200 -Subject: [PATCH 182/279] softirq-local-lock.patch +Subject: [PATCH 182/286] softirq-local-lock.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0183-softirq-Export-in_serving_softirq.patch b/debian/patches/features/all/rt/0183-softirq-Export-in_serving_softirq.patch index 50ec5d8b5..df1567002 100644 --- a/debian/patches/features/all/rt/0183-softirq-Export-in_serving_softirq.patch +++ b/debian/patches/features/all/rt/0183-softirq-Export-in_serving_softirq.patch @@ -1,7 +1,7 @@ -From cc079a450152596923c83181c0170d6a901d33e2 Mon Sep 17 00:00:00 2001 +From 764ba375b25152aa4e71aa1191873b7416edd3bc Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 14 Nov 2011 02:44:43 +0100 -Subject: [PATCH 183/279] softirq: Export in_serving_softirq() +Subject: [PATCH 183/286] softirq: Export in_serving_softirq() ERROR: "in_serving_softirq" [net/sched/cls_cgroup.ko] undefined! diff --git a/debian/patches/features/all/rt/0184-hardirq.h-Define-softirq_count-as-OUL-to-kill-build-.patch b/debian/patches/features/all/rt/0184-hardirq.h-Define-softirq_count-as-OUL-to-kill-build-.patch index 47a470005..e5989e227 100644 --- a/debian/patches/features/all/rt/0184-hardirq.h-Define-softirq_count-as-OUL-to-kill-build-.patch +++ b/debian/patches/features/all/rt/0184-hardirq.h-Define-softirq_count-as-OUL-to-kill-build-.patch @@ -1,7 +1,7 @@ -From 293b54b90606d46377453a7b1cbf83e7e9e3b462 Mon Sep 17 00:00:00 2001 +From b66e3931416631458a713d663a48960bf25fb2fa Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Thu, 13 Oct 2011 17:19:09 +0800 -Subject: [PATCH 184/279] hardirq.h: Define softirq_count() as OUL to kill +Subject: [PATCH 184/286] hardirq.h: Define softirq_count() as OUL to kill build warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/debian/patches/features/all/rt/0185-softirq-Fix-unplug-deadlock.patch b/debian/patches/features/all/rt/0185-softirq-Fix-unplug-deadlock.patch index da8979188..9bea6f8bf 100644 --- a/debian/patches/features/all/rt/0185-softirq-Fix-unplug-deadlock.patch +++ b/debian/patches/features/all/rt/0185-softirq-Fix-unplug-deadlock.patch @@ -1,7 +1,7 @@ -From d4732f819b3ca859e60c23e0e3466b413a7a6089 Mon Sep 17 00:00:00 2001 +From 50602f77d65d793f30b79b6d60afaf6488ef1148 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 30 Sep 2011 15:52:14 +0200 -Subject: [PATCH 185/279] softirq: Fix unplug deadlock +Subject: [PATCH 185/286] softirq: Fix unplug deadlock If ksoftirqd gets woken during hot-unplug, __thread_do_softirq() will call pin_current_cpu() which will block on the held cpu_hotplug.lock. diff --git a/debian/patches/features/all/rt/0186-softirq-disable-softirq-stacks-for-rt.patch.patch b/debian/patches/features/all/rt/0186-softirq-disable-softirq-stacks-for-rt.patch.patch index 21fa2697f..20bd5e3eb 100644 --- a/debian/patches/features/all/rt/0186-softirq-disable-softirq-stacks-for-rt.patch.patch +++ b/debian/patches/features/all/rt/0186-softirq-disable-softirq-stacks-for-rt.patch.patch @@ -1,7 +1,7 @@ -From 2084e9692ab92ae5298a10d2b7ccbe6c27164a71 Mon Sep 17 00:00:00 2001 +From 55d3caae116725553731cbb3b08de64283de735e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 13:59:17 +0200 -Subject: [PATCH 186/279] softirq-disable-softirq-stacks-for-rt.patch +Subject: [PATCH 186/286] softirq-disable-softirq-stacks-for-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0187-softirq-make-fifo.patch.patch b/debian/patches/features/all/rt/0187-softirq-make-fifo.patch.patch index 9050c52f8..979e9bc9f 100644 --- a/debian/patches/features/all/rt/0187-softirq-make-fifo.patch.patch +++ b/debian/patches/features/all/rt/0187-softirq-make-fifo.patch.patch @@ -1,7 +1,7 @@ -From 6e8095d710347a2d57d91f29adf3a16c91cc77ac Mon Sep 17 00:00:00 2001 +From d5edbedd261d1574634b5a917d6b34368f5baaf2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 21:06:43 +0200 -Subject: [PATCH 187/279] softirq-make-fifo.patch +Subject: [PATCH 187/286] softirq-make-fifo.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0188-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch b/debian/patches/features/all/rt/0188-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch index b61ae564e..611c864a6 100644 --- a/debian/patches/features/all/rt/0188-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch +++ b/debian/patches/features/all/rt/0188-tasklet-Prevent-tasklets-from-going-into-infinite-sp.patch @@ -1,7 +1,7 @@ -From 042fed3af86b80fc1c3cae307655ff75a8428c76 Mon Sep 17 00:00:00 2001 +From c74078089e11b27f35d28604e8d2d5d9059a9bf3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 29 Nov 2011 20:18:22 -0500 -Subject: [PATCH 188/279] tasklet: Prevent tasklets from going into infinite +Subject: [PATCH 188/286] tasklet: Prevent tasklets from going into infinite spin in RT When CONFIG_PREEMPT_RT_FULL is enabled, tasklets run as threads, diff --git a/debian/patches/features/all/rt/0189-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch b/debian/patches/features/all/rt/0189-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch index e42eaa4d1..dbd14cb05 100644 --- a/debian/patches/features/all/rt/0189-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch +++ b/debian/patches/features/all/rt/0189-genirq-Allow-disabling-of-softirq-processing-in-irq-.patch @@ -1,7 +1,7 @@ -From 7763157c0ed364b14dbaa33319ee63c3cb8671db Mon Sep 17 00:00:00 2001 +From 7f84783fa4d02f187f392ea792a3a83cc5183118 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 Jan 2012 13:01:27 +0100 -Subject: [PATCH 189/279] genirq: Allow disabling of softirq processing in irq +Subject: [PATCH 189/286] genirq: Allow disabling of softirq processing in irq thread context The processing of softirqs in irq thread context is a performance gain diff --git a/debian/patches/features/all/rt/0190-local-vars-migrate-disable.patch.patch b/debian/patches/features/all/rt/0190-local-vars-migrate-disable.patch.patch index e328d995c..ea1c39df5 100644 --- a/debian/patches/features/all/rt/0190-local-vars-migrate-disable.patch.patch +++ b/debian/patches/features/all/rt/0190-local-vars-migrate-disable.patch.patch @@ -1,7 +1,7 @@ -From bd0482a895d9344bb343590cc9fd49d12f1eca78 Mon Sep 17 00:00:00 2001 +From d6f3cc6e57150cd9d1188ae64dd8256e1e2a83bb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 20:42:16 +0200 -Subject: [PATCH 190/279] local-vars-migrate-disable.patch +Subject: [PATCH 190/286] local-vars-migrate-disable.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0191-md-raid5-Make-raid5_percpu-handling-RT-aware.patch b/debian/patches/features/all/rt/0191-md-raid5-Make-raid5_percpu-handling-RT-aware.patch index 701e43c0e..0ec96c1de 100644 --- a/debian/patches/features/all/rt/0191-md-raid5-Make-raid5_percpu-handling-RT-aware.patch +++ b/debian/patches/features/all/rt/0191-md-raid5-Make-raid5_percpu-handling-RT-aware.patch @@ -1,7 +1,7 @@ -From eba20e06c91139e883adfb7dbba7dbe1b2ab411c Mon Sep 17 00:00:00 2001 +From 0f0fccb5ac494fc036e635dd7bcb9420afd3b538 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Apr 2010 16:51:31 +0200 -Subject: [PATCH 191/279] md: raid5: Make raid5_percpu handling RT aware +Subject: [PATCH 191/286] md: raid5: Make raid5_percpu handling RT aware __raid_run_ops() disables preemption with get_cpu() around the access to the raid5_percpu variables. That causes scheduling while atomic diff --git a/debian/patches/features/all/rt/0192-rtmutex-lock-killable.patch.patch b/debian/patches/features/all/rt/0192-rtmutex-lock-killable.patch.patch index 4f753dc5d..dbb4d4cac 100644 --- a/debian/patches/features/all/rt/0192-rtmutex-lock-killable.patch.patch +++ b/debian/patches/features/all/rt/0192-rtmutex-lock-killable.patch.patch @@ -1,7 +1,7 @@ -From 5b66ad78e811724848961aabbbdf4049756c56ee Mon Sep 17 00:00:00 2001 +From 392a37ff7b8913fd67ba19a0fe14530c2f710c82 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 9 Jun 2011 11:43:52 +0200 -Subject: [PATCH 192/279] rtmutex-lock-killable.patch +Subject: [PATCH 192/286] rtmutex-lock-killable.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0193-rtmutex-futex-prepare-rt.patch.patch b/debian/patches/features/all/rt/0193-rtmutex-futex-prepare-rt.patch.patch index f9d4e83e0..e457c6cd0 100644 --- a/debian/patches/features/all/rt/0193-rtmutex-futex-prepare-rt.patch.patch +++ b/debian/patches/features/all/rt/0193-rtmutex-futex-prepare-rt.patch.patch @@ -1,7 +1,7 @@ -From b76ffe4039e544a31a181ba1a921851b2427e497 Mon Sep 17 00:00:00 2001 +From c1756f6f1a07f9cf79f771f9b70468cd49bb821c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:04:15 +0200 -Subject: [PATCH 193/279] rtmutex-futex-prepare-rt.patch +Subject: [PATCH 193/286] rtmutex-futex-prepare-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0194-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch b/debian/patches/features/all/rt/0194-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch index 5420b9a85..16ff0c657 100644 --- a/debian/patches/features/all/rt/0194-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch +++ b/debian/patches/features/all/rt/0194-futex-Fix-bug-on-when-a-requeued-RT-task-times-out.patch @@ -1,7 +1,7 @@ -From 52b4192fcf5d436e136b7abbdaebd8e48b56afcc Mon Sep 17 00:00:00 2001 +From 7b89efc75d92ed4c6a47931e64a651d6e9a0a7ac Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 10 Apr 2012 14:34:13 -0400 -Subject: [PATCH 194/279] futex: Fix bug on when a requeued RT task times out +Subject: [PATCH 194/286] futex: Fix bug on when a requeued RT task times out Requeue with timeout causes a bug with PREEMPT_RT_FULL. diff --git a/debian/patches/features/all/rt/0195-rt-mutex-add-sleeping-spinlocks-support.patch.patch b/debian/patches/features/all/rt/0195-rt-mutex-add-sleeping-spinlocks-support.patch.patch index c3ad9970a..0335e9a18 100644 --- a/debian/patches/features/all/rt/0195-rt-mutex-add-sleeping-spinlocks-support.patch.patch +++ b/debian/patches/features/all/rt/0195-rt-mutex-add-sleeping-spinlocks-support.patch.patch @@ -1,7 +1,7 @@ -From eb795fdbb61f3b15aa47198fbaf9088b378e02fc Mon Sep 17 00:00:00 2001 +From 94fef82483f5dddcfbd71325fb80af1897d47b13 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:21:25 +0200 -Subject: [PATCH 195/279] rt-mutex-add-sleeping-spinlocks-support.patch +Subject: [PATCH 195/286] rt-mutex-add-sleeping-spinlocks-support.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0196-spinlock-types-separate-raw.patch.patch b/debian/patches/features/all/rt/0196-spinlock-types-separate-raw.patch.patch index a8a2b1c9d..3f37ef1bc 100644 --- a/debian/patches/features/all/rt/0196-spinlock-types-separate-raw.patch.patch +++ b/debian/patches/features/all/rt/0196-spinlock-types-separate-raw.patch.patch @@ -1,7 +1,7 @@ -From 070e0e4df5bc3e89904e1c75ee1a5d74f33e252b Mon Sep 17 00:00:00 2001 +From bc5a479d00f2cc82c7b1c9f8a9c39ca9edc876c7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:34:01 +0200 -Subject: [PATCH 196/279] spinlock-types-separate-raw.patch +Subject: [PATCH 196/286] spinlock-types-separate-raw.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0197-rtmutex-avoid-include-hell.patch.patch b/debian/patches/features/all/rt/0197-rtmutex-avoid-include-hell.patch.patch index 28806918f..7a10ce3da 100644 --- a/debian/patches/features/all/rt/0197-rtmutex-avoid-include-hell.patch.patch +++ b/debian/patches/features/all/rt/0197-rtmutex-avoid-include-hell.patch.patch @@ -1,7 +1,7 @@ -From d080d5b4e6948f71c3f708b1cf3d80d2f3c41088 Mon Sep 17 00:00:00 2001 +From 8c3484dd7943bff8d825cbced0db9408ddcdbda6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:06:39 +0200 -Subject: [PATCH 197/279] rtmutex-avoid-include-hell.patch +Subject: [PATCH 197/286] rtmutex-avoid-include-hell.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0198-rt-add-rt-spinlocks.patch.patch b/debian/patches/features/all/rt/0198-rt-add-rt-spinlocks.patch.patch index f1a516cc3..b519a98de 100644 --- a/debian/patches/features/all/rt/0198-rt-add-rt-spinlocks.patch.patch +++ b/debian/patches/features/all/rt/0198-rt-add-rt-spinlocks.patch.patch @@ -1,7 +1,7 @@ -From 6a984c94e16265689f5cf8574c6c3ed969bfacbd Mon Sep 17 00:00:00 2001 +From 11f4d187a6b325877e260cc6b08a3d667d53b3ec Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:43:35 +0200 -Subject: [PATCH 198/279] rt-add-rt-spinlocks.patch +Subject: [PATCH 198/286] rt-add-rt-spinlocks.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0199-rt-add-rt-to-mutex-headers.patch.patch b/debian/patches/features/all/rt/0199-rt-add-rt-to-mutex-headers.patch.patch index ec5518f8e..28a3c6b5d 100644 --- a/debian/patches/features/all/rt/0199-rt-add-rt-to-mutex-headers.patch.patch +++ b/debian/patches/features/all/rt/0199-rt-add-rt-to-mutex-headers.patch.patch @@ -1,7 +1,7 @@ -From 34acf41962a1566011744ecf9d3078665a7e753c Mon Sep 17 00:00:00 2001 +From 57d72465adcfe22824977be1eb15cfec34873bdf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:56:22 +0200 -Subject: [PATCH 199/279] rt-add-rt-to-mutex-headers.patch +Subject: [PATCH 199/286] rt-add-rt-to-mutex-headers.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0200-rwsem-add-rt-variant.patch.patch b/debian/patches/features/all/rt/0200-rwsem-add-rt-variant.patch.patch index 2e24d5e76..4aa20d27f 100644 --- a/debian/patches/features/all/rt/0200-rwsem-add-rt-variant.patch.patch +++ b/debian/patches/features/all/rt/0200-rwsem-add-rt-variant.patch.patch @@ -1,7 +1,7 @@ -From 194184ce521e6d5d0a2894db2f529bff24ed4214 Mon Sep 17 00:00:00 2001 +From 21ac82cde3262b5953cb79655c567fb41bb14146 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 21:02:53 +0200 -Subject: [PATCH 200/279] rwsem-add-rt-variant.patch +Subject: [PATCH 200/286] rwsem-add-rt-variant.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0201-rt-Add-the-preempt-rt-lock-replacement-APIs.patch b/debian/patches/features/all/rt/0201-rt-Add-the-preempt-rt-lock-replacement-APIs.patch index d54213304..83d84119f 100644 --- a/debian/patches/features/all/rt/0201-rt-Add-the-preempt-rt-lock-replacement-APIs.patch +++ b/debian/patches/features/all/rt/0201-rt-Add-the-preempt-rt-lock-replacement-APIs.patch @@ -1,7 +1,7 @@ -From f87bce095fe423204fa1d40fb529c8644000f23b Mon Sep 17 00:00:00 2001 +From 7d75be84f6e2f7d54b6a7be9a385f8723d75b8a5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 19:39:56 +0200 -Subject: [PATCH 201/279] rt: Add the preempt-rt lock replacement APIs +Subject: [PATCH 201/286] rt: Add the preempt-rt lock replacement APIs Map spinlocks, rwlocks, rw_semaphores and semaphores to the rt_mutex based locking functions for preempt-rt. diff --git a/debian/patches/features/all/rt/0202-rwlocks-Fix-section-mismatch.patch b/debian/patches/features/all/rt/0202-rwlocks-Fix-section-mismatch.patch index 0562ffb2e..f6668cc8f 100644 --- a/debian/patches/features/all/rt/0202-rwlocks-Fix-section-mismatch.patch +++ b/debian/patches/features/all/rt/0202-rwlocks-Fix-section-mismatch.patch @@ -1,7 +1,7 @@ -From cca1107867427917c0f5f1b0f5130fa191764ef9 Mon Sep 17 00:00:00 2001 +From 2425bac82fec3d57a82c9fe6f51aa13ffc90f7b6 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 19 Sep 2011 11:09:27 +0200 -Subject: [PATCH 202/279] rwlocks: Fix section mismatch +Subject: [PATCH 202/286] rwlocks: Fix section mismatch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/debian/patches/features/all/rt/0203-timer-handle-idle-trylock-in-get-next-timer-irq.patc.patch b/debian/patches/features/all/rt/0203-timer-handle-idle-trylock-in-get-next-timer-irq.patc.patch index c07a56858..3a299490c 100644 --- a/debian/patches/features/all/rt/0203-timer-handle-idle-trylock-in-get-next-timer-irq.patc.patch +++ b/debian/patches/features/all/rt/0203-timer-handle-idle-trylock-in-get-next-timer-irq.patc.patch @@ -1,7 +1,7 @@ -From b2bc185580efb598bbe7a007a1703a8fc22d3b69 Mon Sep 17 00:00:00 2001 +From 8ddfc4272c466d8f6fb957981a53a37ae372908d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:08:38 +0200 -Subject: [PATCH 203/279] timer-handle-idle-trylock-in-get-next-timer-irq.patch +Subject: [PATCH 203/286] timer-handle-idle-trylock-in-get-next-timer-irq.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0204-RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch b/debian/patches/features/all/rt/0204-RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch index f6c9e19d6..a9d9c6e5e 100644 --- a/debian/patches/features/all/rt/0204-RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch +++ b/debian/patches/features/all/rt/0204-RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch @@ -1,7 +1,7 @@ -From d419bf8d20609bcc0260f325ca325472edbd9f3b Mon Sep 17 00:00:00 2001 +From 57f7fbf55168a1901c3ba7d297c44248000d8c0a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:30 -0500 -Subject: [PATCH 204/279] RCU: Force PREEMPT_RCU for PREEMPT-RT +Subject: [PATCH 204/286] RCU: Force PREEMPT_RCU for PREEMPT-RT PREEMPT_RT relies on PREEMPT_RCU - only allow RCU to be configured interactively in the !PREEMPT_RT case. diff --git a/debian/patches/features/all/rt/0205-rcu-Frob-softirq-test.patch b/debian/patches/features/all/rt/0205-rcu-Frob-softirq-test.patch index e1b234b75..a176e6c20 100644 --- a/debian/patches/features/all/rt/0205-rcu-Frob-softirq-test.patch +++ b/debian/patches/features/all/rt/0205-rcu-Frob-softirq-test.patch @@ -1,7 +1,7 @@ -From 6cfa80d61badaa3ee47008c0e49c22a30dcdb9e9 Mon Sep 17 00:00:00 2001 +From 35d5b3531e3b8856af0858f573530ae46c4b81c9 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Sat, 13 Aug 2011 00:23:17 +0200 -Subject: [PATCH 205/279] rcu: Frob softirq test +Subject: [PATCH 205/286] rcu: Frob softirq test With RT_FULL we get the below wreckage: diff --git a/debian/patches/features/all/rt/0206-rcu-Merge-RCU-bh-into-RCU-preempt.patch b/debian/patches/features/all/rt/0206-rcu-Merge-RCU-bh-into-RCU-preempt.patch index 06e00569a..5dc824662 100644 --- a/debian/patches/features/all/rt/0206-rcu-Merge-RCU-bh-into-RCU-preempt.patch +++ b/debian/patches/features/all/rt/0206-rcu-Merge-RCU-bh-into-RCU-preempt.patch @@ -1,7 +1,7 @@ -From 9fc2e777c08d86ef478fb447f420373dec72a46b Mon Sep 17 00:00:00 2001 +From 3ef36738d126f1334aaa007b0f570f994ca01e79 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 11:59:38 -0700 -Subject: [PATCH 206/279] rcu: Merge RCU-bh into RCU-preempt +Subject: [PATCH 206/286] rcu: Merge RCU-bh into RCU-preempt The Linux kernel has long RCU-bh read-side critical sections that intolerably increase scheduling latency under mainline's RCU-bh rules, diff --git a/debian/patches/features/all/rt/0207-rcu-Fix-macro-substitution-for-synchronize_rcu_bh-on.patch b/debian/patches/features/all/rt/0207-rcu-Fix-macro-substitution-for-synchronize_rcu_bh-on.patch index 0d475eb15..be20a1472 100644 --- a/debian/patches/features/all/rt/0207-rcu-Fix-macro-substitution-for-synchronize_rcu_bh-on.patch +++ b/debian/patches/features/all/rt/0207-rcu-Fix-macro-substitution-for-synchronize_rcu_bh-on.patch @@ -1,7 +1,7 @@ -From 02da46616064231b1f215004b849d925f1429bff Mon Sep 17 00:00:00 2001 +From a5e791c6e7902106e76b6d8637e4ed00fee852ca Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 14 Nov 2011 02:44:42 +0100 -Subject: [PATCH 207/279] rcu: Fix macro substitution for synchronize_rcu_bh() +Subject: [PATCH 207/286] rcu: Fix macro substitution for synchronize_rcu_bh() on RT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/debian/patches/features/all/rt/0208-rcu-more-fallout.patch.patch b/debian/patches/features/all/rt/0208-rcu-more-fallout.patch.patch index c1e3017b6..bc58dcd29 100644 --- a/debian/patches/features/all/rt/0208-rcu-more-fallout.patch.patch +++ b/debian/patches/features/all/rt/0208-rcu-more-fallout.patch.patch @@ -1,7 +1,7 @@ -From 5345990cf89c0b38d1c5261b71bee6e8dcf85a33 Mon Sep 17 00:00:00 2001 +From 53b84c46f7a3fbd26a00abbdb10643fbc58b1ae9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 10:57:54 +0100 -Subject: [PATCH 208/279] rcu-more-fallout.patch +Subject: [PATCH 208/286] rcu-more-fallout.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0209-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch b/debian/patches/features/all/rt/0209-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch index 34d306ee3..9afe0d55d 100644 --- a/debian/patches/features/all/rt/0209-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch +++ b/debian/patches/features/all/rt/0209-rcu-Make-ksoftirqd-do-RCU-quiescent-states.patch @@ -1,7 +1,7 @@ -From c69498d62217e4d5d8e8072f8af06d56b9455bc2 Mon Sep 17 00:00:00 2001 +From 45a47fb851b03bc6c5aeaad6765eb62c9c70d26b Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 5 Oct 2011 11:45:18 -0700 -Subject: [PATCH 209/279] rcu: Make ksoftirqd do RCU quiescent states +Subject: [PATCH 209/286] rcu: Make ksoftirqd do RCU quiescent states Implementing RCU-bh in terms of RCU-preempt makes the system vulnerable to network-based denial-of-service attacks. This patch therefore diff --git a/debian/patches/features/all/rt/0210-rt-rcutree-Move-misplaced-prototype.patch b/debian/patches/features/all/rt/0210-rt-rcutree-Move-misplaced-prototype.patch index 2411be3f3..451a5a8ab 100644 --- a/debian/patches/features/all/rt/0210-rt-rcutree-Move-misplaced-prototype.patch +++ b/debian/patches/features/all/rt/0210-rt-rcutree-Move-misplaced-prototype.patch @@ -1,7 +1,7 @@ -From 37e6aa83c61f01d018869732878d3c319a9665a0 Mon Sep 17 00:00:00 2001 +From def45ef1b450229f13e7d48ce5043713d20bd5cc Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 12:51:28 +0100 -Subject: [PATCH 210/279] rt/rcutree: Move misplaced prototype +Subject: [PATCH 210/286] rt/rcutree: Move misplaced prototype MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/debian/patches/features/all/rt/0211-lglocks-rt.patch.patch b/debian/patches/features/all/rt/0211-lglocks-rt.patch.patch index dbc386d72..da054c666 100644 --- a/debian/patches/features/all/rt/0211-lglocks-rt.patch.patch +++ b/debian/patches/features/all/rt/0211-lglocks-rt.patch.patch @@ -1,7 +1,7 @@ -From ec2000c6c6e4522920c19ac2b4a16bdaa4e6a324 Mon Sep 17 00:00:00 2001 +From 7ffec91c876cb4cd390b81d5eb0cd84732ef0d5f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 11:02:21 +0200 -Subject: [PATCH 211/279] lglocks-rt.patch +Subject: [PATCH 211/286] lglocks-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0212-serial-8250-Clean-up-the-locking-for-rt.patch b/debian/patches/features/all/rt/0212-serial-8250-Clean-up-the-locking-for-rt.patch index 4ca265512..b086232a2 100644 --- a/debian/patches/features/all/rt/0212-serial-8250-Clean-up-the-locking-for-rt.patch +++ b/debian/patches/features/all/rt/0212-serial-8250-Clean-up-the-locking-for-rt.patch @@ -1,7 +1,7 @@ -From 34e1309595b7d06594fb5140c35406f3f6dac538 Mon Sep 17 00:00:00 2001 +From c9eddbbc6b15c0e2f7a361126bf8aa7062501b4a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:01 -0500 -Subject: [PATCH 212/279] serial: 8250: Clean up the locking for -rt +Subject: [PATCH 212/286] serial: 8250: Clean up the locking for -rt Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0213-serial-8250-Call-flush_to_ldisc-when-the-irq-is-thre.patch b/debian/patches/features/all/rt/0213-serial-8250-Call-flush_to_ldisc-when-the-irq-is-thre.patch index a51b0947f..6ff412355 100644 --- a/debian/patches/features/all/rt/0213-serial-8250-Call-flush_to_ldisc-when-the-irq-is-thre.patch +++ b/debian/patches/features/all/rt/0213-serial-8250-Call-flush_to_ldisc-when-the-irq-is-thre.patch @@ -1,7 +1,7 @@ -From 1bde5a0d01a9ad39b01a8291c7a2af3f6217b420 Mon Sep 17 00:00:00 2001 +From fb3ba4ab1f8edff92b70415b433d3a013f7c344a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:01 -0500 -Subject: [PATCH 213/279] serial: 8250: Call flush_to_ldisc when the irq is +Subject: [PATCH 213/286] serial: 8250: Call flush_to_ldisc when the irq is threaded Signed-off-by: Ingo Molnar diff --git a/debian/patches/features/all/rt/0214-drivers-tty-fix-omap-lock-crap.patch.patch b/debian/patches/features/all/rt/0214-drivers-tty-fix-omap-lock-crap.patch.patch index 10fcfecf5..1de6099c9 100644 --- a/debian/patches/features/all/rt/0214-drivers-tty-fix-omap-lock-crap.patch.patch +++ b/debian/patches/features/all/rt/0214-drivers-tty-fix-omap-lock-crap.patch.patch @@ -1,7 +1,7 @@ -From aeba9e11ccf601e45540f16d5379179459599048 Mon Sep 17 00:00:00 2001 +From 7bc071022df8dc24c621b74e2920778f16d4f1c8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 28 Jul 2011 13:32:57 +0200 -Subject: [PATCH 214/279] drivers-tty-fix-omap-lock-crap.patch +Subject: [PATCH 214/286] drivers-tty-fix-omap-lock-crap.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0215-rt-Improve-the-serial-console-PASS_LIMIT.patch b/debian/patches/features/all/rt/0215-rt-Improve-the-serial-console-PASS_LIMIT.patch index 016a5cb1b..e5d76da0d 100644 --- a/debian/patches/features/all/rt/0215-rt-Improve-the-serial-console-PASS_LIMIT.patch +++ b/debian/patches/features/all/rt/0215-rt-Improve-the-serial-console-PASS_LIMIT.patch @@ -1,7 +1,7 @@ -From 247b374fa9ece2b9a1655c67784e51582d67ee5e Mon Sep 17 00:00:00 2001 +From e3bdda69c2599eb090acdf28c5bbd8876eaedb01 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 13:05:54 +0100 -Subject: [PATCH 215/279] rt: Improve the serial console PASS_LIMIT +Subject: [PATCH 215/286] rt: Improve the serial console PASS_LIMIT MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/debian/patches/features/all/rt/0216-fs-namespace-preemption-fix.patch b/debian/patches/features/all/rt/0216-fs-namespace-preemption-fix.patch index 99a3c7e3e..83b636a63 100644 --- a/debian/patches/features/all/rt/0216-fs-namespace-preemption-fix.patch +++ b/debian/patches/features/all/rt/0216-fs-namespace-preemption-fix.patch @@ -1,7 +1,7 @@ -From 41a2adfbe8f6ae0dfe95fef2509a9dea3b3caac5 Mon Sep 17 00:00:00 2001 +From 6128b582b7fbe545bd55a18bcf116ba29de11e93 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 19 Jul 2009 08:44:27 -0500 -Subject: [PATCH 216/279] fs: namespace preemption fix +Subject: [PATCH 216/286] fs: namespace preemption fix On RT we cannot loop with preemption disabled here as mnt_make_readonly() might have been preempted. We can safely enable diff --git a/debian/patches/features/all/rt/0217-mm-protect-activate-switch-mm.patch.patch b/debian/patches/features/all/rt/0217-mm-protect-activate-switch-mm.patch.patch index 75588e43b..dcd75a95c 100644 --- a/debian/patches/features/all/rt/0217-mm-protect-activate-switch-mm.patch.patch +++ b/debian/patches/features/all/rt/0217-mm-protect-activate-switch-mm.patch.patch @@ -1,7 +1,7 @@ -From f1c977768bb913d22d7216dd4131f40c8673d7c6 Mon Sep 17 00:00:00 2001 +From e91681fab9879036c7fb56392af47e4d51f700b2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 4 Jul 2011 09:48:40 +0200 -Subject: [PATCH 217/279] mm-protect-activate-switch-mm.patch +Subject: [PATCH 217/286] mm-protect-activate-switch-mm.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0218-fs-block-rt-support.patch.patch b/debian/patches/features/all/rt/0218-fs-block-rt-support.patch.patch index e4b60d02c..b96ffd67d 100644 --- a/debian/patches/features/all/rt/0218-fs-block-rt-support.patch.patch +++ b/debian/patches/features/all/rt/0218-fs-block-rt-support.patch.patch @@ -1,7 +1,7 @@ -From bfe4f9724682a0bfe0e8bef2fbde813e73b3ce6e Mon Sep 17 00:00:00 2001 +From f1eebb8a33e646c53cba850d1bbd5a673eea208b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jun 2011 17:05:09 +0200 -Subject: [PATCH 218/279] fs-block-rt-support.patch +Subject: [PATCH 218/286] fs-block-rt-support.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0219-fs-ntfs-disable-interrupt-only-on-RT.patch b/debian/patches/features/all/rt/0219-fs-ntfs-disable-interrupt-only-on-RT.patch index dd4ba8e4f..1e78f4341 100644 --- a/debian/patches/features/all/rt/0219-fs-ntfs-disable-interrupt-only-on-RT.patch +++ b/debian/patches/features/all/rt/0219-fs-ntfs-disable-interrupt-only-on-RT.patch @@ -1,7 +1,7 @@ -From 90c133a98545ccd9cb8be06f7e20f4cd16dcaffe Mon Sep 17 00:00:00 2001 +From e0a5d7d34d34c3e3ff35a691d1f726df9fe73bb8 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 3 Jul 2009 08:44:12 -0500 -Subject: [PATCH 219/279] fs: ntfs: disable interrupt only on !RT +Subject: [PATCH 219/286] fs: ntfs: disable interrupt only on !RT On Sat, 2007-10-27 at 11:44 +0200, Ingo Molnar wrote: > * Nick Piggin wrote: diff --git a/debian/patches/features/all/rt/0220-x86-Convert-mce-timer-to-hrtimer.patch b/debian/patches/features/all/rt/0220-x86-Convert-mce-timer-to-hrtimer.patch index d62be370f..5fa2fcf1e 100644 --- a/debian/patches/features/all/rt/0220-x86-Convert-mce-timer-to-hrtimer.patch +++ b/debian/patches/features/all/rt/0220-x86-Convert-mce-timer-to-hrtimer.patch @@ -1,7 +1,7 @@ -From 23254143a8e2d279f2640653a4d3d05d4961ebad Mon Sep 17 00:00:00 2001 +From 358d037e42b460606b58974d8a73669be47844e7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 13 Dec 2010 16:33:39 +0100 -Subject: [PATCH 220/279] x86: Convert mce timer to hrtimer +Subject: [PATCH 220/286] x86: Convert mce timer to hrtimer mce_timer is started in atomic contexts of cpu bringup. This results in might_sleep() warnings on RT. Convert mce_timer to a hrtimer to diff --git a/debian/patches/features/all/rt/0221-x86-stackprotector-Avoid-random-pool-on-rt.patch b/debian/patches/features/all/rt/0221-x86-stackprotector-Avoid-random-pool-on-rt.patch index 4630cb25e..51ade2582 100644 --- a/debian/patches/features/all/rt/0221-x86-stackprotector-Avoid-random-pool-on-rt.patch +++ b/debian/patches/features/all/rt/0221-x86-stackprotector-Avoid-random-pool-on-rt.patch @@ -1,7 +1,7 @@ -From fcfd121c08cc0d0cd13e07ae6829bfae43bc8919 Mon Sep 17 00:00:00 2001 +From dfa0a2b80e7dba84a47112388166907b0a649b6a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Dec 2010 14:25:18 +0100 -Subject: [PATCH 221/279] x86: stackprotector: Avoid random pool on rt +Subject: [PATCH 221/286] x86: stackprotector: Avoid random pool on rt CPU bringup calls into the random pool to initialize the stack canary. During boot that works nicely even on RT as the might sleep diff --git a/debian/patches/features/all/rt/0222-x86-Use-generic-rwsem_spinlocks-on-rt.patch b/debian/patches/features/all/rt/0222-x86-Use-generic-rwsem_spinlocks-on-rt.patch index 2fa52e19c..13bc00ee9 100644 --- a/debian/patches/features/all/rt/0222-x86-Use-generic-rwsem_spinlocks-on-rt.patch +++ b/debian/patches/features/all/rt/0222-x86-Use-generic-rwsem_spinlocks-on-rt.patch @@ -1,7 +1,7 @@ -From eaa9264c9657e3ba81e9a74ff027c742bcc1d34e Mon Sep 17 00:00:00 2001 +From dc3a84cd02e36a865d925def5afc8f17ac161389 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 02:21:32 +0200 -Subject: [PATCH 222/279] x86: Use generic rwsem_spinlocks on -rt +Subject: [PATCH 222/286] x86: Use generic rwsem_spinlocks on -rt Simplifies the separation of anon_rw_semaphores and rw_semaphores for -rt. diff --git a/debian/patches/features/all/rt/0223-x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch b/debian/patches/features/all/rt/0223-x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch index 718aed6e2..528202559 100644 --- a/debian/patches/features/all/rt/0223-x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch +++ b/debian/patches/features/all/rt/0223-x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch @@ -1,7 +1,7 @@ -From 99f64183cc9e1366124d3073a60b6ccbaeb2057d Mon Sep 17 00:00:00 2001 +From fa0089d2766de59b0e5e1756ad43917510b608e7 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Fri, 3 Jul 2009 08:44:10 -0500 -Subject: [PATCH 223/279] x86: Disable IST stacks for debug/int 3/stack fault +Subject: [PATCH 223/286] x86: Disable IST stacks for debug/int 3/stack fault for PREEMPT_RT Normally the x86-64 trap handlers for debug/int 3/stack fault run diff --git a/debian/patches/features/all/rt/0224-workqueue-use-get-cpu-light.patch.patch b/debian/patches/features/all/rt/0224-workqueue-use-get-cpu-light.patch.patch index 24da22973..cddadc5ec 100644 --- a/debian/patches/features/all/rt/0224-workqueue-use-get-cpu-light.patch.patch +++ b/debian/patches/features/all/rt/0224-workqueue-use-get-cpu-light.patch.patch @@ -1,7 +1,7 @@ -From 6f3fea1fbf7f4dea9bd401c0366cbb4169065a88 Mon Sep 17 00:00:00 2001 +From dd9950b0c5ba043f1a323a47254e989ceb5306ec Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:42:26 +0200 -Subject: [PATCH 224/279] workqueue-use-get-cpu-light.patch +Subject: [PATCH 224/286] workqueue-use-get-cpu-light.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index fd605fe..5eda615 100644 +index 8b12069..33628ae 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -1063,8 +1063,8 @@ int queue_work(struct workqueue_struct *wq, struct work_struct *work) diff --git a/debian/patches/features/all/rt/0225-epoll.patch.patch b/debian/patches/features/all/rt/0225-epoll.patch.patch index cacc0b028..089d0a197 100644 --- a/debian/patches/features/all/rt/0225-epoll.patch.patch +++ b/debian/patches/features/all/rt/0225-epoll.patch.patch @@ -1,7 +1,7 @@ -From 028be3594c63201063cf85fe7eb57315f870176b Mon Sep 17 00:00:00 2001 +From e44aa2a323ee759be68a5e0f064e920ed360c2f7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 16:35:35 +0200 -Subject: [PATCH 225/279] epoll.patch +Subject: [PATCH 225/286] epoll.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0226-mm-vmalloc.patch.patch b/debian/patches/features/all/rt/0226-mm-vmalloc.patch.patch index a4087d963..c6a38b7ed 100644 --- a/debian/patches/features/all/rt/0226-mm-vmalloc.patch.patch +++ b/debian/patches/features/all/rt/0226-mm-vmalloc.patch.patch @@ -1,7 +1,7 @@ -From 09dd318a8a4e0df86c0137c78359d3fef75da0bb Mon Sep 17 00:00:00 2001 +From 147ac2a2c6814fbf84b98340967d513390ec9ab3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 11:39:36 +0200 -Subject: [PATCH 226/279] mm-vmalloc.patch +Subject: [PATCH 226/286] mm-vmalloc.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0227-debugobjects-rt.patch.patch b/debian/patches/features/all/rt/0227-debugobjects-rt.patch.patch index 5715cfeea..5f2dcb04f 100644 --- a/debian/patches/features/all/rt/0227-debugobjects-rt.patch.patch +++ b/debian/patches/features/all/rt/0227-debugobjects-rt.patch.patch @@ -1,7 +1,7 @@ -From 30eccb2761a45a2c3ef9ca5ccb99cc868422758d Mon Sep 17 00:00:00 2001 +From b54cc392260ae8ac0128bdaac2533eed92bde183 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:41:35 +0200 -Subject: [PATCH 227/279] debugobjects-rt.patch +Subject: [PATCH 227/286] debugobjects-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0228-jump-label-rt.patch.patch b/debian/patches/features/all/rt/0228-jump-label-rt.patch.patch index ff458d84c..2e918def9 100644 --- a/debian/patches/features/all/rt/0228-jump-label-rt.patch.patch +++ b/debian/patches/features/all/rt/0228-jump-label-rt.patch.patch @@ -1,7 +1,7 @@ -From 705b8ed60b3f00269248c8b4b60f9c8dda3c8af4 Mon Sep 17 00:00:00 2001 +From 26d555d3f4700db11832d2ea10a3661cd3e69a95 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Jul 2011 11:03:16 +0200 -Subject: [PATCH 228/279] jump-label-rt.patch +Subject: [PATCH 228/286] jump-label-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0229-skbufhead-raw-lock.patch.patch b/debian/patches/features/all/rt/0229-skbufhead-raw-lock.patch.patch index 3abc77a9c..c15161a25 100644 --- a/debian/patches/features/all/rt/0229-skbufhead-raw-lock.patch.patch +++ b/debian/patches/features/all/rt/0229-skbufhead-raw-lock.patch.patch @@ -1,7 +1,7 @@ -From a1c0007bba707b652091123af60ae319274ff8d8 Mon Sep 17 00:00:00 2001 +From 30595b41d22466d365f12728ffe8fe200e8b8c74 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 15:38:34 +0200 -Subject: [PATCH 229/279] skbufhead-raw-lock.patch +Subject: [PATCH 229/286] skbufhead-raw-lock.patch Signed-off-by: Thomas Gleixner --- @@ -48,7 +48,7 @@ index 53dc7e7..5db4d1e 100644 struct lock_class_key *class) { diff --git a/net/core/dev.c b/net/core/dev.c -index c68e4f9..8f8f589 100644 +index 84a06b9..c8ce67b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -222,14 +222,14 @@ static inline struct hlist_head *dev_index_hash(struct net *net, int ifindex) @@ -68,7 +68,7 @@ index c68e4f9..8f8f589 100644 #endif } -@@ -3399,7 +3399,7 @@ static void flush_backlog(void *arg) +@@ -3401,7 +3401,7 @@ static void flush_backlog(void *arg) skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) { if (skb->dev == dev) { __skb_unlink(skb, &sd->input_pkt_queue); @@ -77,7 +77,7 @@ index c68e4f9..8f8f589 100644 input_queue_head_incr(sd); } } -@@ -3408,10 +3408,13 @@ static void flush_backlog(void *arg) +@@ -3410,10 +3410,13 @@ static void flush_backlog(void *arg) skb_queue_walk_safe(&sd->process_queue, skb, tmp) { if (skb->dev == dev) { __skb_unlink(skb, &sd->process_queue); @@ -92,7 +92,7 @@ index c68e4f9..8f8f589 100644 } static int napi_gro_complete(struct sk_buff *skb) -@@ -3895,10 +3898,17 @@ static void net_rx_action(struct softirq_action *h) +@@ -3897,10 +3900,17 @@ static void net_rx_action(struct softirq_action *h) struct softnet_data *sd = &__get_cpu_var(softnet_data); unsigned long time_limit = jiffies + 2; int budget = netdev_budget; @@ -110,7 +110,7 @@ index c68e4f9..8f8f589 100644 while (!list_empty(&sd->poll_list)) { struct napi_struct *n; int work, weight; -@@ -6335,6 +6345,9 @@ static int dev_cpu_callback(struct notifier_block *nfb, +@@ -6337,6 +6347,9 @@ static int dev_cpu_callback(struct notifier_block *nfb, netif_rx(skb); input_queue_head_incr(oldsd); } @@ -120,7 +120,7 @@ index c68e4f9..8f8f589 100644 return NOTIFY_OK; } -@@ -6601,8 +6614,9 @@ static int __init net_dev_init(void) +@@ -6604,8 +6617,9 @@ static int __init net_dev_init(void) struct softnet_data *sd = &per_cpu(softnet_data, i); memset(sd, 0, sizeof(*sd)); diff --git a/debian/patches/features/all/rt/0230-x86-no-perf-irq-work-rt.patch.patch b/debian/patches/features/all/rt/0230-x86-no-perf-irq-work-rt.patch.patch index 6a47d1004..472663f49 100644 --- a/debian/patches/features/all/rt/0230-x86-no-perf-irq-work-rt.patch.patch +++ b/debian/patches/features/all/rt/0230-x86-no-perf-irq-work-rt.patch.patch @@ -1,7 +1,7 @@ -From 57bc069bd31a55fb227aee9a8bef58dafec5b963 Mon Sep 17 00:00:00 2001 +From 0fc6d5aaefdb530610282f8548451e44af0bb75a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Jul 2011 14:05:05 +0200 -Subject: [PATCH 230/279] x86-no-perf-irq-work-rt.patch +Subject: [PATCH 230/286] x86-no-perf-irq-work-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0231-console-make-rt-friendly.patch.patch b/debian/patches/features/all/rt/0231-console-make-rt-friendly.patch.patch index 11a8d1cce..ca0f9388f 100644 --- a/debian/patches/features/all/rt/0231-console-make-rt-friendly.patch.patch +++ b/debian/patches/features/all/rt/0231-console-make-rt-friendly.patch.patch @@ -1,7 +1,7 @@ -From 9c3f311d46109743a41ea634418aa617cb3a71f0 Mon Sep 17 00:00:00 2001 +From ab9feb775b51af35e880e1484bba21276bd91643 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:43:07 +0200 -Subject: [PATCH 231/279] console-make-rt-friendly.patch +Subject: [PATCH 231/286] console-make-rt-friendly.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0232-printk-Disable-migration-instead-of-preemption.patch b/debian/patches/features/all/rt/0232-printk-Disable-migration-instead-of-preemption.patch index e1a12b72e..07d9e5479 100644 --- a/debian/patches/features/all/rt/0232-printk-Disable-migration-instead-of-preemption.patch +++ b/debian/patches/features/all/rt/0232-printk-Disable-migration-instead-of-preemption.patch @@ -1,7 +1,7 @@ -From ed68001967786d640974c5c4e1c554441e320105 Mon Sep 17 00:00:00 2001 +From b3aeed38cde2368d5d6bb4213239b3953d7e2a63 Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Mon, 12 Dec 2011 14:35:56 +0100 -Subject: [PATCH 232/279] printk: Disable migration instead of preemption +Subject: [PATCH 232/286] printk: Disable migration instead of preemption There is no need do disable preemption in vprintk(), disable_migrate() is sufficient. This fixes the following bug in -rt: diff --git a/debian/patches/features/all/rt/0233-power-use-generic-rwsem-on-rt.patch b/debian/patches/features/all/rt/0233-power-use-generic-rwsem-on-rt.patch index db6517619..0298e2251 100644 --- a/debian/patches/features/all/rt/0233-power-use-generic-rwsem-on-rt.patch +++ b/debian/patches/features/all/rt/0233-power-use-generic-rwsem-on-rt.patch @@ -1,7 +1,7 @@ -From bbd3bd2942c28210a97f69fc18e29a1e9ecb09f0 Mon Sep 17 00:00:00 2001 +From 9cb7aebf8ab4935fe2aeff8f3017e1c96712b560 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 10 Apr 2012 14:34:18 -0400 -Subject: [PATCH 233/279] power-use-generic-rwsem-on-rt +Subject: [PATCH 233/286] power-use-generic-rwsem-on-rt --- arch/powerpc/Kconfig | 3 ++- diff --git a/debian/patches/features/all/rt/0234-power-disable-highmem-on-rt.patch.patch b/debian/patches/features/all/rt/0234-power-disable-highmem-on-rt.patch.patch index 88efb2914..de5f42f67 100644 --- a/debian/patches/features/all/rt/0234-power-disable-highmem-on-rt.patch.patch +++ b/debian/patches/features/all/rt/0234-power-disable-highmem-on-rt.patch.patch @@ -1,7 +1,7 @@ -From a289aeb236bd85c5f809f2555261e5a82a2be782 Mon Sep 17 00:00:00 2001 +From 636bdd1cc5f3044253ed79549dfa00b0a15e8161 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:08:34 +0200 -Subject: [PATCH 234/279] power-disable-highmem-on-rt.patch +Subject: [PATCH 234/286] power-disable-highmem-on-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0235-arm-disable-highmem-on-rt.patch.patch b/debian/patches/features/all/rt/0235-arm-disable-highmem-on-rt.patch.patch index c22f77231..63c209084 100644 --- a/debian/patches/features/all/rt/0235-arm-disable-highmem-on-rt.patch.patch +++ b/debian/patches/features/all/rt/0235-arm-disable-highmem-on-rt.patch.patch @@ -1,7 +1,7 @@ -From 0b63562f544f61cab53407f7e76da0612e75bb25 Mon Sep 17 00:00:00 2001 +From 50cf05a5b8a02ff7e0530da5bdc3d9ee48d5e6d4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:09:28 +0200 -Subject: [PATCH 235/279] arm-disable-highmem-on-rt.patch +Subject: [PATCH 235/286] arm-disable-highmem-on-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0236-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch b/debian/patches/features/all/rt/0236-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch index b3b68ca1b..93048ac7b 100644 --- a/debian/patches/features/all/rt/0236-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch +++ b/debian/patches/features/all/rt/0236-ARM-at91-tclib-Default-to-tclib-timer-for-RT.patch @@ -1,7 +1,7 @@ -From 78802d58ec230c184f17ae53e5139f5f706c0419 Mon Sep 17 00:00:00 2001 +From c66cd2baf383b17f2eddf097f9f7dd9b07942478 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 May 2010 18:29:35 +0200 -Subject: [PATCH 236/279] ARM: at91: tclib: Default to tclib timer for RT +Subject: [PATCH 236/286] ARM: at91: tclib: Default to tclib timer for RT RT is not too happy about the shared timer interrupt in AT91 devices. Default to tclib timer for RT. diff --git a/debian/patches/features/all/rt/0237-mips-disable-highmem-on-rt.patch.patch b/debian/patches/features/all/rt/0237-mips-disable-highmem-on-rt.patch.patch index fcef59a17..28325531e 100644 --- a/debian/patches/features/all/rt/0237-mips-disable-highmem-on-rt.patch.patch +++ b/debian/patches/features/all/rt/0237-mips-disable-highmem-on-rt.patch.patch @@ -1,7 +1,7 @@ -From 97abc7fa042884fa48617dc37c1a293346e63f7b Mon Sep 17 00:00:00 2001 +From 8cfb09c701bd8540a76d51d66a605d2c1b8bf9c8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:10:12 +0200 -Subject: [PATCH 237/279] mips-disable-highmem-on-rt.patch +Subject: [PATCH 237/286] mips-disable-highmem-on-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0238-net-Avoid-livelock-in-net_tx_action-on-RT.patch b/debian/patches/features/all/rt/0238-net-Avoid-livelock-in-net_tx_action-on-RT.patch index 166ce513f..23c7ad9b4 100644 --- a/debian/patches/features/all/rt/0238-net-Avoid-livelock-in-net_tx_action-on-RT.patch +++ b/debian/patches/features/all/rt/0238-net-Avoid-livelock-in-net_tx_action-on-RT.patch @@ -1,7 +1,7 @@ -From 96cccc85ba1e413bafdddcd58acaf69d4032b6cc Mon Sep 17 00:00:00 2001 +From 0ae4e517383051748a1a5c704021de93ca0ffcd2 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 6 Oct 2011 10:48:39 -0400 -Subject: [PATCH 238/279] net: Avoid livelock in net_tx_action() on RT +Subject: [PATCH 238/286] net: Avoid livelock in net_tx_action() on RT qdisc_lock is taken w/o disabling interrupts or bottom halfs. So code holding a qdisc_lock() can be interrupted and softirqs can run on the @@ -43,10 +43,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 8f8f589..c5cfe68 100644 +index c8ce67b..c09fc22 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3036,6 +3036,36 @@ int netif_rx_ni(struct sk_buff *skb) +@@ -3038,6 +3038,36 @@ int netif_rx_ni(struct sk_buff *skb) } EXPORT_SYMBOL(netif_rx_ni); @@ -83,7 +83,7 @@ index 8f8f589..c5cfe68 100644 static void net_tx_action(struct softirq_action *h) { struct softnet_data *sd = &__get_cpu_var(softnet_data); -@@ -3074,7 +3104,7 @@ static void net_tx_action(struct softirq_action *h) +@@ -3076,7 +3106,7 @@ static void net_tx_action(struct softirq_action *h) head = head->next_sched; root_lock = qdisc_lock(q); diff --git a/debian/patches/features/all/rt/0239-ping-sysrq.patch.patch b/debian/patches/features/all/rt/0239-ping-sysrq.patch.patch index f58350932..13d3dfc4e 100644 --- a/debian/patches/features/all/rt/0239-ping-sysrq.patch.patch +++ b/debian/patches/features/all/rt/0239-ping-sysrq.patch.patch @@ -1,7 +1,7 @@ -From f173b4703cc1b8186c9fff25d3e89bb67b236dd7 Mon Sep 17 00:00:00 2001 +From a44ea464fc836e4caa0fb0ec79ff407f06ce7828 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Tue, 19 Jul 2011 13:51:17 +0100 -Subject: [PATCH 239/279] ping-sysrq.patch +Subject: [PATCH 239/286] ping-sysrq.patch There are (probably rare) situations when a system crashed and the system console becomes unresponsive but the network icmp layer still is alive. diff --git a/debian/patches/features/all/rt/0240-kgdb-serial-Short-term-workaround.patch b/debian/patches/features/all/rt/0240-kgdb-serial-Short-term-workaround.patch index a75b3a491..c37d6130a 100644 --- a/debian/patches/features/all/rt/0240-kgdb-serial-Short-term-workaround.patch +++ b/debian/patches/features/all/rt/0240-kgdb-serial-Short-term-workaround.patch @@ -1,7 +1,7 @@ -From d52ef418646f4b2802c15c94a215d150e0f2dacc Mon Sep 17 00:00:00 2001 +From 60d17384ab08252d7e4591ceae6fe3ac64c937c5 Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Thu, 28 Jul 2011 12:42:23 -0500 -Subject: [PATCH 240/279] kgdb/serial: Short term workaround +Subject: [PATCH 240/286] kgdb/serial: Short term workaround On 07/27/2011 04:37 PM, Thomas Gleixner wrote: > - KGDB (not yet disabled) is reportedly unusable on -rt right now due diff --git a/debian/patches/features/all/rt/0241-add-sys-kernel-realtime-entry.patch b/debian/patches/features/all/rt/0241-add-sys-kernel-realtime-entry.patch index fc7da957e..d997e7f06 100644 --- a/debian/patches/features/all/rt/0241-add-sys-kernel-realtime-entry.patch +++ b/debian/patches/features/all/rt/0241-add-sys-kernel-realtime-entry.patch @@ -1,7 +1,7 @@ -From c6732aada8dfc60bfe864283ac0e1e8623ca76fd Mon Sep 17 00:00:00 2001 +From 0a345cc72956dda737a844b09963beb164df7237 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Sat, 30 Jul 2011 21:55:53 -0500 -Subject: [PATCH 241/279] add /sys/kernel/realtime entry +Subject: [PATCH 241/286] add /sys/kernel/realtime entry Add a /sys/kernel entry to indicate that the kernel is a realtime kernel. diff --git a/debian/patches/features/all/rt/0242-mm-rt-kmap_atomic-scheduling.patch b/debian/patches/features/all/rt/0242-mm-rt-kmap_atomic-scheduling.patch index 8ffff7a4f..5ba76ec02 100644 --- a/debian/patches/features/all/rt/0242-mm-rt-kmap_atomic-scheduling.patch +++ b/debian/patches/features/all/rt/0242-mm-rt-kmap_atomic-scheduling.patch @@ -1,7 +1,7 @@ -From 90cf5e4da65c45ef9b0ebd93ba2072c7631b9ee2 Mon Sep 17 00:00:00 2001 +From d1be9ce333b8cee6603a8461ce7c1b1ee4c96a43 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 28 Jul 2011 10:43:51 +0200 -Subject: [PATCH 242/279] mm, rt: kmap_atomic scheduling +Subject: [PATCH 242/286] mm, rt: kmap_atomic scheduling In fact, with migrate_disable() existing one could play games with kmap_atomic. You could save/restore the kmap_atomic slots on context diff --git a/debian/patches/features/all/rt/0243-ipc-sem-Rework-semaphore-wakeups.patch b/debian/patches/features/all/rt/0243-ipc-sem-Rework-semaphore-wakeups.patch index 9f27cb980..6f2839c9e 100644 --- a/debian/patches/features/all/rt/0243-ipc-sem-Rework-semaphore-wakeups.patch +++ b/debian/patches/features/all/rt/0243-ipc-sem-Rework-semaphore-wakeups.patch @@ -1,7 +1,7 @@ -From 45055e6c66d3c17c4cc323f2bd9dba8cd2b6f6a5 Mon Sep 17 00:00:00 2001 +From 8652113866cf989aaf2d06ed1302e22a94906d73 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 13 Sep 2011 15:09:40 +0200 -Subject: [PATCH 243/279] ipc/sem: Rework semaphore wakeups +Subject: [PATCH 243/286] ipc/sem: Rework semaphore wakeups Current sysv sems have a weird ass wakeup scheme that involves keeping preemption disabled over a potential O(n^2) loop and busy waiting on diff --git a/debian/patches/features/all/rt/0244-sysrq-Allow-immediate-Magic-SysRq-output-for-PREEMPT.patch b/debian/patches/features/all/rt/0244-sysrq-Allow-immediate-Magic-SysRq-output-for-PREEMPT.patch index 3f6faf651..30b1fb05b 100644 --- a/debian/patches/features/all/rt/0244-sysrq-Allow-immediate-Magic-SysRq-output-for-PREEMPT.patch +++ b/debian/patches/features/all/rt/0244-sysrq-Allow-immediate-Magic-SysRq-output-for-PREEMPT.patch @@ -1,7 +1,7 @@ -From 021cde9fe3e332e19580b7737fb11a9a3e8ebf39 Mon Sep 17 00:00:00 2001 +From 09d95ea3d4175bb5d1780e8359febc5a72e3495d Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Fri, 23 Sep 2011 13:43:12 -0700 -Subject: [PATCH 244/279] sysrq: Allow immediate Magic SysRq output for +Subject: [PATCH 244/286] sysrq: Allow immediate Magic SysRq output for PREEMPT_RT_FULL Add a CONFIG option to allow the output from Magic SysRq to be output diff --git a/debian/patches/features/all/rt/0245-x86-kvm-require-const-tsc-for-rt.patch.patch b/debian/patches/features/all/rt/0245-x86-kvm-require-const-tsc-for-rt.patch.patch index d283428db..a1d848829 100644 --- a/debian/patches/features/all/rt/0245-x86-kvm-require-const-tsc-for-rt.patch.patch +++ b/debian/patches/features/all/rt/0245-x86-kvm-require-const-tsc-for-rt.patch.patch @@ -1,7 +1,7 @@ -From 4618f1e5071c4b3431d20956ddcfbe4f954d16e1 Mon Sep 17 00:00:00 2001 +From 6514465dc4b2ad9b2b6e2ed87707062da15aa75e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 6 Nov 2011 12:26:18 +0100 -Subject: [PATCH 245/279] x86-kvm-require-const-tsc-for-rt.patch +Subject: [PATCH 245/286] x86-kvm-require-const-tsc-for-rt.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0246-scsi-fcoe-rt-aware.patch.patch b/debian/patches/features/all/rt/0246-scsi-fcoe-rt-aware.patch.patch index ddaba8629..48da3ac4b 100644 --- a/debian/patches/features/all/rt/0246-scsi-fcoe-rt-aware.patch.patch +++ b/debian/patches/features/all/rt/0246-scsi-fcoe-rt-aware.patch.patch @@ -1,7 +1,7 @@ -From 603468126d838b7ac0a28f65b0e9540a7fe05889 Mon Sep 17 00:00:00 2001 +From 237fe68234c30e8c462f2544ac1b286741b8ba7d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 12 Nov 2011 14:00:48 +0100 -Subject: [PATCH 246/279] scsi-fcoe-rt-aware.patch +Subject: [PATCH 246/286] scsi-fcoe-rt-aware.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0247-x86-crypto-Reduce-preempt-disabled-regions.patch b/debian/patches/features/all/rt/0247-x86-crypto-Reduce-preempt-disabled-regions.patch index 09192fae2..6eb089ffb 100644 --- a/debian/patches/features/all/rt/0247-x86-crypto-Reduce-preempt-disabled-regions.patch +++ b/debian/patches/features/all/rt/0247-x86-crypto-Reduce-preempt-disabled-regions.patch @@ -1,7 +1,7 @@ -From 8b7463b4423f33c6001a661b04acfe84343a811e Mon Sep 17 00:00:00 2001 +From bc8ee67488c17aec6dac6c123517d84206caefba Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 14 Nov 2011 18:19:27 +0100 -Subject: [PATCH 247/279] x86: crypto: Reduce preempt disabled regions +Subject: [PATCH 247/286] x86: crypto: Reduce preempt disabled regions Restrict the preempt disabled regions to the actual floating point operations and enable preemption for the administrative actions. diff --git a/debian/patches/features/all/rt/0248-dm-Make-rt-aware.patch b/debian/patches/features/all/rt/0248-dm-Make-rt-aware.patch index df2f60f64..80a59608e 100644 --- a/debian/patches/features/all/rt/0248-dm-Make-rt-aware.patch +++ b/debian/patches/features/all/rt/0248-dm-Make-rt-aware.patch @@ -1,7 +1,7 @@ -From 6daa370d2e29f778a09a03bed89258f1257db608 Mon Sep 17 00:00:00 2001 +From 5e040b7842a0b4b8d36b2a8016ddc9b1ca11edf9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 23:06:09 +0100 -Subject: [PATCH 248/279] dm: Make rt aware +Subject: [PATCH 248/286] dm: Make rt aware Use the BUG_ON_NORT variant for the irq_disabled() checks. RT has interrupts legitimately enabled here as we cant deadlock against the @@ -15,10 +15,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/md/dm.c b/drivers/md/dm.c -index 4720f68..b1eff42 100644 +index 502dcf7..2dc72f3 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c -@@ -1648,14 +1648,14 @@ static void dm_request_fn(struct request_queue *q) +@@ -1670,14 +1670,14 @@ static void dm_request_fn(struct request_queue *q) if (map_request(ti, clone, md)) goto requeued; diff --git a/debian/patches/features/all/rt/0249-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch b/debian/patches/features/all/rt/0249-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch index 3eb856d82..bccfe6187 100644 --- a/debian/patches/features/all/rt/0249-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch +++ b/debian/patches/features/all/rt/0249-cpumask-Disable-CONFIG_CPUMASK_OFFSTACK-for-RT.patch @@ -1,7 +1,7 @@ -From 6a0c3b142b6ee6549b85527a5ffbf5bf58ded25d Mon Sep 17 00:00:00 2001 +From a1c696ef3bbe4f996c6a12eb90df51578936ec27 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Dec 2011 01:03:49 +0100 -Subject: [PATCH 249/279] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT +Subject: [PATCH 249/286] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT We can't deal with the cpumask allocations which happen in atomic context (see arch/x86/kernel/apic/io_apic.c) on RT right now. diff --git a/debian/patches/features/all/rt/0250-seqlock-Prevent-rt-starvation.patch b/debian/patches/features/all/rt/0250-seqlock-Prevent-rt-starvation.patch index e10c32edf..b6be885e4 100644 --- a/debian/patches/features/all/rt/0250-seqlock-Prevent-rt-starvation.patch +++ b/debian/patches/features/all/rt/0250-seqlock-Prevent-rt-starvation.patch @@ -1,7 +1,7 @@ -From bb70eb3d5f4119588915fd7ce27c12d59617ee2b Mon Sep 17 00:00:00 2001 +From 2599b2893087857e49935b8e0845bc4cdafd1ede Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Feb 2012 12:03:30 +0100 -Subject: [PATCH 250/279] seqlock: Prevent rt starvation +Subject: [PATCH 250/286] seqlock: Prevent rt starvation If a low prio writer gets preempted while holding the seqlock write locked, a high prio reader spins forever on RT. diff --git a/debian/patches/features/all/rt/0251-timer-Fix-hotplug-for-rt.patch b/debian/patches/features/all/rt/0251-timer-Fix-hotplug-for-rt.patch index 51fbfa2da..832ccd1cc 100644 --- a/debian/patches/features/all/rt/0251-timer-Fix-hotplug-for-rt.patch +++ b/debian/patches/features/all/rt/0251-timer-Fix-hotplug-for-rt.patch @@ -1,7 +1,7 @@ -From c11e181be902e7e1b41341fe83bc63dbdf228af4 Mon Sep 17 00:00:00 2001 +From 2b30b360e6497506ed0fadf438c4b82af3031423 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:28 -0500 -Subject: [PATCH 251/279] timer: Fix hotplug for -rt +Subject: [PATCH 251/286] timer: Fix hotplug for -rt Revert the RT patch: Author: Ingo Molnar diff --git a/debian/patches/features/all/rt/0252-futex-rt-Fix-possible-lockup-when-taking-pi_lock-in-.patch b/debian/patches/features/all/rt/0252-futex-rt-Fix-possible-lockup-when-taking-pi_lock-in-.patch index f58cb75e3..67e831bc7 100644 --- a/debian/patches/features/all/rt/0252-futex-rt-Fix-possible-lockup-when-taking-pi_lock-in-.patch +++ b/debian/patches/features/all/rt/0252-futex-rt-Fix-possible-lockup-when-taking-pi_lock-in-.patch @@ -1,7 +1,7 @@ -From fb35ecc7b217110c7b4dcc752939928fe66f52d3 Mon Sep 17 00:00:00 2001 +From 298adb01f400c610bfdb773c9731d7fa9b7dc577 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:29 -0500 -Subject: [PATCH 252/279] futex/rt: Fix possible lockup when taking pi_lock in +Subject: [PATCH 252/286] futex/rt: Fix possible lockup when taking pi_lock in proxy handler When taking the pi_lock, we must disable interrupts because the diff --git a/debian/patches/features/all/rt/0253-ring-buffer-rt-Check-for-irqs-disabled-before-grabbi.patch b/debian/patches/features/all/rt/0253-ring-buffer-rt-Check-for-irqs-disabled-before-grabbi.patch index 9c5aa696c..160332a06 100644 --- a/debian/patches/features/all/rt/0253-ring-buffer-rt-Check-for-irqs-disabled-before-grabbi.patch +++ b/debian/patches/features/all/rt/0253-ring-buffer-rt-Check-for-irqs-disabled-before-grabbi.patch @@ -1,7 +1,7 @@ -From ffe256c1e84f124691645a93b12cff0590c25361 Mon Sep 17 00:00:00 2001 +From cc2bde68000633ff7dd2f644b8141867bc6b241d Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:32 -0500 -Subject: [PATCH 253/279] ring-buffer/rt: Check for irqs disabled before +Subject: [PATCH 253/286] ring-buffer/rt: Check for irqs disabled before grabbing reader lock In RT the reader lock is a mutex and we can not grab it when preemption is diff --git a/debian/patches/features/all/rt/0254-sched-rt-Fix-wait_task_interactive-to-test-rt_spin_l.patch b/debian/patches/features/all/rt/0254-sched-rt-Fix-wait_task_interactive-to-test-rt_spin_l.patch index 2d381d3c6..9db200234 100644 --- a/debian/patches/features/all/rt/0254-sched-rt-Fix-wait_task_interactive-to-test-rt_spin_l.patch +++ b/debian/patches/features/all/rt/0254-sched-rt-Fix-wait_task_interactive-to-test-rt_spin_l.patch @@ -1,7 +1,7 @@ -From e53154ae2260edd172800205e94e6c3b4caf42d4 Mon Sep 17 00:00:00 2001 +From 1f9900654d73e9fe2db2eb9373875f2c71e5d557 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:33 -0500 -Subject: [PATCH 254/279] sched/rt: Fix wait_task_interactive() to test +Subject: [PATCH 254/286] sched/rt: Fix wait_task_interactive() to test rt_spin_lock state The wait_task_interactive() will have a task sleep waiting for another @@ -25,7 +25,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 1f4fd59..40c4125 100644 +index ba3ddde..0b263dd 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2446,7 +2446,8 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) diff --git a/debian/patches/features/all/rt/0255-lglock-rt-Use-non-rt-for_each_cpu-in-rt-code.patch b/debian/patches/features/all/rt/0255-lglock-rt-Use-non-rt-for_each_cpu-in-rt-code.patch index a47532c60..3b32aae0f 100644 --- a/debian/patches/features/all/rt/0255-lglock-rt-Use-non-rt-for_each_cpu-in-rt-code.patch +++ b/debian/patches/features/all/rt/0255-lglock-rt-Use-non-rt-for_each_cpu-in-rt-code.patch @@ -1,7 +1,7 @@ -From ed9c533b43702541e149d15796a03ab238d67a1a Mon Sep 17 00:00:00 2001 +From 303b4d6bae80a6a03b6901d0f37a5ec52c305c4f Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:30 -0500 -Subject: [PATCH 255/279] lglock/rt: Use non-rt for_each_cpu() in -rt code +Subject: [PATCH 255/286] lglock/rt: Use non-rt for_each_cpu() in -rt code Currently the RT version of the lglocks() does a for_each_online_cpu() in the name##_global_lock_online() functions. Non-rt uses its own diff --git a/debian/patches/features/all/rt/0256-cpu-Make-hotplug.lock-a-sleeping-spinlock-on-RT.patch b/debian/patches/features/all/rt/0256-cpu-Make-hotplug.lock-a-sleeping-spinlock-on-RT.patch index f0c354c1c..54ddac69e 100644 --- a/debian/patches/features/all/rt/0256-cpu-Make-hotplug.lock-a-sleeping-spinlock-on-RT.patch +++ b/debian/patches/features/all/rt/0256-cpu-Make-hotplug.lock-a-sleeping-spinlock-on-RT.patch @@ -1,7 +1,7 @@ -From 5161d50484deb99b97a1b27d059f4c802c7039b7 Mon Sep 17 00:00:00 2001 +From d1b5c1c92cb4896f6f5ff330ed43ffa5588963e7 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 2 Mar 2012 10:36:57 -0500 -Subject: [PATCH 256/279] cpu: Make hotplug.lock a "sleeping" spinlock on RT +Subject: [PATCH 256/286] cpu: Make hotplug.lock a "sleeping" spinlock on RT Tasks can block on hotplug.lock in pin_current_cpu(), but their state might be != RUNNING. So the mutex wakeup will set the state diff --git a/debian/patches/features/all/rt/0257-softirq-Check-preemption-after-reenabling-interrupts.patch b/debian/patches/features/all/rt/0257-softirq-Check-preemption-after-reenabling-interrupts.patch index e67036f09..152d28c07 100644 --- a/debian/patches/features/all/rt/0257-softirq-Check-preemption-after-reenabling-interrupts.patch +++ b/debian/patches/features/all/rt/0257-softirq-Check-preemption-after-reenabling-interrupts.patch @@ -1,7 +1,7 @@ -From 4de704cc0a9163c4770acc750ee2aebc62b1f541 Mon Sep 17 00:00:00 2001 +From 8c0ab0566f9b83525c216567b169d88d72c8ffaf Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 13 Nov 2011 17:17:09 +0100 -Subject: [PATCH 257/279] softirq: Check preemption after reenabling +Subject: [PATCH 257/286] softirq: Check preemption after reenabling interrupts raise_softirq_irqoff() disables interrupts and wakes the softirq @@ -102,7 +102,7 @@ index 6450c01..58d8982 100644 #endif /* CONFIG_PREEMPT_COUNT */ diff --git a/net/core/dev.c b/net/core/dev.c -index c5cfe68..831f9a3 100644 +index c09fc22..20fe9a8 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -1819,6 +1819,7 @@ static inline void __netif_reschedule(struct Qdisc *q) @@ -121,7 +121,7 @@ index c5cfe68..831f9a3 100644 } } EXPORT_SYMBOL(dev_kfree_skb_irq); -@@ -2961,6 +2963,7 @@ enqueue: +@@ -2963,6 +2965,7 @@ enqueue: rps_unlock(sd); local_irq_restore(flags); @@ -129,7 +129,7 @@ index c5cfe68..831f9a3 100644 atomic_long_inc(&skb->dev->rx_dropped); kfree_skb(skb); -@@ -3782,6 +3785,7 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd) +@@ -3784,6 +3787,7 @@ static void net_rps_action_and_irq_enable(struct softnet_data *sd) } else #endif local_irq_enable(); @@ -137,7 +137,7 @@ index c5cfe68..831f9a3 100644 } static int process_backlog(struct napi_struct *napi, int quota) -@@ -3854,6 +3858,7 @@ void __napi_schedule(struct napi_struct *n) +@@ -3856,6 +3860,7 @@ void __napi_schedule(struct napi_struct *n) local_irq_save(flags); ____napi_schedule(&__get_cpu_var(softnet_data), n); local_irq_restore(flags); @@ -145,7 +145,7 @@ index c5cfe68..831f9a3 100644 } EXPORT_SYMBOL(__napi_schedule); -@@ -6365,6 +6370,7 @@ static int dev_cpu_callback(struct notifier_block *nfb, +@@ -6367,6 +6372,7 @@ static int dev_cpu_callback(struct notifier_block *nfb, raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); diff --git a/debian/patches/features/all/rt/0258-rt-Introduce-cpu_chill.patch b/debian/patches/features/all/rt/0258-rt-Introduce-cpu_chill.patch index dcea2617e..9ae636fce 100644 --- a/debian/patches/features/all/rt/0258-rt-Introduce-cpu_chill.patch +++ b/debian/patches/features/all/rt/0258-rt-Introduce-cpu_chill.patch @@ -1,7 +1,7 @@ -From 9a017cf9f1eb5929323be03c1995b9805c4e18b9 Mon Sep 17 00:00:00 2001 +From 4e61d9fd097443bc80a8acb92b038c167f5ce48c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 20:51:03 +0100 -Subject: [PATCH 258/279] rt: Introduce cpu_chill() +Subject: [PATCH 258/286] rt: Introduce cpu_chill() Retry loops on RT might loop forever when the modifying side was preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill() diff --git a/debian/patches/features/all/rt/0259-fs-dcache-Use-cpu_chill-in-trylock-loops.patch b/debian/patches/features/all/rt/0259-fs-dcache-Use-cpu_chill-in-trylock-loops.patch index 4f1b6cdb6..014173d20 100644 --- a/debian/patches/features/all/rt/0259-fs-dcache-Use-cpu_chill-in-trylock-loops.patch +++ b/debian/patches/features/all/rt/0259-fs-dcache-Use-cpu_chill-in-trylock-loops.patch @@ -1,7 +1,7 @@ -From 63d4e72391ceb148b624f1b9ce5a9c9a63c0ebf3 Mon Sep 17 00:00:00 2001 +From fa30b7b7d49f007ccd753dd02ea175fa8722e4b4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH 259/279] fs: dcache: Use cpu_chill() in trylock loops +Subject: [PATCH 259/286] fs: dcache: Use cpu_chill() in trylock loops Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system @@ -42,7 +42,7 @@ index 450f529..43afbb0 100644 } spin_unlock(&p->d_lock); diff --git a/fs/dcache.c b/fs/dcache.c -index eb723d3..d47b266 100644 +index 63c0c6b..152184c 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -37,6 +37,7 @@ @@ -71,7 +71,7 @@ index eb723d3..d47b266 100644 goto relock; } -@@ -1975,7 +1976,7 @@ again: +@@ -1979,7 +1980,7 @@ again: if (dentry->d_count == 1) { if (inode && !spin_trylock(&inode->i_lock)) { spin_unlock(&dentry->d_lock); diff --git a/debian/patches/features/all/rt/0260-net-Use-cpu_chill-instead-of-cpu_relax.patch b/debian/patches/features/all/rt/0260-net-Use-cpu_chill-instead-of-cpu_relax.patch index bc5ee68a0..5f80e6725 100644 --- a/debian/patches/features/all/rt/0260-net-Use-cpu_chill-instead-of-cpu_relax.patch +++ b/debian/patches/features/all/rt/0260-net-Use-cpu_chill-instead-of-cpu_relax.patch @@ -1,7 +1,7 @@ -From c7861ae8dc66dbd71a13eb75c23d1fcf9e04a7ed Mon Sep 17 00:00:00 2001 +From f215e5a2e9f037a7a9ee500a50dd76e0d5e1b43e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:10:04 +0100 -Subject: [PATCH 260/279] net: Use cpu_chill() instead of cpu_relax() +Subject: [PATCH 260/286] net: Use cpu_chill() instead of cpu_relax() Retry loops on RT might loop forever when the modifying side was preempted. Use cpu_chill() instead of cpu_relax() to let the system diff --git a/debian/patches/features/all/rt/0261-kconfig-disable-a-few-options-rt.patch.patch b/debian/patches/features/all/rt/0261-kconfig-disable-a-few-options-rt.patch.patch index 2361596d3..5263a17bc 100644 --- a/debian/patches/features/all/rt/0261-kconfig-disable-a-few-options-rt.patch.patch +++ b/debian/patches/features/all/rt/0261-kconfig-disable-a-few-options-rt.patch.patch @@ -1,7 +1,7 @@ -From d174785e91ee433f835406df3a4c235aebaf199d Mon Sep 17 00:00:00 2001 +From d649d01358364ef56c6c6a6b6bccca77e046ad5b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 24 Jul 2011 12:11:43 +0200 -Subject: [PATCH 261/279] kconfig-disable-a-few-options-rt.patch +Subject: [PATCH 261/286] kconfig-disable-a-few-options-rt.patch Disable stuff which is known to have issues on RT diff --git a/debian/patches/features/all/rt/0262-kconfig-preempt-rt-full.patch.patch b/debian/patches/features/all/rt/0262-kconfig-preempt-rt-full.patch.patch index bac08fa90..7c19cec0e 100644 --- a/debian/patches/features/all/rt/0262-kconfig-preempt-rt-full.patch.patch +++ b/debian/patches/features/all/rt/0262-kconfig-preempt-rt-full.patch.patch @@ -1,7 +1,7 @@ -From c5016368ba179991a83b97af784a67ef16a24ec4 Mon Sep 17 00:00:00 2001 +From 4da29ef44ef6798c2fb460afe60df7531ac99ca3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 14:58:57 +0200 -Subject: [PATCH 262/279] kconfig-preempt-rt-full.patch +Subject: [PATCH 262/286] kconfig-preempt-rt-full.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0263-rt-Make-migrate_disable-enable-and-__rt_mutex_init-n.patch b/debian/patches/features/all/rt/0263-rt-Make-migrate_disable-enable-and-__rt_mutex_init-n.patch index 1f60d4747..9a640cd84 100644 --- a/debian/patches/features/all/rt/0263-rt-Make-migrate_disable-enable-and-__rt_mutex_init-n.patch +++ b/debian/patches/features/all/rt/0263-rt-Make-migrate_disable-enable-and-__rt_mutex_init-n.patch @@ -1,7 +1,7 @@ -From 2c6d2a3e6deec1de5dfe20b5223be2c746b77691 Mon Sep 17 00:00:00 2001 +From d405662785538452fe34c22918951cc607131979 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 16 Apr 2012 21:51:54 -0400 -Subject: [PATCH 263/279] rt: Make migrate_disable/enable() and +Subject: [PATCH 263/286] rt: Make migrate_disable/enable() and __rt_mutex_init non-GPL only Modules that load on the normal vanilla kernel should also load on @@ -28,7 +28,7 @@ index b525158..9c4f6e5 100644 /** * rt_mutex_init_proxy_locked - initialize and lock a rt_mutex on behalf of a diff --git a/kernel/sched.c b/kernel/sched.c -index 40c4125..59b03ef 100644 +index 0b263dd..91ddbd8 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4618,7 +4618,7 @@ void migrate_disable(void) diff --git a/debian/patches/features/all/rt/0264-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch b/debian/patches/features/all/rt/0264-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch index ea7c5cb3f..d5f2b55c9 100644 --- a/debian/patches/features/all/rt/0264-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch +++ b/debian/patches/features/all/rt/0264-scsi-qla2xxx-Use-local_irq_save_nort-in-qla2x00_poll.patch @@ -1,7 +1,7 @@ -From 0bba77a36de2a3e0b5958d5bdca1232ce71b0f6e Mon Sep 17 00:00:00 2001 +From 7a39249320e329c27fe766511f36ea0ab70073ad Mon Sep 17 00:00:00 2001 From: John Kacur Date: Fri, 27 Apr 2012 12:48:46 +0200 -Subject: [PATCH 264/279] scsi: qla2xxx: Use local_irq_save_nort() in +Subject: [PATCH 264/286] scsi: qla2xxx: Use local_irq_save_nort() in qla2x00_poll RT triggers the following: diff --git a/debian/patches/features/all/rt/0265-net-RT-REmove-preemption-disabling-in-netif_rx.patch b/debian/patches/features/all/rt/0265-net-RT-REmove-preemption-disabling-in-netif_rx.patch index 851ee7291..34f331c04 100644 --- a/debian/patches/features/all/rt/0265-net-RT-REmove-preemption-disabling-in-netif_rx.patch +++ b/debian/patches/features/all/rt/0265-net-RT-REmove-preemption-disabling-in-netif_rx.patch @@ -1,7 +1,7 @@ -From 2598e19fb0631b1bd31b94665cd0ea294b2e6c4f Mon Sep 17 00:00:00 2001 +From 674eba82184dfa7e9a840f65cf37d66e49b471e8 Mon Sep 17 00:00:00 2001 From: Priyanka Jain Date: Thu, 17 May 2012 09:35:11 +0530 -Subject: [PATCH 265/279] net,RT:REmove preemption disabling in netif_rx() +Subject: [PATCH 265/286] net,RT:REmove preemption disabling in netif_rx() 1)enqueue_to_backlog() (called from netif_rx) should be bind to a particluar CPU. This can be achieved by @@ -36,10 +36,10 @@ Signed-off-by: Steven Rostedt 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 831f9a3..405217c 100644 +index 20fe9a8..cd1df6e 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3002,7 +3002,7 @@ int netif_rx(struct sk_buff *skb) +@@ -3004,7 +3004,7 @@ int netif_rx(struct sk_buff *skb) struct rps_dev_flow voidflow, *rflow = &voidflow; int cpu; @@ -48,7 +48,7 @@ index 831f9a3..405217c 100644 rcu_read_lock(); cpu = get_rps_cpu(skb->dev, skb, &rflow); -@@ -3012,13 +3012,13 @@ int netif_rx(struct sk_buff *skb) +@@ -3014,13 +3014,13 @@ int netif_rx(struct sk_buff *skb) ret = enqueue_to_backlog(skb, cpu, &rflow->last_qtail); rcu_read_unlock(); diff --git a/debian/patches/features/all/rt/0266-mips-remove-smp-reserve-lock.patch.patch b/debian/patches/features/all/rt/0266-mips-remove-smp-reserve-lock.patch.patch index 2c7289d51..46851a953 100644 --- a/debian/patches/features/all/rt/0266-mips-remove-smp-reserve-lock.patch.patch +++ b/debian/patches/features/all/rt/0266-mips-remove-smp-reserve-lock.patch.patch @@ -1,7 +1,7 @@ -From fff38d784886972051f74e799027e6ebf7b46ace Mon Sep 17 00:00:00 2001 +From 554923b3a0433c787d7488fa08da7d14d6329101 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 22 May 2012 21:15:10 +0200 -Subject: [PATCH 266/279] mips-remove-smp-reserve-lock.patch +Subject: [PATCH 266/286] mips-remove-smp-reserve-lock.patch Instead of making the lock raw, remove it as it protects nothing. diff --git a/debian/patches/features/all/rt/0267-Latency-histogramms-Cope-with-backwards-running-loca.patch b/debian/patches/features/all/rt/0267-Latency-histogramms-Cope-with-backwards-running-loca.patch index a34c7120a..5b3896e77 100644 --- a/debian/patches/features/all/rt/0267-Latency-histogramms-Cope-with-backwards-running-loca.patch +++ b/debian/patches/features/all/rt/0267-Latency-histogramms-Cope-with-backwards-running-loca.patch @@ -1,7 +1,7 @@ -From 030e8483fe377b75b0f4a2121f624a1ec1c92428 Mon Sep 17 00:00:00 2001 +From 3936b6b99f96c6d667c9ae15b5ea4fc574168f41 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:17 +0000 -Subject: [PATCH 267/279] Latency histogramms: Cope with backwards running +Subject: [PATCH 267/286] Latency histogramms: Cope with backwards running local trace clock Thanks to the wonders of modern technology, the local trace clock can diff --git a/debian/patches/features/all/rt/0268-Latency-histograms-Adjust-timer-if-already-elapsed-w.patch b/debian/patches/features/all/rt/0268-Latency-histograms-Adjust-timer-if-already-elapsed-w.patch index e2877a429..3953d754c 100644 --- a/debian/patches/features/all/rt/0268-Latency-histograms-Adjust-timer-if-already-elapsed-w.patch +++ b/debian/patches/features/all/rt/0268-Latency-histograms-Adjust-timer-if-already-elapsed-w.patch @@ -1,7 +1,7 @@ -From df432bbdd8fef88c9827f09d694fdcffa90f46a2 Mon Sep 17 00:00:00 2001 +From fab19d98f8b230904f5014fc6f3a1cfb0d906364 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:18 +0000 -Subject: [PATCH 268/279] Latency histograms: Adjust timer, if already elapsed +Subject: [PATCH 268/286] Latency histograms: Adjust timer, if already elapsed when programmed Nothing prevents a programmer from calling clock_nanosleep() with an diff --git a/debian/patches/features/all/rt/0269-Disable-RT_GROUP_SCHED-in-PREEMPT_RT_FULL.patch b/debian/patches/features/all/rt/0269-Disable-RT_GROUP_SCHED-in-PREEMPT_RT_FULL.patch index b83d535af..558c1fa01 100644 --- a/debian/patches/features/all/rt/0269-Disable-RT_GROUP_SCHED-in-PREEMPT_RT_FULL.patch +++ b/debian/patches/features/all/rt/0269-Disable-RT_GROUP_SCHED-in-PREEMPT_RT_FULL.patch @@ -1,7 +1,7 @@ -From c7e3dd9e7b6f38ad17bf2100ed97b70ded6290ba Mon Sep 17 00:00:00 2001 +From e812ef1adc960c2ac62adad1f7097a0bf5c783f5 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:18 +0000 -Subject: [PATCH 269/279] Disable RT_GROUP_SCHED in PREEMPT_RT_FULL +Subject: [PATCH 269/286] Disable RT_GROUP_SCHED in PREEMPT_RT_FULL Strange CPU stalls have been observed in RT when RT_GROUP_SCHED was configured. diff --git a/debian/patches/features/all/rt/0270-Latency-histograms-Detect-another-yet-overlooked-sha.patch b/debian/patches/features/all/rt/0270-Latency-histograms-Detect-another-yet-overlooked-sha.patch index 474700411..7406d0ab3 100644 --- a/debian/patches/features/all/rt/0270-Latency-histograms-Detect-another-yet-overlooked-sha.patch +++ b/debian/patches/features/all/rt/0270-Latency-histograms-Detect-another-yet-overlooked-sha.patch @@ -1,7 +1,7 @@ -From 4a5d692b1f39c3c0df827c34f9ee3e2e8cfa296b Mon Sep 17 00:00:00 2001 +From 7d69a705a0db00f1da47e660c3d2f06ceb9c315a Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:19 +0000 -Subject: [PATCH 270/279] Latency histograms: Detect another yet overlooked +Subject: [PATCH 270/286] Latency histograms: Detect another yet overlooked sharedprio condition While waiting for an RT process to be woken up, the previous process may diff --git a/debian/patches/features/all/rt/0271-slab-Prevent-local-lock-deadlock.patch b/debian/patches/features/all/rt/0271-slab-Prevent-local-lock-deadlock.patch index 1647b6c30..65bd34300 100644 --- a/debian/patches/features/all/rt/0271-slab-Prevent-local-lock-deadlock.patch +++ b/debian/patches/features/all/rt/0271-slab-Prevent-local-lock-deadlock.patch @@ -1,7 +1,7 @@ -From 525f427b8a5cafda10401bbed20ed874186e5a50 Mon Sep 17 00:00:00 2001 +From db0c6c9b51c4df765197b9c323a6fdb94aa62411 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 11 Jul 2012 22:05:19 +0000 -Subject: [PATCH 271/279] slab: Prevent local lock deadlock +Subject: [PATCH 271/286] slab: Prevent local lock deadlock On RT we avoid the cross cpu function calls and take the per cpu local locks instead. Now the code missed that taking the local lock on the diff --git a/debian/patches/features/all/rt/0272-fs-jbd-pull-your-plug-when-waiting-for-space.patch b/debian/patches/features/all/rt/0272-fs-jbd-pull-your-plug-when-waiting-for-space.patch index cebf1cec3..a808d6e9b 100644 --- a/debian/patches/features/all/rt/0272-fs-jbd-pull-your-plug-when-waiting-for-space.patch +++ b/debian/patches/features/all/rt/0272-fs-jbd-pull-your-plug-when-waiting-for-space.patch @@ -1,7 +1,7 @@ -From 333a68711154ac3e8b61ac77890f71fcbf3bf49e Mon Sep 17 00:00:00 2001 +From 3aa4eebf08147fd75d5dd0a8786abfa38233b82b Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 11 Jul 2012 22:05:20 +0000 -Subject: [PATCH 272/279] fs, jbd: pull your plug when waiting for space +Subject: [PATCH 272/286] fs, jbd: pull your plug when waiting for space With an -rt kernel, and a heavy sync IO load, tasks can jam up on journal locks without unplugging, which can lead to diff --git a/debian/patches/features/all/rt/0273-perf-Make-swevent-hrtimer-run-in-irq-instead-of-soft.patch b/debian/patches/features/all/rt/0273-perf-Make-swevent-hrtimer-run-in-irq-instead-of-soft.patch index b8b8b9415..7f7960693 100644 --- a/debian/patches/features/all/rt/0273-perf-Make-swevent-hrtimer-run-in-irq-instead-of-soft.patch +++ b/debian/patches/features/all/rt/0273-perf-Make-swevent-hrtimer-run-in-irq-instead-of-soft.patch @@ -1,7 +1,7 @@ -From f5ac20b75a5e81caa712ee91dc705e8c4190213d Mon Sep 17 00:00:00 2001 +From c300f6eec53fc60454fe86e375f34e284ad2f8e8 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Wed, 11 Jul 2012 22:05:21 +0000 -Subject: [PATCH 273/279] perf: Make swevent hrtimer run in irq instead of +Subject: [PATCH 273/286] perf: Make swevent hrtimer run in irq instead of softirq Otherwise we get a deadlock like below: diff --git a/debian/patches/features/all/rt/0274-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch b/debian/patches/features/all/rt/0274-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch index 9e4d9d0d7..6ae04f247 100644 --- a/debian/patches/features/all/rt/0274-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch +++ b/debian/patches/features/all/rt/0274-cpu-rt-Rework-cpu-down-for-PREEMPT_RT.patch @@ -1,7 +1,7 @@ -From 4e5e3b042a9d71dd4c5885e1c763e6c8449c2d55 Mon Sep 17 00:00:00 2001 +From a3ac333f23f5a7c887d40543b662a0d3125c9b67 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 16 Jul 2012 08:07:43 +0000 -Subject: [PATCH 274/279] cpu/rt: Rework cpu down for PREEMPT_RT +Subject: [PATCH 274/286] cpu/rt: Rework cpu down for PREEMPT_RT Bringing a CPU down is a pain with the PREEMPT_RT kernel because tasks can be preempted in many more places than in non-RT. In @@ -434,7 +434,7 @@ index 66dfb74..0964e93 100644 if (err) { /* CPU didn't die: tell everyone. Can't complain. */ diff --git a/kernel/sched.c b/kernel/sched.c -index 59b03ef..d1bb815 100644 +index 91ddbd8..87654e6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4596,7 +4596,7 @@ void migrate_disable(void) diff --git a/debian/patches/features/all/rt/0275-cpu-rt-Fix-cpu_hotplug-variable-initialization.patch b/debian/patches/features/all/rt/0275-cpu-rt-Fix-cpu_hotplug-variable-initialization.patch index 255e34487..66c397a7b 100644 --- a/debian/patches/features/all/rt/0275-cpu-rt-Fix-cpu_hotplug-variable-initialization.patch +++ b/debian/patches/features/all/rt/0275-cpu-rt-Fix-cpu_hotplug-variable-initialization.patch @@ -1,7 +1,7 @@ -From 7c973afe2100d84a89b90a81f2ecdb250c407426 Mon Sep 17 00:00:00 2001 +From 17d7e91de6885677c1ef8d9102773aee2b19cb5f Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 17 Jul 2012 10:45:59 -0400 -Subject: [PATCH 275/279] cpu/rt: Fix cpu_hotplug variable initialization +Subject: [PATCH 275/286] cpu/rt: Fix cpu_hotplug variable initialization The commit "cpu/rt: Rework cpu down for PREEMPT_RT" changed the double meaning of the cpu_hotplug.lock, where it was a spinlock for RT and a diff --git a/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch b/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch index 72ce1b977..01cd82d51 100644 --- a/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch +++ b/debian/patches/features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch @@ -1,7 +1,7 @@ -From 1fc8500f154b877ef0336574a61942a8174f82c6 Mon Sep 17 00:00:00 2001 +From 45fa31684a25c2ad4d65523c3c25f4c2f2fa452b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 2 Aug 2012 18:56:52 -0400 -Subject: [PATCH 276/279] time/rt: Fix up leap-second backport for RT changes +Subject: [PATCH 276/286] time/rt: Fix up leap-second backport for RT changes The leap-second backport broke RT, and a few changes had to be done. diff --git a/debian/patches/features/all/rt/0277-fix-printk-flush-of-messages.patch b/debian/patches/features/all/rt/0277-fix-printk-flush-of-messages.patch index 11ba3e5d6..b7cc5e169 100644 --- a/debian/patches/features/all/rt/0277-fix-printk-flush-of-messages.patch +++ b/debian/patches/features/all/rt/0277-fix-printk-flush-of-messages.patch @@ -1,7 +1,7 @@ -From 0ac987f2ab594630b9588d6d821e3c5a97fa197c Mon Sep 17 00:00:00 2001 +From 848000452ab2a740c410c4922805a9dad94a1653 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Wed, 16 May 2012 18:09:36 -0700 -Subject: [PATCH 277/279] fix printk flush of messages +Subject: [PATCH 277/286] fix printk flush of messages Updates console-make-rt-friendly.patch diff --git a/debian/patches/features/all/rt/0278-fix-printk-flush-of-messages.patch b/debian/patches/features/all/rt/0278-fix-printk-flush-of-messages.patch index 931e0c2e6..2034a2d3c 100644 --- a/debian/patches/features/all/rt/0278-fix-printk-flush-of-messages.patch +++ b/debian/patches/features/all/rt/0278-fix-printk-flush-of-messages.patch @@ -1,7 +1,7 @@ -From 3d4ae200c6efd224d2204803ae054e8b296d5c1b Mon Sep 17 00:00:00 2001 +From dd306a3335ed17934dca455126190fca39b4203a Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Wed, 16 May 2012 18:05:53 -0700 -Subject: [PATCH 278/279] fix printk flush of messages +Subject: [PATCH 278/286] fix printk flush of messages Reverse preempt-rt-allow-immediate-magic-sysrq-output-for-preempt_rt_full.patch @@ -22,7 +22,7 @@ Signed-off-by: Steven Rostedt --- a/drivers/tty/serial/cpm_uart/cpm_uart_core.c +++ b/drivers/tty/serial/cpm_uart/cpm_uart_core.c -@@ -1226,7 +1226,7 @@ static void cpm_uart_console_write(struc +@@ -1226,7 +1226,7 @@ static void cpm_uart_console_write(struct console *co, const char *s, { struct uart_cpm_port *pinfo = &cpm_uart_ports[co->index]; unsigned long flags; @@ -33,7 +33,7 @@ Signed-off-by: Steven Rostedt local_irq_save(flags); --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c -@@ -492,23 +492,6 @@ static void __sysrq_put_key_op(int key, +@@ -492,23 +492,6 @@ static void __sysrq_put_key_op(int key, struct sysrq_key_op *op_p) sysrq_key_table[i] = op_p; } @@ -57,7 +57,7 @@ Signed-off-by: Steven Rostedt void __handle_sysrq(int key, bool check_mask) { struct sysrq_key_op *op_p; -@@ -517,9 +500,6 @@ void __handle_sysrq(int key, bool check_ +@@ -517,9 +500,6 @@ void __handle_sysrq(int key, bool check_mask) unsigned long flags; spin_lock_irqsave(&sysrq_key_table_lock, flags); @@ -67,7 +67,7 @@ Signed-off-by: Steven Rostedt /* * Raise the apparent loglevel to maximum so that the sysrq header * is shown to provide the user with positive feedback. We do not -@@ -561,9 +541,6 @@ void __handle_sysrq(int key, bool check_ +@@ -561,9 +541,6 @@ void __handle_sysrq(int key, bool check_mask) printk("\n"); console_loglevel = orig_log_level; } @@ -101,7 +101,7 @@ Signed-off-by: Steven Rostedt #include #include #include -@@ -835,8 +834,8 @@ static int console_trylock_for_printk(un +@@ -835,8 +834,8 @@ static int console_trylock_for_printk(unsigned int cpu, unsigned long flags) { int retval = 0, wake = 0; #ifdef CONFIG_PREEMPT_RT_FULL @@ -114,7 +114,7 @@ Signed-off-by: Steven Rostedt #endif --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug -@@ -70,28 +70,6 @@ config MAGIC_SYSRQ_DEFAULT_MASK +@@ -62,28 +62,6 @@ config MAGIC_SYSRQ Specifies the default mask for the allowed SysRq keys. This can be used to disable several sensitive keys by default. diff --git a/debian/patches/features/all/rt/0279-random-Make-it-work-on-rt.patch b/debian/patches/features/all/rt/0279-random-Make-it-work-on-rt.patch new file mode 100644 index 000000000..85a104f4d --- /dev/null +++ b/debian/patches/features/all/rt/0279-random-Make-it-work-on-rt.patch @@ -0,0 +1,125 @@ +From 3c8b9146bd9a91ea0893ed1198c9a0a2ee168f3c Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Tue, 21 Aug 2012 20:38:50 +0200 +Subject: [PATCH 279/286] random: Make it work on rt + +Delegate the random insertion to the forced threaded interrupt +handler. Store the return IP of the hard interrupt handler in the irq +descriptor and feed it into the random generator as a source of +entropy. + +Signed-off-by: Thomas Gleixner +Cc: stable-rt@vger.kernel.org +Signed-off-by: Steven Rostedt +--- + drivers/char/random.c | 10 ++++++---- + include/linux/irqdesc.h | 1 + + include/linux/random.h | 2 +- + kernel/irq/handle.c | 7 +++++-- + kernel/irq/manage.c | 6 ++++++ + 5 files changed, 19 insertions(+), 7 deletions(-) + +diff --git a/drivers/char/random.c b/drivers/char/random.c +index d38af32..66c8a0f 100644 +--- a/drivers/char/random.c ++++ b/drivers/char/random.c +@@ -767,18 +767,16 @@ EXPORT_SYMBOL_GPL(add_input_randomness); + + static DEFINE_PER_CPU(struct fast_pool, irq_randomness); + +-void add_interrupt_randomness(int irq, int irq_flags) ++void add_interrupt_randomness(int irq, int irq_flags, __u64 ip) + { + struct entropy_store *r; + struct fast_pool *fast_pool = &__get_cpu_var(irq_randomness); +- struct pt_regs *regs = get_irq_regs(); + unsigned long now = jiffies; + __u32 input[4], cycles = get_cycles(); + + input[0] = cycles ^ jiffies; + input[1] = irq; +- if (regs) { +- __u64 ip = instruction_pointer(regs); ++ if (ip) { + input[2] = ip; + input[3] = ip >> 32; + } +@@ -792,7 +790,11 @@ void add_interrupt_randomness(int irq, int irq_flags) + fast_pool->last = now; + + r = nonblocking_pool.initialized ? &input_pool : &nonblocking_pool; ++#ifndef CONFIG_PREEMPT_RT_FULL + __mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool), NULL); ++#else ++ mix_pool_bytes(r, &fast_pool->pool, sizeof(fast_pool->pool), NULL); ++#endif + /* + * If we don't have a valid cycle counter, and we see + * back-to-back timer interrupts, then skip giving credit for +diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h +index f1e2527..5f4f091 100644 +--- a/include/linux/irqdesc.h ++++ b/include/linux/irqdesc.h +@@ -53,6 +53,7 @@ struct irq_desc { + unsigned int irq_count; /* For detecting broken IRQs */ + unsigned long last_unhandled; /* Aging timer for unhandled count */ + unsigned int irqs_unhandled; ++ u64 random_ip; + raw_spinlock_t lock; + struct cpumask *percpu_enabled; + #ifdef CONFIG_SMP +diff --git a/include/linux/random.h b/include/linux/random.h +index 29e217a..3995b33 100644 +--- a/include/linux/random.h ++++ b/include/linux/random.h +@@ -53,7 +53,7 @@ extern void rand_initialize_irq(int irq); + extern void add_device_randomness(const void *, unsigned int); + extern void add_input_randomness(unsigned int type, unsigned int code, + unsigned int value); +-extern void add_interrupt_randomness(int irq, int irq_flags); ++extern void add_interrupt_randomness(int irq, int irq_flags, __u64 ip); + + extern void get_random_bytes(void *buf, int nbytes); + extern void get_random_bytes_arch(void *buf, int nbytes); +diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c +index a768885..f6b91bc 100644 +--- a/kernel/irq/handle.c ++++ b/kernel/irq/handle.c +@@ -116,6 +116,8 @@ static void irq_wake_thread(struct irq_desc *desc, struct irqaction *action) + irqreturn_t + handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) + { ++ struct pt_regs *regs = get_irq_regs(); ++ u64 ip = regs ? instruction_pointer(regs) : 0; + irqreturn_t retval = IRQ_NONE; + unsigned int flags = 0, irq = desc->irq_data.irq; + +@@ -157,8 +159,9 @@ handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) + } while (action); + + #ifndef CONFIG_PREEMPT_RT_FULL +- /* FIXME: Can we unbreak that ? */ +- add_interrupt_randomness(irq, flags); ++ add_interrupt_randomness(irq, flags, ip); ++#else ++ desc->random_ip = ip; + #endif + + if (!noirqdebug) +diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c +index 87dc053..2204340 100644 +--- a/kernel/irq/manage.c ++++ b/kernel/irq/manage.c +@@ -816,6 +816,12 @@ static int irq_thread(void *data) + action_ret = handler_fn(desc, action); + if (!noirqdebug) + note_interrupt(action->irq, desc, action_ret); ++#ifdef CONFIG_PREEMPT_RT_FULL ++ migrate_disable(); ++ add_interrupt_randomness(action->irq, 0, ++ desc->random_ip ^ (u64) action); ++ migrate_enable(); ++#endif + } + + wake = atomic_dec_and_test(&desc->threads_active); diff --git a/debian/patches/features/all/rt/0280-softirq-Init-softirq-local-lock-after-per-cpu-sectio.patch b/debian/patches/features/all/rt/0280-softirq-Init-softirq-local-lock-after-per-cpu-sectio.patch new file mode 100644 index 000000000..4d21804bf --- /dev/null +++ b/debian/patches/features/all/rt/0280-softirq-Init-softirq-local-lock-after-per-cpu-sectio.patch @@ -0,0 +1,137 @@ +From e45ce69cc0845336f408b24d75064c775cfac3ed Mon Sep 17 00:00:00 2001 +From: Steven Rostedt +Date: Thu, 4 Oct 2012 11:02:04 -0400 +Subject: [PATCH 280/286] softirq: Init softirq local lock after per cpu + section is set up + +I discovered this bug when booting 3.4-rt on my powerpc box. It crashed +with the following report: + +------------[ cut here ]------------ +kernel BUG at /work/rt/stable-rt.git/kernel/rtmutex_common.h:75! +Oops: Exception in kernel mode, sig: 5 [#1] +PREEMPT SMP NR_CPUS=64 NUMA PA Semi PWRficient +Modules linked in: +NIP: c0000000004aa03c LR: c0000000004aa01c CTR: c00000000009b2ac +REGS: c00000003e8d7950 TRAP: 0700 Not tainted (3.4.11-test-rt19) +MSR: 9000000000029032 CR: 24000082 XER: 20000000 +SOFTE: 0 +TASK = c00000003e8fdcd0[11] 'ksoftirqd/1' THREAD: c00000003e8d4000 CPU: 1 +GPR00: 0000000000000001 c00000003e8d7bd0 c000000000d6cbb0 0000000000000000 +GPR04: c00000003e8fdcd0 0000000000000000 0000000024004082 c000000000011454 +GPR08: 0000000000000000 0000000080000001 c00000003e8fdcd1 0000000000000000 +GPR12: 0000000024000084 c00000000fff0280 ffffffffffffffff 000000003ffffad8 +GPR16: ffffffffffffffff 000000000072c798 0000000000000060 0000000000000000 +GPR20: 0000000000642741 000000000072c858 000000003ffffaf0 0000000000000417 +GPR24: 000000000072dcd0 c00000003e7ff990 0000000000000000 0000000000000001 +GPR28: 0000000000000000 c000000000792340 c000000000ccec78 c000000001182338 +NIP [c0000000004aa03c] .wakeup_next_waiter+0x44/0xb8 +LR [c0000000004aa01c] .wakeup_next_waiter+0x24/0xb8 +Call Trace: +[c00000003e8d7bd0] [c0000000004aa01c] .wakeup_next_waiter+0x24/0xb8 (unreliable) +[c00000003e8d7c60] [c0000000004a0320] .rt_spin_lock_slowunlock+0x8c/0xe4 +[c00000003e8d7ce0] [c0000000004a07cc] .rt_spin_unlock+0x54/0x64 +[c00000003e8d7d60] [c0000000000636bc] .__thread_do_softirq+0x130/0x174 +[c00000003e8d7df0] [c00000000006379c] .run_ksoftirqd+0x9c/0x1a4 +[c00000003e8d7ea0] [c000000000080b68] .kthread+0xa8/0xb4 +[c00000003e8d7f90] [c00000000001c2f8] .kernel_thread+0x54/0x70 +Instruction dump: +60000000 e86d01c8 38630730 4bff7061 60000000 ebbf0008 7c7c1b78 e81d0040 +7fe00278 7c000074 7800d182 68000001 <0b000000> e88d01c8 387d0010 38840738 + +The rtmutex_common.h:75 is: + +rt_mutex_top_waiter(struct rt_mutex *lock) +{ + struct rt_mutex_waiter *w; + + w = plist_first_entry(&lock->wait_list, struct rt_mutex_waiter, + list_entry); + BUG_ON(w->lock != lock); + + return w; +} + +Where the waiter->lock is corrupted. I saw various other random bugs +that all had to with the softirq lock and plist. As plist needs to be +initialized before it is used I investigated how this lock is +initialized. It's initialized with: + +void __init softirq_early_init(void) +{ + local_irq_lock_init(local_softirq_lock); +} + +Where: + +#define local_irq_lock_init(lvar) \ + do { \ + int __cpu; \ + for_each_possible_cpu(__cpu) \ + spin_lock_init(&per_cpu(lvar, __cpu).lock); \ + } while (0) + +As the softirq lock is a local_irq_lock, which is a per_cpu lock, the +initialization is done to all per_cpu versions of the lock. But lets +look at where the softirq_early_init() is called from. + +In init/main.c: start_kernel() + +/* + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ + softirq_early_init(); + tick_init(); + boot_cpu_init(); + page_address_init(); + printk(KERN_NOTICE "%s", linux_banner); + setup_arch(&command_line); + mm_init_owner(&init_mm, &init_task); + mm_init_cpumask(&init_mm); + setup_command_line(command_line); + setup_nr_cpu_ids(); + setup_per_cpu_areas(); + smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ + +One of the first things that is called is the initialization of the +softirq lock. But if you look further down, we see the per_cpu areas +have not been set up yet. Thus initializing a local_irq_lock() before +the per_cpu section is set up, may not work as it is initializing the +per cpu locks before the per cpu exists. + +By moving the softirq_early_init() right after setup_per_cpu_areas(), +the kernel boots fine. + +Signed-off-by: Steven Rostedt +Cc: Clark Williams +Cc: John Kacur +Cc: Carsten Emde +Cc: vomlehn@texas.net +Cc: stable-rt@vger.kernel.org +Link: http://lkml.kernel.org/r/1349362924.6755.18.camel@gandalf.local.home +Signed-off-by: Thomas Gleixner +--- + init/main.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/init/main.c b/init/main.c +index d432bea..6f96224 100644 +--- a/init/main.c ++++ b/init/main.c +@@ -490,7 +490,6 @@ asmlinkage void __init start_kernel(void) + * Interrupts are still disabled. Do necessary setups, then + * enable them + */ +- softirq_early_init(); + tick_init(); + boot_cpu_init(); + page_address_init(); +@@ -501,6 +500,7 @@ asmlinkage void __init start_kernel(void) + setup_command_line(command_line); + setup_nr_cpu_ids(); + setup_per_cpu_areas(); ++ softirq_early_init(); + smp_prepare_boot_cpu(); /* arch-specific boot-cpu hooks */ + + build_all_zonelists(NULL); diff --git a/debian/patches/features/all/rt/0281-mm-slab-Fix-potential-deadlock.patch b/debian/patches/features/all/rt/0281-mm-slab-Fix-potential-deadlock.patch new file mode 100644 index 000000000..97ffbe503 --- /dev/null +++ b/debian/patches/features/all/rt/0281-mm-slab-Fix-potential-deadlock.patch @@ -0,0 +1,124 @@ +From ff5a750f8dff1a5b68901ff45977b79459fe46d4 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Wed, 26 Sep 2012 16:20:00 +0200 +Subject: [PATCH 281/286] mm: slab: Fix potential deadlock + + ============================================= +[ INFO: possible recursive locking detected ] + 3.6.0-rt1+ #49 Not tainted + --------------------------------------------- + swapper/0/1 is trying to acquire lock: + lock_slab_on+0x72/0x77 + + but task is already holding lock: + __local_lock_irq+0x24/0x77 + + other info that might help us debug this: + Possible unsafe locking scenario: + + CPU0 + ---- + lock(&per_cpu(slab_lock, __cpu).lock); + lock(&per_cpu(slab_lock, __cpu).lock); + + *** DEADLOCK *** + + May be due to missing lock nesting notation + + 2 locks held by swapper/0/1: + kmem_cache_create+0x33/0x89 + __local_lock_irq+0x24/0x77 + + stack backtrace: + Pid: 1, comm: swapper/0 Not tainted 3.6.0-rt1+ #49 + Call Trace: + __lock_acquire+0x9a4/0xdc4 + ? __local_lock_irq+0x24/0x77 + ? lock_slab_on+0x72/0x77 + lock_acquire+0xc4/0x108 + ? lock_slab_on+0x72/0x77 + ? unlock_slab_on+0x5b/0x5b + rt_spin_lock+0x36/0x3d + ? lock_slab_on+0x72/0x77 + ? migrate_disable+0x85/0x93 + lock_slab_on+0x72/0x77 + do_ccupdate_local+0x19/0x44 + slab_on_each_cpu+0x36/0x5a + do_tune_cpucache+0xc1/0x305 + enable_cpucache+0x8c/0xb5 + setup_cpu_cache+0x28/0x182 + __kmem_cache_create+0x34b/0x380 + ? shmem_mount+0x1a/0x1a + kmem_cache_create+0x4a/0x89 + ? shmem_mount+0x1a/0x1a + shmem_init+0x3e/0xd4 + kernel_init+0x11c/0x214 + kernel_thread_helper+0x4/0x10 + ? retint_restore_args+0x13/0x13 + ? start_kernel+0x3bc/0x3bc + ? gs_change+0x13/0x13 + +It's not a missing annotation. It's simply wrong code and needs to be +fixed. Instead of nesting the local and the remote cpu lock simply +acquire only the remote cpu lock, which is sufficient protection for +this procedure. + +Signed-off-by: Thomas Gleixner +Cc: stable-rt@vger.kernel.org +Signed-off-by: Steven Rostedt +--- + include/linux/locallock.h | 8 ++++++++ + mm/slab.c | 10 ++-------- + 2 files changed, 10 insertions(+), 8 deletions(-) + +diff --git a/include/linux/locallock.h b/include/linux/locallock.h +index 8fbc393..0161fbb 100644 +--- a/include/linux/locallock.h ++++ b/include/linux/locallock.h +@@ -96,6 +96,9 @@ static inline void __local_lock_irq(struct local_irq_lock *lv) + #define local_lock_irq(lvar) \ + do { __local_lock_irq(&get_local_var(lvar)); } while (0) + ++#define local_lock_irq_on(lvar, cpu) \ ++ do { __local_lock_irq(&per_cpu(lvar, cpu)); } while (0) ++ + static inline void __local_unlock_irq(struct local_irq_lock *lv) + { + LL_WARN(!lv->nestcnt); +@@ -111,6 +114,11 @@ static inline void __local_unlock_irq(struct local_irq_lock *lv) + put_local_var(lvar); \ + } while (0) + ++#define local_unlock_irq_on(lvar, cpu) \ ++ do { \ ++ __local_unlock_irq(&per_cpu(lvar, cpu)); \ ++ } while (0) ++ + static inline int __local_lock_irqsave(struct local_irq_lock *lv) + { + if (lv->owner != current) { +diff --git a/mm/slab.c b/mm/slab.c +index 411c545..6a8fd1b 100644 +--- a/mm/slab.c ++++ b/mm/slab.c +@@ -747,18 +747,12 @@ slab_on_each_cpu(void (*func)(void *arg, int this_cpu), void *arg) + + static void lock_slab_on(unsigned int cpu) + { +- if (cpu == smp_processor_id()) +- local_lock_irq(slab_lock); +- else +- local_spin_lock_irq(slab_lock, &per_cpu(slab_lock, cpu).lock); ++ local_lock_irq_on(slab_lock, cpu); + } + + static void unlock_slab_on(unsigned int cpu) + { +- if (cpu == smp_processor_id()) +- local_unlock_irq(slab_lock); +- else +- local_spin_unlock_irq(slab_lock, &per_cpu(slab_lock, cpu).lock); ++ local_unlock_irq_on(slab_lock, cpu); + } + #endif + diff --git a/debian/patches/features/all/rt/0282-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch b/debian/patches/features/all/rt/0282-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch new file mode 100644 index 000000000..91f38e0c4 --- /dev/null +++ b/debian/patches/features/all/rt/0282-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch @@ -0,0 +1,62 @@ +From d77191038bc457805ce015e6f690644c76f850fe Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Thu, 27 Sep 2012 11:11:46 +0200 +Subject: [PATCH 282/286] mm: page_alloc: Use local_lock_on() instead of plain + spinlock + +The plain spinlock while sufficient does not update the local_lock +internals. Use a proper local_lock function instead to ease debugging. + +Signed-off-by: Thomas Gleixner +Cc: stable-rt@vger.kernel.org +Signed-off-by: Steven Rostedt +--- + include/linux/locallock.h | 11 +++++++++++ + mm/page_alloc.c | 4 ++-- + 2 files changed, 13 insertions(+), 2 deletions(-) + +diff --git a/include/linux/locallock.h b/include/linux/locallock.h +index 0161fbb..f1804a3 100644 +--- a/include/linux/locallock.h ++++ b/include/linux/locallock.h +@@ -137,6 +137,12 @@ static inline int __local_lock_irqsave(struct local_irq_lock *lv) + _flags = __get_cpu_var(lvar).flags; \ + } while (0) + ++#define local_lock_irqsave_on(lvar, _flags, cpu) \ ++ do { \ ++ __local_lock_irqsave(&per_cpu(lvar, cpu)); \ ++ _flags = per_cpu(lvar, cpu).flags; \ ++ } while (0) ++ + static inline int __local_unlock_irqrestore(struct local_irq_lock *lv, + unsigned long flags) + { +@@ -156,6 +162,11 @@ static inline int __local_unlock_irqrestore(struct local_irq_lock *lv, + put_local_var(lvar); \ + } while (0) + ++#define local_unlock_irqrestore_on(lvar, flags, cpu) \ ++ do { \ ++ __local_unlock_irqrestore(&per_cpu(lvar, cpu), flags); \ ++ } while (0) ++ + #define local_spin_trylock_irq(lvar, lock) \ + ({ \ + int __locked; \ +diff --git a/mm/page_alloc.c b/mm/page_alloc.c +index 67202bc..8678a7f 100644 +--- a/mm/page_alloc.c ++++ b/mm/page_alloc.c +@@ -227,9 +227,9 @@ static DEFINE_LOCAL_IRQ_LOCK(pa_lock); + + #ifdef CONFIG_PREEMPT_RT_BASE + # define cpu_lock_irqsave(cpu, flags) \ +- spin_lock_irqsave(&per_cpu(pa_lock, cpu).lock, flags) ++ local_lock_irqsave_on(pa_lock, flags, cpu) + # define cpu_unlock_irqrestore(cpu, flags) \ +- spin_unlock_irqrestore(&per_cpu(pa_lock, cpu).lock, flags) ++ local_unlock_irqrestore_on(pa_lock, flags, cpu) + #else + # define cpu_lock_irqsave(cpu, flags) local_irq_save(flags) + # define cpu_unlock_irqrestore(cpu, flags) local_irq_restore(flags) diff --git a/debian/patches/features/all/rt/0283-rt-rwsem-rwlock-lockdep-annotations.patch b/debian/patches/features/all/rt/0283-rt-rwsem-rwlock-lockdep-annotations.patch new file mode 100644 index 000000000..13fd8f755 --- /dev/null +++ b/debian/patches/features/all/rt/0283-rt-rwsem-rwlock-lockdep-annotations.patch @@ -0,0 +1,123 @@ +From 46bfd6b487b86b1e11e00d428fd8e715ae3ec07f Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Fri, 28 Sep 2012 10:49:42 +0100 +Subject: [PATCH 283/286] rt: rwsem/rwlock: lockdep annotations + +rwlocks and rwsems on RT do not allow multiple readers. Annotate the +lockdep acquire functions accordingly. + +Signed-off-by: Thomas Gleixner +Cc: stable-rt@vger.kernel.org +Signed-off-by: Steven Rostedt +--- + kernel/rt.c | 46 +++++++++++++++++++++++++--------------------- + 1 file changed, 25 insertions(+), 21 deletions(-) + +diff --git a/kernel/rt.c b/kernel/rt.c +index 092d6b3..aa10504 100644 +--- a/kernel/rt.c ++++ b/kernel/rt.c +@@ -216,15 +216,17 @@ int __lockfunc rt_read_trylock(rwlock_t *rwlock) + * write locked. + */ + migrate_disable(); +- if (rt_mutex_owner(lock) != current) ++ if (rt_mutex_owner(lock) != current) { + ret = rt_mutex_trylock(lock); +- else if (!rwlock->read_depth) ++ if (ret) ++ rwlock_acquire(&rwlock->dep_map, 0, 1, _RET_IP_); ++ } else if (!rwlock->read_depth) { + ret = 0; ++ } + +- if (ret) { ++ if (ret) + rwlock->read_depth++; +- rwlock_acquire_read(&rwlock->dep_map, 0, 1, _RET_IP_); +- } else ++ else + migrate_enable(); + + return ret; +@@ -242,13 +244,13 @@ void __lockfunc rt_read_lock(rwlock_t *rwlock) + { + struct rt_mutex *lock = &rwlock->lock; + +- rwlock_acquire_read(&rwlock->dep_map, 0, 0, _RET_IP_); +- + /* + * recursive read locks succeed when current owns the lock + */ +- if (rt_mutex_owner(lock) != current) ++ if (rt_mutex_owner(lock) != current) { ++ rwlock_acquire(&rwlock->dep_map, 0, 0, _RET_IP_); + __rt_spin_lock(lock); ++ } + rwlock->read_depth++; + } + +@@ -264,11 +266,11 @@ EXPORT_SYMBOL(rt_write_unlock); + + void __lockfunc rt_read_unlock(rwlock_t *rwlock) + { +- rwlock_release(&rwlock->dep_map, 1, _RET_IP_); +- + /* Release the lock only when read_depth is down to 0 */ +- if (--rwlock->read_depth == 0) ++ if (--rwlock->read_depth == 0) { ++ rwlock_release(&rwlock->dep_map, 1, _RET_IP_); + __rt_spin_unlock(&rwlock->lock); ++ } + } + EXPORT_SYMBOL(rt_read_unlock); + +@@ -315,9 +317,10 @@ EXPORT_SYMBOL(rt_up_write); + + void rt_up_read(struct rw_semaphore *rwsem) + { +- rwsem_release(&rwsem->dep_map, 1, _RET_IP_); +- if (--rwsem->read_depth == 0) ++ if (--rwsem->read_depth == 0) { ++ rwsem_release(&rwsem->dep_map, 1, _RET_IP_); + rt_mutex_unlock(&rwsem->lock); ++ } + } + EXPORT_SYMBOL(rt_up_read); + +@@ -366,15 +369,16 @@ int rt_down_read_trylock(struct rw_semaphore *rwsem) + * but not when read_depth == 0 which means that the rwsem is + * write locked. + */ +- if (rt_mutex_owner(lock) != current) ++ if (rt_mutex_owner(lock) != current) { + ret = rt_mutex_trylock(&rwsem->lock); +- else if (!rwsem->read_depth) ++ if (ret) ++ rwsem_acquire(&rwsem->dep_map, 0, 1, _RET_IP_); ++ } else if (!rwsem->read_depth) { + ret = 0; ++ } + +- if (ret) { ++ if (ret) + rwsem->read_depth++; +- rwsem_acquire(&rwsem->dep_map, 0, 1, _RET_IP_); +- } + return ret; + } + EXPORT_SYMBOL(rt_down_read_trylock); +@@ -383,10 +387,10 @@ static void __rt_down_read(struct rw_semaphore *rwsem, int subclass) + { + struct rt_mutex *lock = &rwsem->lock; + +- rwsem_acquire_read(&rwsem->dep_map, subclass, 0, _RET_IP_); +- +- if (rt_mutex_owner(lock) != current) ++ if (rt_mutex_owner(lock) != current) { ++ rwsem_acquire(&rwsem->dep_map, subclass, 0, _RET_IP_); + rt_mutex_lock(&rwsem->lock); ++ } + rwsem->read_depth++; + } + diff --git a/debian/patches/features/all/rt/0284-sched-Better-debug-output-for-might-sleep.patch b/debian/patches/features/all/rt/0284-sched-Better-debug-output-for-might-sleep.patch new file mode 100644 index 000000000..cbb30c059 --- /dev/null +++ b/debian/patches/features/all/rt/0284-sched-Better-debug-output-for-might-sleep.patch @@ -0,0 +1,79 @@ +From cd0e8e94012ee7b92113739798fb57e7312bae5c Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Fri, 5 Oct 2012 08:56:15 +0100 +Subject: [PATCH 284/286] sched: Better debug output for might sleep + +might sleep can tell us where interrupts have been disabled, but we +have no idea what disabled preemption. Add some debug infrastructure. + +Cc: stable-rt@vger.kernel.org +Signed-off-by: Thomas Gleixner +Signed-off-by: Steven Rostedt +--- + include/linux/sched.h | 4 ++++ + kernel/sched.c | 23 +++++++++++++++++++++-- + 2 files changed, 25 insertions(+), 2 deletions(-) + +diff --git a/include/linux/sched.h b/include/linux/sched.h +index 03498cc..12317b6 100644 +--- a/include/linux/sched.h ++++ b/include/linux/sched.h +@@ -1612,6 +1612,10 @@ struct task_struct { + int kmap_idx; + pte_t kmap_pte[KM_TYPE_NR]; + #endif ++ ++#ifdef CONFIG_DEBUG_PREEMPT ++ unsigned long preempt_disable_ip; ++#endif + }; + + #ifdef CONFIG_PREEMPT_RT_FULL +diff --git a/kernel/sched.c b/kernel/sched.c +index 87654e6..cdf9484 100644 +--- a/kernel/sched.c ++++ b/kernel/sched.c +@@ -4487,8 +4487,13 @@ void __kprobes add_preempt_count(int val) + DEBUG_LOCKS_WARN_ON((preempt_count() & PREEMPT_MASK) >= + PREEMPT_MASK - 10); + #endif +- if (preempt_count() == val) +- trace_preempt_off(CALLER_ADDR0, get_parent_ip(CALLER_ADDR1)); ++ if (preempt_count() == val) { ++ unsigned long ip = get_parent_ip(CALLER_ADDR1); ++#ifdef CONFIG_DEBUG_PREEMPT ++ current->preempt_disable_ip = ip; ++#endif ++ trace_preempt_off(CALLER_ADDR0, ip); ++ } + } + EXPORT_SYMBOL(add_preempt_count); + +@@ -4530,6 +4535,13 @@ static noinline void __schedule_bug(struct task_struct *prev) + print_modules(); + if (irqs_disabled()) + print_irqtrace_events(prev); ++#ifdef DEBUG_PREEMPT ++ if (in_atomic_preempt_off()) { ++ pr_err("Preemption disabled at:"); ++ print_ip_sym(current->preempt_disable_ip); ++ pr_cont("\n"); ++ } ++#endif + + if (regs) + show_regs(regs); +@@ -8912,6 +8924,13 @@ void __might_sleep(const char *file, int line, int preempt_offset) + debug_show_held_locks(current); + if (irqs_disabled()) + print_irqtrace_events(current); ++#ifdef DEBUG_PREEMPT ++ if (!preempt_count_equals(preempt_offset)) { ++ pr_err("Preemption disabled at:"); ++ print_ip_sym(current->preempt_disable_ip); ++ pr_cont("\n"); ++ } ++#endif + dump_stack(); + } + EXPORT_SYMBOL(__might_sleep); diff --git a/debian/patches/features/all/rt/0285-stomp_machine-Use-mutex_trylock-when-called-from-ina.patch b/debian/patches/features/all/rt/0285-stomp_machine-Use-mutex_trylock-when-called-from-ina.patch new file mode 100644 index 000000000..1010c2599 --- /dev/null +++ b/debian/patches/features/all/rt/0285-stomp_machine-Use-mutex_trylock-when-called-from-ina.patch @@ -0,0 +1,63 @@ +From 69b3877cf017dbd770fc5aa21e50efce62899d20 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Wed, 3 Oct 2012 17:21:53 +0100 +Subject: [PATCH 285/286] stomp_machine: Use mutex_trylock when called from + inactive cpu + +If the stop machinery is called from inactive CPU we cannot use +mutex_lock, because some other stomp machine invokation might be in +progress and the mutex can be contended. We cannot schedule from this +context, so trylock and loop. + +Signed-off-by: Thomas Gleixner +Cc: stable-rt@vger.kernel.org +Signed-off-by: Steven Rostedt +--- + kernel/stop_machine.c | 13 +++++++++---- + 1 file changed, 9 insertions(+), 4 deletions(-) + +diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c +index 561ba3a..e98c70b 100644 +--- a/kernel/stop_machine.c ++++ b/kernel/stop_machine.c +@@ -158,7 +158,7 @@ static DEFINE_PER_CPU(struct cpu_stop_work, stop_cpus_work); + + static void queue_stop_cpus_work(const struct cpumask *cpumask, + cpu_stop_fn_t fn, void *arg, +- struct cpu_stop_done *done) ++ struct cpu_stop_done *done, bool inactive) + { + struct cpu_stop_work *work; + unsigned int cpu; +@@ -175,7 +175,12 @@ static void queue_stop_cpus_work(const struct cpumask *cpumask, + * Make sure that all work is queued on all cpus before we + * any of the cpus can execute it. + */ +- mutex_lock(&stopper_lock); ++ if (!inactive) { ++ mutex_lock(&stopper_lock); ++ } else { ++ while (!mutex_trylock(&stopper_lock)) ++ cpu_relax(); ++ } + for_each_cpu(cpu, cpumask) + cpu_stop_queue_work(&per_cpu(cpu_stopper, cpu), + &per_cpu(stop_cpus_work, cpu)); +@@ -188,7 +193,7 @@ static int __stop_cpus(const struct cpumask *cpumask, + struct cpu_stop_done done; + + cpu_stop_init_done(&done, cpumask_weight(cpumask)); +- queue_stop_cpus_work(cpumask, fn, arg, &done); ++ queue_stop_cpus_work(cpumask, fn, arg, &done, false); + wait_for_stop_done(&done); + return done.executed ? done.ret : -ENOENT; + } +@@ -601,7 +606,7 @@ int stop_machine_from_inactive_cpu(int (*fn)(void *), void *data, + set_state(&smdata, STOPMACHINE_PREPARE); + cpu_stop_init_done(&done, num_active_cpus()); + queue_stop_cpus_work(cpu_active_mask, stop_machine_cpu_stop, &smdata, +- &done); ++ &done, true); + ret = stop_machine_cpu_stop(&smdata); + + /* Busy wait for completion. */ diff --git a/debian/patches/features/all/rt/0279-Linux-3.2.30-rt45-REBASE.patch b/debian/patches/features/all/rt/0286-Linux-3.2.31-rt47-REBASE.patch similarity index 55% rename from debian/patches/features/all/rt/0279-Linux-3.2.30-rt45-REBASE.patch rename to debian/patches/features/all/rt/0286-Linux-3.2.31-rt47-REBASE.patch index 66c05a9ab..b897797c2 100644 --- a/debian/patches/features/all/rt/0279-Linux-3.2.30-rt45-REBASE.patch +++ b/debian/patches/features/all/rt/0286-Linux-3.2.31-rt47-REBASE.patch @@ -1,16 +1,16 @@ -From ed2ad77e3f48cd12d6b0f5e55f597392827f17ca Mon Sep 17 00:00:00 2001 +From 7aefc5da2074b6de7f8ce298cfe5f206508711cb Mon Sep 17 00:00:00 2001 From: Steven Rostedt -Date: Mon, 17 Sep 2012 13:17:25 -0400 -Subject: [PATCH 279/279] Linux 3.2.30-rt45 REBASE +Date: Tue, 16 Oct 2012 10:41:29 -0400 +Subject: [PATCH 286/286] Linux 3.2.31-rt47 REBASE --- localversion-rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/localversion-rt b/localversion-rt -index b2111a2..38c40b2 100644 +index b2111a2..8a777ac 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt24 -+-rt45 ++-rt47 diff --git a/debian/patches/features/all/rt/series b/debian/patches/features/all/rt/series index 4fb3abe21..74235bc02 100644 --- a/debian/patches/features/all/rt/series +++ b/debian/patches/features/all/rt/series @@ -276,4 +276,11 @@ 0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch 0277-fix-printk-flush-of-messages.patch 0278-fix-printk-flush-of-messages.patch -0279-Linux-3.2.30-rt45-REBASE.patch +0279-random-Make-it-work-on-rt.patch +0280-softirq-Init-softirq-local-lock-after-per-cpu-sectio.patch +0281-mm-slab-Fix-potential-deadlock.patch +0282-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch +0283-rt-rwsem-rwlock-lockdep-annotations.patch +0284-sched-Better-debug-output-for-might-sleep.patch +0285-stomp_machine-Use-mutex_trylock-when-called-from-ina.patch +0286-Linux-3.2.31-rt47-REBASE.patch diff --git a/debian/patches/series-rt b/debian/patches/series-rt index c9a40bcd3..ef6dcad88 100644 --- a/debian/patches/series-rt +++ b/debian/patches/series-rt @@ -276,4 +276,11 @@ features/all/rt/0275-cpu-rt-Fix-cpu_hotplug-variable-initialization.patch features/all/rt/0276-time-rt-Fix-up-leap-second-backport-for-RT-changes.patch features/all/rt/0277-fix-printk-flush-of-messages.patch features/all/rt/0278-fix-printk-flush-of-messages.patch -features/all/rt/0279-Linux-3.2.30-rt45-REBASE.patch +features/all/rt/0279-random-Make-it-work-on-rt.patch +features/all/rt/0280-softirq-Init-softirq-local-lock-after-per-cpu-sectio.patch +features/all/rt/0281-mm-slab-Fix-potential-deadlock.patch +features/all/rt/0282-mm-page_alloc-Use-local_lock_on-instead-of-plain-spi.patch +features/all/rt/0283-rt-rwsem-rwlock-lockdep-annotations.patch +features/all/rt/0284-sched-Better-debug-output-for-might-sleep.patch +features/all/rt/0285-stomp_machine-Use-mutex_trylock-when-called-from-ina.patch +features/all/rt/0286-Linux-3.2.31-rt47-REBASE.patch