diff --git a/debian/changelog b/debian/changelog index 6e369b769..6988cabc4 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,11 @@ linux (3.2.39-2) UNRELEASED; urgency=high * [s390,s390x] virtio: Ignore ABI changes in 3.2.39 (fixes FTBFS) * [sparc] drm: Change from built-in to module (fixes FTBFS) + * [rt] Update to 3.2.39-rt59: + - acpi/rt: Convert acpi_gbl_hardware lock back to a raw_spinlock_t + - printk: Fix rq->lock vs logbuf_lock unlock lock inversion + - wait-simple: Simple waitqueue implementation + - rcutiny: Use simple waitqueue -- Ben Hutchings Tue, 26 Feb 2013 02:19:28 +0000 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 8d7d26be9..6b806e740 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 a732a259809fec160f7b727caab7f36a6d02e030 Mon Sep 17 00:00:00 2001 +From 4080ba071043dedf518dbf5f9f48cda2edd748d8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 6 Jun 2012 17:07:34 -0400 -Subject: [PATCH 001/298] Revert "workqueue: skip nr_running sanity check in +Subject: [PATCH 001/304] Revert "workqueue: skip nr_running sanity check in worker_enter_idle() if trustee is active" This reverts commit 5d79c6f64a904afc92a329f80abe693e3ae105fe. 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 1d86dd426..2e09b2f41 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 b828d4a5a54771222a4f0358b9ce35fb72a63bcd Mon Sep 17 00:00:00 2001 +From 04e888e86193098bba652b67b12361ce38032881 Mon Sep 17 00:00:00 2001 From: Frederic Weisbecker Date: Mon, 26 Sep 2011 12:19:11 +0200 -Subject: [PATCH 002/298] x86: Call idle notifier after irq_enter() +Subject: [PATCH 002/304] 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 e30f571b8..3a2aa6c4f 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 b693ffa83d5e9d9aa29f217b25ce72e450afe8a0 Mon Sep 17 00:00:00 2001 +From 15ee71d300baed7e5a2bcd9dee6d6db4a55479ce Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 28 Nov 2011 19:51:51 +0100 -Subject: [PATCH 003/298] slab, lockdep: Annotate all slab caches +Subject: [PATCH 003/304] slab, lockdep: Annotate all slab caches Currently we only annotate the kmalloc caches, annotate all of them. 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 68eab045d..b1d5242e4 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 15502bd87a92d01c21282a8bad9a6ea33ed1d137 Mon Sep 17 00:00:00 2001 +From 85b24d758843cf9ffaca854e64c5cd2f98427a4d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 17 Mar 2011 11:02:15 +0100 -Subject: [PATCH 004/298] x86: kprobes: Remove remove bogus preempt_enable +Subject: [PATCH 004/304] 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 379946ecf..32ca5bc3d 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 f9c8aa13eea8feb612c4beb5bcd94d16b55f31b1 Mon Sep 17 00:00:00 2001 +From 721f7f35c51196324b16e35a15e8483cab45315c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 30 Sep 2011 20:03:37 +0200 -Subject: [PATCH 005/298] x86: hpet: Disable MSI on Lenovo W510 +Subject: [PATCH 005/304] 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 e65f5ec44..ad6b0ad69 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 5be94902fda6b5293d4ff5e8cf94a238e85ebfc9 Mon Sep 17 00:00:00 2001 +From d6cb4a7e84ec7796720e3ba60594ee6a9de2f716 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:02 +0200 -Subject: [PATCH 006/298] block: Shorten interrupt disabled regions +Subject: [PATCH 006/304] 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 af364cbed..b2ba2cc15 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 dc3ae3aaddd69cda314c11ecc87305c5da6dd816 Mon Sep 17 00:00:00 2001 +From b8a07f6476c04d864ad002f1ac713abbda608d3d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 19:47:03 +0200 -Subject: [PATCH 007/298] sched: Distangle worker accounting from rq-%3Elock +Subject: [PATCH 007/304] 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 fcc893f..b14949d 100644 +index eeeec4e..561aa10 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) @@ -85,7 +85,7 @@ index fcc893f..b14949d 100644 * wake_up_process - Wake up a specific process * @p: The process to be woken up. * -@@ -4612,19 +4574,6 @@ need_resched: +@@ -4613,19 +4575,6 @@ need_resched: } else { deactivate_task(rq, prev, DEQUEUE_SLEEP); prev->on_rq = 0; @@ -105,7 +105,7 @@ index fcc893f..b14949d 100644 } switch_count = &prev->nvcsw; } -@@ -4667,6 +4616,14 @@ static inline void sched_submit_work(struct task_struct *tsk) +@@ -4668,6 +4617,14 @@ static inline void sched_submit_work(struct task_struct *tsk) { if (!tsk->state) return; @@ -120,7 +120,7 @@ index fcc893f..b14949d 100644 /* * If we are going to sleep and we have plugged IO queued, * make sure to submit it to avoid deadlocks. -@@ -4675,12 +4632,19 @@ static inline void sched_submit_work(struct task_struct *tsk) +@@ -4676,12 +4633,19 @@ static inline void sched_submit_work(struct task_struct *tsk) blk_schedule_flush_plug(tsk); } 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 7cf33dabf..be86c0909 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 9939aa497b09f96405ea10d5b3b11852fca2efc9 Mon Sep 17 00:00:00 2001 +From 708c67b6892ce21a838b8bc6c6da937dea49b30b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 21:32:10 +0200 -Subject: [PATCH 008/298] mips-enable-interrupts-in-signal.patch +Subject: [PATCH 008/304] 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 27ad37bd4..89c0c38fa 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 58017e965ec6f3a63aed8e5a57b2f48b0a0ffd92 Mon Sep 17 00:00:00 2001 +From 16f05de8665ad363ee70ff967cbc2af50c4c42fb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 16:27:13 +0200 -Subject: [PATCH 009/298] arm-enable-interrupts-in-signal-code.patch +Subject: [PATCH 009/304] 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 595bc5676..bba26a078 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 1524bf17bd3dbeaac6795657335ce0a089bc6015 Mon Sep 17 00:00:00 2001 +From 239e65cf297bd8c459dabff7b137eba58b949240 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 12:09:54 +0200 -Subject: [PATCH 010/298] powerpc: 85xx: Mark cascade irq IRQF_NO_THREAD +Subject: [PATCH 010/304] 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 a3d930194..2d2a00e09 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 fe57a3c7342135f30cb1e63fc5bc8a320fa0006c Mon Sep 17 00:00:00 2001 +From e3a3d66e062a9e30a03cd2c4d8723475200c9f43 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 14:11:24 +0200 -Subject: [PATCH 011/298] powerpc: wsp: Mark opb cascade handler +Subject: [PATCH 011/304] 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 9646d1695..6cfdad452 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 66439dc153c30828bd44fd68ff2910108af321cd Mon Sep 17 00:00:00 2001 +From 8a890ac5641bdc42156f29b4bf132e4405363ca1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 14:00:26 +0200 -Subject: [PATCH 012/298] powerpc: Mark IPI interrupts IRQF_NO_THREAD +Subject: [PATCH 012/304] 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 f546e0534..ddd58cd91 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 08f932cdd28511dee46b049603d63dea2edbc69e Mon Sep 17 00:00:00 2001 +From d7835b602a6890bc13f052626f40d29675b4cab6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 13:16:24 +0200 -Subject: [PATCH 013/293] powerpc: Allow irq threading +Subject: [PATCH 013/304] 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 d24a0e84f..791e63ac7 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 efae301be655be800a4f9caf021bc846bb0925cb Mon Sep 17 00:00:00 2001 +From 953da6243e3f0efd29dc975590e4a5d7788cfce7 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 18 Oct 2011 22:03:48 +0200 -Subject: [PATCH 014/298] sched: Keep period timer ticking when throttling +Subject: [PATCH 014/304] sched: Keep period timer ticking when throttling active When a runqueue is throttled we cannot disable the period timer @@ -18,7 +18,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 78fcacf..40d97e1 100644 +index 6ad4fb3..b7a4c72 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -580,12 +580,9 @@ static inline int balance_runtime(struct rt_rq *rt_rq) 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 5246b67d8..556975beb 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 d7b6978553d25bcbb64294834d6cc98000bad63b Mon Sep 17 00:00:00 2001 +From f0ae682e1fa8444b95e4fde76ab2389583b774fd Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 18 Oct 2011 22:03:48 +0200 -Subject: [PATCH 015/298] sched: Do not throttle due to PI boosting +Subject: [PATCH 015/304] 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 @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 40d97e1..c108b9c 100644 +index b7a4c72..5806f48 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -659,8 +659,24 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) 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 e0086d6c1..e5de40404 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 c869ca3c032983d590c1ab311edcb6006483430d Mon Sep 17 00:00:00 2001 +From 3c033bdfe750cfc8a3c7f94820a97b16233276bc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 19:06:50 +0100 -Subject: [PATCH 016/298] time: Remove bogus comments +Subject: [PATCH 016/304] 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 a81dac848..7fa60ca1c 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 edb98e0cae814580152d892b1a9057b261f3fcc2 Mon Sep 17 00:00:00 2001 +From 1f067852069d9d3b511a50d7df1602a298d2b936 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 19:10:46 +0100 -Subject: [PATCH 017/298] x86: vdso: Remove bogus locking in +Subject: [PATCH 017/304] 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 ea4805b76..f1fb8fd3a 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 9cadd37190d177ac073a607df7b32de5069f628d Mon Sep 17 00:00:00 2001 +From a58bf9f435b1f3232a9352c901d3fcec4ef9aaec Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 18:24:07 +0100 -Subject: [PATCH 018/298] x86: vdso: Use seqcount instead of seqlock +Subject: [PATCH 018/304] 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 83a57411d..6c16576de 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 269fe2748e996705432380fee18635026f0249a4 Mon Sep 17 00:00:00 2001 +From fb7e566b34aeda0f8cccc09ab40f451384f7ccc6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Feb 2012 18:33:08 +0100 -Subject: [PATCH 019/298] ia64: vsyscall: Use seqcount instead of seqlock +Subject: [PATCH 019/304] 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 2e684afe5..140da65d3 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 f4c775663ad1026c0ca35236e90eeb0905b43311 Mon Sep 17 00:00:00 2001 +From 30ae17158a129813c5dfed6301b61c5e744e6ed5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 18:38:22 +0200 -Subject: [PATCH 020/298] seqlock: Remove unused functions +Subject: [PATCH 020/304] 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 b02dfcd8e..d4b54ac9d 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 4ae2c324670060c949a5daf98dfe39973935e446 Mon Sep 17 00:00:00 2001 +From dab1ad0a7d594d634d6253e08ba30e12c3f1b0dd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 18:40:26 +0200 -Subject: [PATCH 021/298] seqlock: Use seqcount +Subject: [PATCH 021/304] 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 3052fd6c3..aeb514a00 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 72bafd8717598490eb78a4c3ceb9f3a7fb706208 Mon Sep 17 00:00:00 2001 +From 47a3a34ec251a566d97646774193e1789eb20220 Mon Sep 17 00:00:00 2001 From: Al Viro Date: Thu, 15 Mar 2012 18:39:40 +0000 -Subject: [PATCH 022/298] vfs: fs_struct: Move code out of seqcount write +Subject: [PATCH 022/304] 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 2af3c9c14..2a617a34c 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 846e860426dc1c00fc4e775feb162513627a7229 Mon Sep 17 00:00:00 2001 +From 651c5b6726811ee25051054e0c3a240f93a4e79d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Mar 2012 15:14:06 +0100 -Subject: [PATCH 023/298] timekeeping: Split xtime_lock +Subject: [PATCH 023/304] 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 08931f407..90fb17899 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 ffe0af4357fd3957a71cfdffa17e8fb8eb5bb730 Mon Sep 17 00:00:00 2001 +From 8808660b00a60ce093b5124280f23335745338af Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 7 Dec 2011 12:48:42 +0100 -Subject: [PATCH 024/298] intel_idle: Convert i7300_idle_lock to raw spinlock +Subject: [PATCH 024/304] 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 398646d0a..ac0a95ffb 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 27f9ccd9f2c61a8355011a6259b3c0b91780a72e Mon Sep 17 00:00:00 2001 +From 251d1e06396395531e508ac1b27a8521f6fa5a87 Mon Sep 17 00:00:00 2001 From: Johannes Weiner Date: Thu, 17 Nov 2011 07:49:25 +0100 -Subject: [PATCH 025/298] mm: memcg: shorten preempt-disabled section around +Subject: [PATCH 025/304] 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 4bddfde49..16b850044 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 55aa0669c176e5b42531947ee053a9ef6122e57f Mon Sep 17 00:00:00 2001 +From d95e6628fd3943310c74412d5bfec78b29350c96 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 29 Sep 2011 12:24:30 -0500 -Subject: [PATCH 026/298] tracing: Account for preempt off in +Subject: [PATCH 026/304] tracing: Account for preempt off in preempt_schedule() The preempt_schedule() uses the preempt_disable_notrace() version @@ -28,10 +28,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 9 insertions(+) diff --git a/kernel/sched.c b/kernel/sched.c -index b14949d..3bcda08 100644 +index 561aa10..03004b0 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4712,7 +4712,16 @@ asmlinkage void __sched notrace preempt_schedule(void) +@@ -4713,7 +4713,16 @@ asmlinkage void __sched notrace preempt_schedule(void) do { add_preempt_count_notrace(PREEMPT_ACTIVE); 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 4d2a163be..380da793d 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 ef82a17ca002b8733ea24fe6fbde19cf37b5e680 Mon Sep 17 00:00:00 2001 +From 400e756cce250e3d3fa5080873286dfe3828eebc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 21 Sep 2011 19:57:12 +0200 -Subject: [PATCH 027/298] signal-revert-ptrace-preempt-magic.patch +Subject: [PATCH 027/304] signal-revert-ptrace-preempt-magic.patch Signed-off-by: Thomas Gleixner --- @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 8 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 08e0b97..9b6bd34 100644 +index d2f55ea..6a6dd0a 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -1866,15 +1866,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) +@@ -1864,15 +1864,7 @@ static void ptrace_stop(int exit_code, int why, int clear_code, siginfo_t *info) if (gstop_done && ptrace_reparented(current)) do_notify_parent_cldstop(current, false, why); 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 122df3b69..c61651ba5 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 86b4842b6f0f343c76746ec0299a7dc7bde5a94e Mon Sep 17 00:00:00 2001 +From 6d14c31a815a39dfcbdbea599e1267744ff8b639 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 16 Mar 2011 14:45:31 +0100 -Subject: [PATCH 028/298] arm: Mark pmu interupt IRQF_NO_THREAD +Subject: [PATCH 028/304] 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 eccffa6c4..3065b6fe0 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 eabc69dd76273c410c26036bec465fe154e9a8bc Mon Sep 17 00:00:00 2001 +From c2978053947a93982770e496b026f092b91414d9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 16 Jul 2011 13:15:20 +0200 -Subject: [PATCH 029/293] arm: Allow forced irq threading +Subject: [PATCH 029/304] 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 5ca327c81..37b0c8c6b 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 ff5b41cc7672f63ddee1bffe606f0a3b660c53fd Mon Sep 17 00:00:00 2001 +From 373b5a215176a58339eb28f0dfc054869081466e Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Mon, 19 Sep 2011 14:51:14 -0700 -Subject: [PATCH 030/298] preempt-rt: Convert arm boot_lock to raw +Subject: [PATCH 030/304] 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 c85cebbb6..62659ae4e 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 8d1dead780487eaad4ba1989d420015e7979f8ea Mon Sep 17 00:00:00 2001 +From 6b2821a7378751a201db2bb689e13ae561758854 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 12:09:35 +0100 -Subject: [PATCH 031/298] sched: Create schedule_preempt_disabled() +Subject: [PATCH 031/304] sched: Create schedule_preempt_disabled() Get rid of the ever repeating: @@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 13 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 1e86bb4..f618dc8 100644 +index 8204898..f0f761f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -360,6 +360,7 @@ extern signed long schedule_timeout_interruptible(signed long timeout); @@ -28,10 +28,10 @@ index 1e86bb4..f618dc8 100644 struct nsproxy; diff --git a/kernel/sched.c b/kernel/sched.c -index 3bcda08..eeebee9 100644 +index 03004b0..83f1c88 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4648,6 +4648,18 @@ asmlinkage void __sched schedule(void) +@@ -4649,6 +4649,18 @@ asmlinkage void __sched schedule(void) } EXPORT_SYMBOL(schedule); 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 239720c2f..da97cf688 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 e41f552979bbe03adf44f3b823517c40e3b38955 Mon Sep 17 00:00:00 2001 +From e6b84f28260590a7645ee75fdf2510647f54ff5a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 12:33:18 +0100 -Subject: [PATCH 032/298] sched: Use schedule_preempt_disabled() +Subject: [PATCH 032/304] 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 20d0e21e8..6541ca569 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,16 +1,21 @@ -From 7f89a5d811eaacc1e29001ecec0d5db94724bc23 Mon Sep 17 00:00:00 2001 +From 030f38fae76c1766401fca464a1c8a240be9b3fe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:44 -0500 -Subject: [PATCH 033/298] signals: Do not wakeup self +Subject: [PATCH 033/304] signals: Do not wakeup self Signals which are delivered by current to current can do without waking up current :) Signed-off-by: Thomas Gleixner --- + kernel/signal.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/kernel/signal.c b/kernel/signal.c +index 6a6dd0a..e57ae6b 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -679,6 +679,10 @@ int dequeue_signal(struct task_struct *t +@@ -679,6 +679,10 @@ int dequeue_signal(struct task_struct *tsk, sigset_t *mask, siginfo_t *info) void signal_wake_up_state(struct task_struct *t, unsigned int state) { set_tsk_thread_flag(t, TIF_SIGPENDING); 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 f7fe279d0..b614df290 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 beb223c4c93a073a132763533a1b15cfbf8e6e23 Mon Sep 17 00:00:00 2001 +From 6ebb8f5810a30ce5b3088fde1b8ae7ab012ea536 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:29:20 -0500 -Subject: [PATCH 034/298] posix-timers: Prevent broadcast signals +Subject: [PATCH 034/304] 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 a81404c1e..5e649a93b 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 7213d2eae524f7a6267f99f11c3b02dd73f0eadb Mon Sep 17 00:00:00 2001 +From ba43b4f4c87499a38d459f0cdc73922c5ffc266b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:56 -0500 -Subject: [PATCH 035/298] signals: Allow rt tasks to cache one sigqueue struct +Subject: [PATCH 035/304] signals: Allow rt tasks to cache one sigqueue struct To avoid allocation allow rt tasks to cache one sigqueue struct in task struct. @@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner 5 files changed, 83 insertions(+), 5 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index f618dc8..814d47a 100644 +index f0f761f..67663c2 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1391,6 +1391,7 @@ struct task_struct { @@ -65,7 +65,7 @@ index ce0c182..c1355fb 100644 p->utime = cputime_zero; p->stime = cputime_zero; diff --git a/kernel/signal.c b/kernel/signal.c -index fffb683..92c5605 100644 +index e57ae6b..4a198ce 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -344,13 +344,45 @@ static bool task_participate_group_stop(struct task_struct *task) @@ -203,7 +203,7 @@ index fffb683..92c5605 100644 /* We only dequeue private signals from ourselves, we don't let * signalfd steal them */ -@@ -1518,7 +1592,8 @@ EXPORT_SYMBOL(kill_pid); +@@ -1513,7 +1587,8 @@ EXPORT_SYMBOL(kill_pid); */ struct sigqueue *sigqueue_alloc(void) { 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 127df9afd..79acc519f 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 b48d22977dd13e20f1f6fea68e7cc960101b610f Mon Sep 17 00:00:00 2001 +From 95e7299a51d9415ce8e4f7ffb7568c83ab9fbc65 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov Date: Tue, 10 Apr 2012 14:33:53 -0400 -Subject: [PATCH 036/298] signal/x86: Delay calling signals in atomic +Subject: [PATCH 036/304] 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 @@ -81,7 +81,7 @@ index 54ddaeb2..12c4d53 100644 if (thread_info_flags & _TIF_SIGPENDING) do_signal(regs); diff --git a/include/linux/sched.h b/include/linux/sched.h -index 814d47a..3795654 100644 +index 67663c2..8cb5ff4 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1396,6 +1396,10 @@ struct task_struct { @@ -96,10 +96,10 @@ index 814d47a..3795654 100644 unsigned long sas_ss_sp; size_t sas_ss_size; diff --git a/kernel/signal.c b/kernel/signal.c -index 92c5605..385d137 100644 +index 4a198ce..cb0eab2 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -1273,8 +1273,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, +@@ -1268,8 +1268,8 @@ int do_send_sig_info(int sig, struct siginfo *info, struct task_struct *p, * We don't want to have recursive SIGSEGV's etc, for example, * that is why we also clear SIGNAL_UNKILLABLE. */ @@ -110,7 +110,7 @@ index 92c5605..385d137 100644 { unsigned long int flags; int ret, blocked, ignored; -@@ -1299,6 +1299,39 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) +@@ -1294,6 +1294,39 @@ force_sig_info(int sig, struct siginfo *info, struct task_struct *t) return ret; } 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 ccfb23c8d..5f7cd7121 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 014e6d4710b47629fb753560e5b3437d7b6dc951 Mon Sep 17 00:00:00 2001 +From b1445fb4d3e88a1ae0ce07a774810d67665f7f5c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:30 -0500 -Subject: [PATCH 037/298] generic: Use raw local irq variant for generic +Subject: [PATCH 037/304] 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 131777d23..33ea5be3e 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 cc24dc4f61fbe1cc81675a98baac7ea5f5cec53c Mon Sep 17 00:00:00 2001 +From 2ab3a7466cb200dd2b9f5429056897bfaaa0e926 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:30 -0500 -Subject: [PATCH 038/298] drivers: random: Reduce preempt disabled region +Subject: [PATCH 038/304] 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 1d7f4f3bf..095f7d767 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 ed88df8362009990a963b3519b41c0e3333fe6d0 Mon Sep 17 00:00:00 2001 +From 2e274c61568f55e2e864014e2212d46b50563477 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Sat, 6 Mar 2010 17:47:10 +0100 -Subject: [PATCH 039/298] ARM: AT91: PIT: Remove irq handler when clock event +Subject: [PATCH 039/304] 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 21d7d9e68..ad3eb1f20 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 890ee90d70aa14cfd671d315eacb89c79ee13764 Mon Sep 17 00:00:00 2001 +From 182e525c72fbd5ff6736f5b8c469074386279bb9 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger Date: Mon, 8 Mar 2010 18:57:04 +0100 -Subject: [PATCH 040/298] clocksource: TCLIB: Allow higher clock rates for +Subject: [PATCH 040/304] 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 44d6a4aa0..fd86f0266 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 ab43eaf635c082d12f40d1a43d0c468860a2aadf Mon Sep 17 00:00:00 2001 +From e662343f9b2b9d59ac2c91c1ac189f57a1e52fd9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:18 -0500 -Subject: [PATCH 041/298] drivers/net: tulip_remove_one needs to call +Subject: [PATCH 041/304] 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 bfde91342..2476007e7 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 ac022849d09f8df57b66a772e050be93d743b830 Mon Sep 17 00:00:00 2001 +From 6736ba7b4f70b60a50e27793d32929edf12b0f4c Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:24 -0500 -Subject: [PATCH 042/298] drivers/net: Use disable_irq_nosync() in 8139too +Subject: [PATCH 042/304] 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 e918ad249..e38a5b7a4 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 8d6a2e5c70cf597fb40887f6a63fdc2ac347a1a5 Mon Sep 17 00:00:00 2001 +From 833eb6940d94f7311fdffb6850b76af7a05c7895 Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Tue, 18 May 2010 14:33:07 -0700 -Subject: [PATCH 043/298] drivers: net: ehea: Make rx irq handler non-threaded +Subject: [PATCH 043/304] 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 60872ad18..bb39f6b40 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 c8cf5f9bff4436f00a741362911ca1aead9dc567 Mon Sep 17 00:00:00 2001 +From cc15ea4ee68cabbef9b5468b6f3b7df5400975b4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 17 Nov 2009 12:02:43 +0100 -Subject: [PATCH 044/298] drivers: net: at91_ether: Make mdio protection -rt +Subject: [PATCH 044/304] 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 addcf5af1..cb9f38bf0 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 b4497014b4ddc2a77fc99b9de470b3b9f6f0e536 Mon Sep 17 00:00:00 2001 +From 266d052b682d69726b52c256f41b3cf9d5daa7b9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 13:32:17 +0100 -Subject: [PATCH 045/298] preempt-mark-legitimated-no-resched-sites.patch +Subject: [PATCH 045/304] preempt-mark-legitimated-no-resched-sites.patch Signed-off-by: Thomas Gleixner --- @@ -67,10 +67,10 @@ index 58969b2..227b0f5 100644 #define preempt_enable() do { } while (0) diff --git a/kernel/sched.c b/kernel/sched.c -index eeebee9..1e0a583 100644 +index 83f1c88..dbc3927 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4607,7 +4607,7 @@ need_resched: +@@ -4608,7 +4608,7 @@ need_resched: post_schedule(rq); @@ -79,7 +79,7 @@ index eeebee9..1e0a583 100644 if (need_resched()) goto need_resched; } -@@ -4655,7 +4655,7 @@ EXPORT_SYMBOL(schedule); +@@ -4656,7 +4656,7 @@ EXPORT_SYMBOL(schedule); */ void __sched schedule_preempt_disabled(void) { @@ -88,7 +88,7 @@ index eeebee9..1e0a583 100644 schedule(); preempt_disable(); } -@@ -5897,7 +5897,7 @@ SYSCALL_DEFINE0(sched_yield) +@@ -5898,7 +5898,7 @@ SYSCALL_DEFINE0(sched_yield) __release(rq->lock); spin_release(&rq->lock.dep_map, 1, _THIS_IP_); do_raw_spin_unlock(&rq->lock); 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 bd51dd17e..323bc98f2 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 70618722ed5ae6d49e38da3489336c7ce9c10b3c Mon Sep 17 00:00:00 2001 +From fcfd59b2378ad30a96503e0c6ed42b6c2344ad66 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:37 -0500 -Subject: [PATCH 046/298] mm: Prepare decoupling the page fault disabling +Subject: [PATCH 046/304] mm: Prepare decoupling the page fault disabling logic Add a pagefault_disabled variable to task_struct to allow decoupling @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner 4 files changed, 34 insertions(+), 30 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 3795654..4ccb25e 100644 +index 8cb5ff4..5520922 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1439,6 +1439,7 @@ struct task_struct { 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 0c38f2495..34caa2af0 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 2426a29b9c770110aca6c050ac3aadd8fe3ae3c6 Mon Sep 17 00:00:00 2001 +From f4f1fd8c52d8ec8137a13bc69cf25241c2fea7bd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 17 Mar 2011 11:32:28 +0100 -Subject: [PATCH 047/298] mm: Fixup all fault handlers to check +Subject: [PATCH 047/304] 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 fa0bc8684..b571acf0e 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 60ea4b59fcb7fb2cd3fa3d5721fd2a02e42b6e22 Mon Sep 17 00:00:00 2001 +From 6bff7bda0c7e888fb60ea84d7a7d95131c3f624c Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 11 Aug 2011 15:31:31 +0200 -Subject: [PATCH 048/298] mm: pagefault_disabled() +Subject: [PATCH 048/304] 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. @@ -336,7 +336,7 @@ index 705f483..8f3f52a 100644 return; } diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4ccb25e..2dc6c48 100644 +index 5520922..dde0825 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -91,6 +91,7 @@ struct sched_param { 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 8f7335c10..b0471abc9 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 01fed41acdfa324bafb3b52c6396f8fd1f36936d Mon Sep 17 00:00:00 2001 +From 07ad583dc129c7e19f046dff7bc9bfb5f8a22ab2 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 5 Aug 2011 17:16:58 +0200 -Subject: [PATCH 049/298] mm: raw_pagefault_disable +Subject: [PATCH 049/304] 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 a68b1c897..b47dbdd3c 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 b244fb26da5ce884602f78c0ecc57717aa0dddde Mon Sep 17 00:00:00 2001 +From 297bcc9ab84b792a784f6533a5d121b6e403b8a8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 18:56:24 +0200 -Subject: [PATCH 050/298] filemap-fix-up.patch +Subject: [PATCH 050/304] 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 3623b7f41..fa7c8a393 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 44a470aac7c04060c52b63f9ff51d710fd155e97 Mon Sep 17 00:00:00 2001 +From c6dbea047b2897ae9ef6fcc7ef6c59c890b8d2f3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jul 2009 22:06:27 +0200 -Subject: [PATCH 051/298] mm: Remove preempt count from pagefault +Subject: [PATCH 051/304] 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 e4eb7c61e..9d2ad3a1d 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 89844ebeefe13e22429422b7f18029b0e1708740 Mon Sep 17 00:00:00 2001 +From 94957597220fea9ba8c4ecb73bc3c361f2fab722 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:25 -0500 -Subject: [PATCH 052/298] x86: highmem: Replace BUG_ON by WARN_ON +Subject: [PATCH 052/304] 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 a0d48c3bc..d3a6a1e88 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 fbedebcab247b428ead1e76dcac74b934fcfaf69 Mon Sep 17 00:00:00 2001 +From 202426659e5d56754924cf56a4f5dbe919aa335a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 15 Jul 2010 10:29:00 +0200 -Subject: [PATCH 053/298] suspend: Prevent might sleep splats +Subject: [PATCH 053/304] 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 30ddd0622..336d39973 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 a1cc45e2f5c19473168c195915534db3ce745259 Mon Sep 17 00:00:00 2001 +From 845bfe99270374b1b86095514db2facd733bc8f7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 13 Aug 2009 09:04:10 +0200 -Subject: [PATCH 054/298] OF: Fixup resursive locking code paths +Subject: [PATCH 054/304] 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 9024f584c..e904edcf7 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 328561d6897b8df487719339d733ab5c2e8f5ecb Mon Sep 17 00:00:00 2001 +From 372c31da91bca92021b6172271d4d2d745c94c9d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 21 Mar 2011 14:35:34 +0100 -Subject: [PATCH 055/298] of-convert-devtree-lock.patch +Subject: [PATCH 055/304] 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 210a29761..eda8e8d1a 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 db2a30e49ae085a76608e2adb01a5121db28d917 Mon Sep 17 00:00:00 2001 +From bd81fc28e6f279914af97142b0e28747a20406a6 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 21 Jun 2011 11:22:36 +0200 -Subject: [PATCH 056/298] list-add-list-last-entry.patch +Subject: [PATCH 056/304] 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 741c89ffb..6e8aa58ed 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 01c7bdb636aa502924a22d61df6d34c7dabd0f24 Mon Sep 17 00:00:00 2001 +From e29e54d40aabab8f37171b5b20dd837937146421 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 21 Jun 2011 11:24:35 +0200 -Subject: [PATCH 057/298] mm-page-alloc-use-list-last-entry.patch +Subject: [PATCH 057/304] mm-page-alloc-use-list-last-entry.patch Signed-off-by: Thomas Gleixner --- 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 b5cabdde0..01dc3d42e 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 a9a2e9f6f45dbf667b4c6f9006d4d312725595c8 Mon Sep 17 00:00:00 2001 +From 53b76885dcc890e69111080ca8d518b589997e28 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 10:42:04 +0200 -Subject: [PATCH 058/298] mm-slab-move-debug-out.patch +Subject: [PATCH 058/304] mm-slab-move-debug-out.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/slab.c b/mm/slab.c -index 61dfda3..f807b35 100644 +index 61dfda3..f807b35f 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3857,10 +3857,10 @@ void kmem_cache_free(struct kmem_cache *cachep, void *objp) 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 5dae1a13c..c5740f72a 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 5e916c0eea88cd9b4392c2e114e946a49b44abc1 Mon Sep 17 00:00:00 2001 +From 7b01859415951296b8544bec297d123bc729b06d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 15 Jul 2011 21:24:27 +0200 -Subject: [PATCH 059/298] rwsem-inlcude-fix.patch +Subject: [PATCH 059/304] 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 f4f535fa4..18366d1a3 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 73360f68e8f18649ce2257015e775765822ef955 Mon Sep 17 00:00:00 2001 +From be476ef118242c22509fbff94daeac7bb89dcb7a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 10:52:34 +0100 -Subject: [PATCH 060/298] sysctl-include-fix.patch +Subject: [PATCH 060/304] 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 fb15078b5..f19206ae7 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 668bdbfd3194599210eb0fa8c8b5ec0fd68f2457 Mon Sep 17 00:00:00 2001 +From e08f997ba36e0d2f64e1a1a385e5140334a61a08 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 10:59:58 +0200 -Subject: [PATCH 061/298] net-flip-lock-dep-thingy.patch +Subject: [PATCH 061/304] net-flip-lock-dep-thingy.patch ======================================================= [ INFO: possible circular locking dependency detected ] 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 2af0ba912..472f5bc81 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 84cf88e80f3c89e32cae33f68d4460196708a750 Mon Sep 17 00:00:00 2001 +From 9cc11141e83d799b5b6b25423f80f8310e1c9227 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 15:44:15 +0200 -Subject: [PATCH 062/298] softirq-thread-do-softirq.patch +Subject: [PATCH 062/304] softirq-thread-do-softirq.patch Signed-off-by: Thomas Gleixner --- 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 f3e8d93d5..f729fcd23 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 94eb7c824497d39a68c51147d7be6806d2fe6aa8 Mon Sep 17 00:00:00 2001 +From f053bf7d7baab5ffae7f0a8a1c12f669829fe3a5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 15:46:49 +0200 -Subject: [PATCH 063/298] softirq-split-out-code.patch +Subject: [PATCH 063/304] 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 11e0fdaab..6682e652e 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 f73f966e6ac914be044740488b85fdff28638522 Mon Sep 17 00:00:00 2001 +From d403eeae9b01308ec5be39d10c63d2c1420f1335 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:27 -0500 -Subject: [PATCH 064/298] x86: Do not unmask io_apic when interrupt is in +Subject: [PATCH 064/304] 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 a468d42ae..6581876f0 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 dec61c316e4fbad5e7459379f1a8e901c8f8d007 Mon Sep 17 00:00:00 2001 +From 1f97ca7e31f94bda2bd3ed67aa50a1f2760ee44d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 15:59:38 +0200 -Subject: [PATCH 065/298] x86-32-fix-signal-crap.patch +Subject: [PATCH 065/304] 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 ebab7787c..6af44cd4c 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 2c376af02599836bafd265aa7ac2adca48496211 Mon Sep 17 00:00:00 2001 +From c7a7fa22f991f4eb1ffac46a226354929f13ecdc Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 10 Apr 2012 14:33:57 -0400 -Subject: [PATCH 066/298] x86: Do not disable preemption in int3 on 32bit +Subject: [PATCH 066/304] 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 8fbaf19eb..0f73fd591 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 ea76c19131be181eb90736b2dbb29c973e744e82 Mon Sep 17 00:00:00 2001 +From 4fc322e833f252d29c293fdd3685b79b7092d9c1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jun 2011 22:23:02 +0200 -Subject: [PATCH 067/298] rcu: Reduce lock section +Subject: [PATCH 067/304] 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 ad775cf20..7d6a2d89b 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 4e0a052a487d10e5156b9635cc53f5d48826a0df Mon Sep 17 00:00:00 2001 +From 724a2ae6e20011b4bf1e2739b842e2052d3314d9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:25:03 +0200 -Subject: [PATCH 068/298] locking-various-init-fixes.patch +Subject: [PATCH 068/304] 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 338261f8d..c67d26aee 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 17acde0bb383331ed567736803fb33432637b3d5 Mon Sep 17 00:00:00 2001 +From 468c961556aa22e44a74a0d741fcd7a70a748abe Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Dec 2011 00:04:00 +0100 -Subject: [PATCH 069/298] wait: Provide __wake_up_all_locked +Subject: [PATCH 069/304] 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,10 +38,10 @@ 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 1e0a583..d24f681 100644 +index dbc3927..6c05b86 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4829,9 +4829,9 @@ EXPORT_SYMBOL(__wake_up); +@@ -4830,9 +4830,9 @@ EXPORT_SYMBOL(__wake_up); /* * Same as __wake_up but called with the spinlock in wait_queue_head_t held. */ 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 0724f84ab..5b1216906 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 1551540a45394dba2205cacc64b8614abd85eea1 Mon Sep 17 00:00:00 2001 +From 8d90e23f8cd2a5b3f7bfa3b357e0eb9224e2e0e3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Dec 2011 00:07:16 +0100 -Subject: [PATCH 070/298] pci: Use __wake_up_all_locked +Subject: [PATCH 070/304] 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 69f25e50c..953d268ff 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 9bfb352b17690edf4108a5ca15db803d66c278c9 Mon Sep 17 00:00:00 2001 +From ebc864b47368c454552e3b4e11327cd51fd33a2d Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Tue, 19 Jul 2011 14:03:41 +0100 -Subject: [PATCH 071/298] latency-hist.patch +Subject: [PATCH 071/304] latency-hist.patch This patch provides a recording mechanism to store data of potential sources of system latencies. The recordings separately determine the @@ -221,7 +221,7 @@ index 0000000..6f2aeab + +These data are also reset when the wakeup histogram is reset. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 2dc6c48..c533510 100644 +index dde0825..a7b7888 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1574,6 +1574,12 @@ struct task_struct { diff --git a/debian/patches/features/all/rt/0072-hwlatdetect.patch.patch b/debian/patches/features/all/rt/0072-hwlatdetect.patch.patch index 5ec75d9f9..4fa60a75b 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 7fbb056654b429046ad49cce27dea822c25b6422 Mon Sep 17 00:00:00 2001 +From 2f9c2c62b122ae922168c6cc07889dc255e97888 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Tue, 19 Jul 2011 13:53:12 +0100 -Subject: [PATCH 072/298] hwlatdetect.patch +Subject: [PATCH 072/304] hwlatdetect.patch Jon Masters developed this wonderful SMI detector. For details please consult Documentation/hwlat_detector.txt. It could be ported to Linux @@ -89,7 +89,7 @@ index 0000000..cb61516 +then we write to a global sample ring buffer of 8K samples, which is +consumed by reading from the "sample" (pipe) debugfs file interface. diff --git a/MAINTAINERS b/MAINTAINERS -index 82d7fa6..92a9df2 100644 +index 83f156e..909bd7e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3008,6 +3008,15 @@ L: linuxppc-dev@lists.ozlabs.org diff --git a/debian/patches/features/all/rt/0073-localversion.patch.patch b/debian/patches/features/all/rt/0073-localversion.patch.patch index 20f8f0700..d4e5b738f 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 c711ee32fe51cb95cf78db205d32e4a26604834a Mon Sep 17 00:00:00 2001 +From 03dbaa1f746a07353688a71bfe59ff72f5bab48c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 20:25:16 +0200 -Subject: [PATCH 073/298] localversion.patch +Subject: [PATCH 073/304] 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 7cfa925c0..422799b01 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 028e108c962dac22e83fd4d6d39c3368e9210a99 Mon Sep 17 00:00:00 2001 +From d9ac8aa2deb235c5185e34bca1c3f822edd7a21b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 23 Jul 2011 11:04:08 +0200 -Subject: [PATCH 074/298] early-printk-consolidate.patch +Subject: [PATCH 074/304] 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 68133afd3..b5a1451a7 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 58cbc1c4b45155ba66ee494e2b98f354fbc933c4 Mon Sep 17 00:00:00 2001 +From cb2335f8f3dd17f4e21c3213cd2344a61c4799f4 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 22 Jul 2011 17:58:40 +0200 -Subject: [PATCH 075/298] printk-kill.patch +Subject: [PATCH 075/304] 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 3eb1be1fa..9d73a7061 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 8929579704c194c24d2e384186458f6906e855f2 Mon Sep 17 00:00:00 2001 +From d599e3727f16bb30b4d1d90bebcf63ad4f894680 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:29:33 +0200 -Subject: [PATCH 076/298] printk: 'force_early_printk' boot param to help with +Subject: [PATCH 076/304] 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 b863ee144..198cac260 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 1673a9dc06579441704c80227fe840b9af44caa0 Mon Sep 17 00:00:00 2001 +From af76eb7ed94a35a5a55a740bbc448fc152525a78 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 12:39:57 +0200 -Subject: [PATCH 077/298] rt-preempt-base-config.patch +Subject: [PATCH 077/304] 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 8214fb949..7087ca0c9 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 70dcc9e94c52f35f4245293c3ede18e7b8d97e84 Mon Sep 17 00:00:00 2001 +From be6f0ef17eab2987d46a167f0a4ac81d027d4cf1 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 078/298] bug: BUG_ON/WARN_ON variants dependend on RT/!RT +Subject: [PATCH 078/304] 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 b98f4269c..c8cf120eb 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 1ce419159b5c20466a53bbda15a27386e6b880ad Mon Sep 17 00:00:00 2001 +From 0a67aca4ee90f40faa9131ad266d3a33e2a2f211 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 22:34:14 +0200 -Subject: [PATCH 079/298] rt: local_irq_* variants depending on RT/!RT +Subject: [PATCH 079/304] 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 108a0db5f..b656949d7 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 dd8adb210da50bd710b2ef1e714fcc37b4ac75d8 Mon Sep 17 00:00:00 2001 +From 80e6c37e14dc1d47f031eb180a30ee8faaf08da1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jul 2009 12:38:56 +0200 -Subject: [PATCH 080/298] preempt: Provide preempt_*_(no)rt variants +Subject: [PATCH 080/304] 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 6260e726c..12f59f2a5 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 f7ccdc8faad8f523bc55de7addb5b16c42255476 Mon Sep 17 00:00:00 2001 +From 4a39ec6245923771db7402a39725d7768bc73e13 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:44:29 -0500 -Subject: [PATCH 081/298] ata: Do not disable interrupts in ide code for +Subject: [PATCH 081/304] 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 41ff6c500..1437cc4e0 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 dbceea09a06feddf7800995d92d88a02de5414a2 Mon Sep 17 00:00:00 2001 +From 392e72c0d7bc6ee052c18fecfeb64a2073b80922 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 082/298] ide: Do not disable interrupts for PREEMPT-RT +Subject: [PATCH 082/304] 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 fd679fa06..ec68951bd 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 7a518f7a931a16828c4fc666a5636932a3414dd7 Mon Sep 17 00:00:00 2001 +From 9703a10e1e7db795109b9816fb079a96f77d30f1 Mon Sep 17 00:00:00 2001 From: Sven-Thorsten Dietrich Date: Fri, 3 Jul 2009 08:30:35 -0500 -Subject: [PATCH 083/298] infiniband: Mellanox IB driver patch use _nort() +Subject: [PATCH 083/304] 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 b69ea8463..8d520f762 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 89e13d3cc9bf0bb585ab2a908dc391d1733f99eb Mon Sep 17 00:00:00 2001 +From 7d6ae080fe95d4cb1c997b55b881f9c384239f04 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:16 -0500 -Subject: [PATCH 084/298] input: gameport: Do not disable interrupts on +Subject: [PATCH 084/304] 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 ed35831d1..70eaa794f 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 d4185c420111febc8d903aee1904d540da948b7a Mon Sep 17 00:00:00 2001 +From c37ed7c4130022ae9305796f3cba5798f4c6197d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 22:54:51 +0200 -Subject: [PATCH 085/298] acpi: Do not disable interrupts on PREEMPT_RT +Subject: [PATCH 085/304] 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 28676e9f0..d39fb6fbf 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 a0e124f937527ba8b7287af362a1bfe8a66a1bd3 Mon Sep 17 00:00:00 2001 +From 2d8925db60d4fc513681926749b704d652de40e0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 23:06:05 +0200 -Subject: [PATCH 086/298] core: Do not disable interrupts on RT in +Subject: [PATCH 086/304] 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 a19346d51..56e7d33d2 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 01fc5c26382d85eecf4efb4f77ff2689923104bf Mon Sep 17 00:00:00 2001 +From f8d9d67993bcf25317e56fc4a716b4fab0cf05c5 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:33 -0500 -Subject: [PATCH 087/298] core: Do not disable interrupts on RT in +Subject: [PATCH 087/304] 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 8440d63c7..eee5b49a5 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 ce165bff5079943f6f12b4f9667ae55fea8c5d5f Mon Sep 17 00:00:00 2001 +From e22d2fce54fd4af7784b7adc19f427c759374e56 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:44:26 -0500 -Subject: [PATCH 088/298] usb: Use local_irq_*_nort() variants +Subject: [PATCH 088/304] usb: Use local_irq_*_nort() variants [ tglx: Now that irqf_disabled is dead we should kill that ] 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 ecebdc915..46a160b01 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 37e7073e23173b18d76113ef331bcc19bdaef4b4 Mon Sep 17 00:00:00 2001 +From 33faab2f1d8977f79fea7ffa54934b04870d2d23 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 17 Aug 2009 19:49:19 +0200 -Subject: [PATCH 089/298] tty: Do not disable interrupts in put_ldisc on -rt +Subject: [PATCH 089/304] 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 358327aac..2766cfc46 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 ef8b541dff3470b89774f8a15cdf75e95cf5918a Mon Sep 17 00:00:00 2001 +From 8a3fe8786194700aea791c3d4d2dd9c1f8aa371c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:34 -0500 -Subject: [PATCH 090/298] mm: scatterlist dont disable irqs on RT +Subject: [PATCH 090/304] 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 9add3bd6a..4fc5d191c 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 b6ae74d9a775fb7f82fbe31f364822eeba9e6ba2 Mon Sep 17 00:00:00 2001 +From f2862ba8f2f66faf0511aa849a6e40101532afb9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 22 Jul 2011 08:07:08 +0200 -Subject: [PATCH 091/298] signal-fix-up-rcu-wreckage.patch +Subject: [PATCH 091/304] signal-fix-up-rcu-wreckage.patch Signed-off-by: Thomas Gleixner --- @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 385d137..6b744cb 100644 +index cb0eab2..b16901a 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -1362,12 +1362,12 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, +@@ -1357,12 +1357,12 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, struct sighand_struct *sighand; for (;;) { @@ -27,7 +27,7 @@ index 385d137..6b744cb 100644 break; } -@@ -1378,7 +1378,7 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, +@@ -1373,7 +1373,7 @@ struct sighand_struct *__lock_task_sighand(struct task_struct *tsk, } spin_unlock(&sighand->siglock); rcu_read_unlock(); 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 0ed2669a0..cd7fc0838 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 ef98ecbfe82c51837506361634217adbfbd235c2 Mon Sep 17 00:00:00 2001 +From 1bd9a8ede7e6f79e82cb86f504b63395c11f5e4c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 21:05:33 +0200 -Subject: [PATCH 092/298] net-wireless-warn-nort.patch +Subject: [PATCH 092/304] 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 9d5dd9cb4..75bc80d97 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 b8455ad0e6addf76723de42ce869e0a0eebccf91 Mon Sep 17 00:00:00 2001 +From 3e5e033c633a7a592d36a5a0fc1eaa286b0206ff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 19 Aug 2009 09:56:42 +0200 -Subject: [PATCH 093/298] mm: Replace cgroup_page bit spinlock +Subject: [PATCH 093/304] 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 16dc4fe06..932fb455d 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 033ffbee27b7ff0bfdb6ec12b84bc2c7e9913123 Mon Sep 17 00:00:00 2001 +From 72822535e8bd5cb4a48f0072f39b55239f3ecd1f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 09:18:52 +0100 -Subject: [PATCH 094/298] buffer_head: Replace bh_uptodate_lock for -rt +Subject: [PATCH 094/304] 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 787ac3cfa..a5be04dd5 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 1b799f7f7a2f891995196b56fec9e76cb4fa38ae Mon Sep 17 00:00:00 2001 +From 72820bad31dede5eefb81ae6549b3efc3e709109 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:11:25 +0100 -Subject: [PATCH 095/298] fs: jbd/jbd2: Make state lock and journal head lock +Subject: [PATCH 095/304] 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 eef0940c1..09c63a76b 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 9e36b69b59a8a73ad8d8029d6882e825221a78f2 Mon Sep 17 00:00:00 2001 +From 77e4a14cd313dcc3d61918e9537d66d0429d5f7a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 18 Mar 2011 10:22:04 +0100 -Subject: [PATCH 096/298] genirq: Disable DEBUG_SHIRQ for rt +Subject: [PATCH 096/304] 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 235a31401..8b6066cff 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 bab5f8939b10864d59b8c910e417fb064618ff9d Mon Sep 17 00:00:00 2001 +From b6f3c7f9e7ec80a9172a39cc9bed6571a4d36253 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Jul 2009 16:07:37 +0200 -Subject: [PATCH 097/298] genirq: Disable random call on preempt-rt +Subject: [PATCH 097/304] 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 02cc64043..01083c07e 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 47eefd1f3d6cd565f1701b67a3a1787587a1fedb Mon Sep 17 00:00:00 2001 +From 20890e1f59e28342c70d63e1b860990376e74f79 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:57 -0500 -Subject: [PATCH 098/298] genirq: disable irqpoll on -rt +Subject: [PATCH 098/304] 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 be50349f2..7f4a774a3 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 d22c51519bb68a2e3f052c5f1c0bee8e81af6a9f Mon Sep 17 00:00:00 2001 +From 8a71391192108cc3a795b905bf342045a74a9f54 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 3 Apr 2011 11:57:29 +0200 -Subject: [PATCH 099/298] genirq-force-threading.patch +Subject: [PATCH 099/304] 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 13fa036aa..0bfc11d92 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 bc31e73179b90497e1b90662841b71b540b8ba81 Mon Sep 17 00:00:00 2001 +From 9b3393581a748b4d1c01e63476542705947594c4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 20 Jun 2009 11:36:54 +0200 -Subject: [PATCH 100/298] drivers/net: fix livelock issues +Subject: [PATCH 100/304] 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 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 52311c103..0c191b78a 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 de911e39d69dd818cfa24a052b71e1f56e702164 Mon Sep 17 00:00:00 2001 +From 0d4a0c910ace8d9f922830f192e9eed9c59000b3 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 3 Jul 2009 08:30:00 -0500 -Subject: [PATCH 101/298] drivers/net: vortex fix locking issues +Subject: [PATCH 101/304] 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 6010a4477..764f2b097 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 15d14cb9c6dd38c7d8ea0899ff7a0a52adb60d42 Mon Sep 17 00:00:00 2001 +From e2fe18c9fc444163324e349bb135babe2d587a77 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 1 Apr 2010 20:20:57 +0200 -Subject: [PATCH 102/298] drivers: net: gianfar: Make RT aware +Subject: [PATCH 102/304] 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 31905ca2f..3898dffdb 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 864a89ea9aa59a03953f61bacd780a6ec21fbe47 Mon Sep 17 00:00:00 2001 +From d33649e480f04cc16bb9605a10247eb08c9ef3f7 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin Date: Mon, 4 Jan 2010 11:33:02 +0800 -Subject: [PATCH 103/298] USB: Fix the mouse problem when copying large +Subject: [PATCH 103/304] 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 8935660a9..cfdccebad 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 a8958156feeeee4f6806335d3b5456e8591ea53e Mon Sep 17 00:00:00 2001 +From c6f8725fddfe180682afe8c9be6ef29059fea1b8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jun 2011 18:40:37 +0200 -Subject: [PATCH 104/298] local-var.patch +Subject: [PATCH 104/304] 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 bb62c540e..642273703 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 dc8b3978daced33543ae5291425219d7c02fbbe4 Mon Sep 17 00:00:00 2001 +From 0c8e8ec930651b02c09eddbf94975136ecb220ac Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 20 Jun 2011 09:03:47 +0200 -Subject: [PATCH 105/298] rt-local-irq-lock.patch +Subject: [PATCH 105/304] 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 dfe05c8a1..2a4c87d5a 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 41a2f7e181bbc369baba87fe57b5b60c1c23a6af Mon Sep 17 00:00:00 2001 +From b3f0502c14b5d001a6a3f92a10137c9ce89553d8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 17 Jun 2011 15:42:38 +0200 -Subject: [PATCH 106/298] cpu-rt-variants.patch +Subject: [PATCH 106/304] 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 24dd579fd..4cbce881d 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 83b2a6f386870e52dffa0ff948e1fa419045de06 Mon Sep 17 00:00:00 2001 +From e29c240dc3262b080dfdce48092193e03f7a129e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 18 Jun 2011 19:44:43 +0200 -Subject: [PATCH 107/298] mm-slab-wrap-functions.patch +Subject: [PATCH 107/304] mm-slab-wrap-functions.patch Signed-off-by: Thomas Gleixner --- @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner 1 file changed, 104 insertions(+), 48 deletions(-) diff --git a/mm/slab.c b/mm/slab.c -index f807b35..89b7b18 100644 +index f807b35f..89b7b18 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -116,6 +116,7 @@ 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 7cf77fe10..c133ed159 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 9e82bf6293f2800b18dc29b82b688ea7c3794893 Mon Sep 17 00:00:00 2001 +From 111925c08bed273b15d3230931dc1c5bcb5ff5f6 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 11 Oct 2011 23:56:23 -0400 -Subject: [PATCH 108/298] slab: Fix __do_drain to use the right array cache +Subject: [PATCH 108/304] 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 02265ef7d..ee04ef867 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 85a816c8aa129c529c21a175c1d194787a182b81 Mon Sep 17 00:00:00 2001 +From 8ce69e22d0518a7bf2c27d6862e259b6795a01dd Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:43 -0500 -Subject: [PATCH 109/298] mm: More lock breaks in slab.c +Subject: [PATCH 109/304] 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 ae00042e3..bad37268f 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 33b1c390fdf2a249022d9831e754a761555a61c5 Mon Sep 17 00:00:00 2001 +From 9d03ed6f859390ea37231b72819d6d499ed27dab Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:37 -0500 -Subject: [PATCH 110/298] mm: page_alloc: rt-friendly per-cpu pages +Subject: [PATCH 110/304] 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. 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 d604c3df2..a190ecc5b 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 1189bc960cde43c55fa4190e23f003a6ef8a6b01 Mon Sep 17 00:00:00 2001 +From 86d0172ab4150c6276e12b4682609b0c4f42a13f Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:37 -0500 -Subject: [PATCH 111/298] mm: page_alloc reduce lock sections further +Subject: [PATCH 111/304] 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. 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 fc48fbade..aa6f6dd66 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 81065324db754cc08ac24a0eeb2956d13286b724 Mon Sep 17 00:00:00 2001 +From 03d0cbe0303d2bec52554c85539e8eb2dabe5ca7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 16:47:49 +0200 -Subject: [PATCH 112/298] mm-page-alloc-fix.patch +Subject: [PATCH 112/304] mm-page-alloc-fix.patch Signed-off-by: Thomas Gleixner --- 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 9b462e92d..a3966d03e 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 91478a2b56ce219ceb0cacee71e03c7da94427fd Mon Sep 17 00:00:00 2001 +From 2b63db3ff70fd56681147012305227e46ca8983d Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:51 -0500 -Subject: [PATCH 113/298] mm: convert swap to percpu locked +Subject: [PATCH 113/304] 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 b6e27e9d0..ee936f9cf 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 5b67ad2596cf1d4fc1be8c85699dffa8fb8aafaf Mon Sep 17 00:00:00 2001 +From e85aa5adf7e1d57407fb684d093af41d52b6ea3a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Jun 2011 20:47:08 +0200 -Subject: [PATCH 114/298] mm-vmstat-fix-the-irq-lock-asymetry.patch +Subject: [PATCH 114/304] 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 124e8ad7d..a890be3bf 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 bae606743d2b7bc4d3683b87060dcbb76678c08e Mon Sep 17 00:00:00 2001 +From 3adde7584f3b1162e3ebc1fe1de37905664838c9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:13 -0500 -Subject: [PATCH 115/298] mm: make vmstat -rt aware +Subject: [PATCH 115/304] 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 140cc31b6..8268f54f0 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 26685bd0d5255159369f4a5e171aa8eeb81d4fdb Mon Sep 17 00:00:00 2001 +From e5f793963b064395f81cd9d6eddc0dbe7cea806f Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 3 Jul 2009 08:44:54 -0500 -Subject: [PATCH 116/298] mm: shrink the page frame to !-rt size +Subject: [PATCH 116/304] 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 e1f4e333f..ae9aaf015 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 ab4702a13f1f2df50c3d1f0c123b92d5a622db30 Mon Sep 17 00:00:00 2001 +From 69b2ff338338dcba2f4594f2dc7ed68bfe630b65 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Sat, 1 Oct 2011 18:58:13 -0700 -Subject: [PATCH 117/298] ARM: Initialize ptl->lock for vector page +Subject: [PATCH 117/304] 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 80363b360..e368f7c0b 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 b56988c9693963c05eb40488c75a66aae882e9c5 Mon Sep 17 00:00:00 2001 +From 867056af0eacb11f69399aef9cc0484cb68d2b03 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:03 -0500 -Subject: [PATCH 118/298] mm: Allow only slab on RT +Subject: [PATCH 118/304] 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 8c53888a9..df6de45fc 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 37a6ad563519463d1aeda9eab741228abb981dbe Mon Sep 17 00:00:00 2001 +From f5d9e84095c6fcf5d9f75aaa84602d15cf1dfd59 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:33:18 +0200 -Subject: [PATCH 119/298] radix-tree-rt-aware.patch +Subject: [PATCH 119/304] 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 697ef4485..2d8cb6179 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 90521bee083df628155d28538dffe7758c788cd4 Mon Sep 17 00:00:00 2001 +From 5e47429ca888f4ffaf050931fd90007e738f11b1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 10 Apr 2012 14:34:04 -0400 -Subject: [PATCH 120/298] panic-disable-random-on-rt +Subject: [PATCH 120/304] 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 f6d1380e7..3bd4e21e1 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 b86dd5139e37be5623842670ee9f9a95d66fb29d Mon Sep 17 00:00:00 2001 +From ba76c613f5b71d749b072c4da8f08f86d690016a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:12 -0500 -Subject: [PATCH 121/298] ipc: Make the ipc code -rt aware +Subject: [PATCH 121/304] 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 7ea669fc9..f4fac4411 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 500e2d9f999ce78adcb3a223c812881cb33915ea Mon Sep 17 00:00:00 2001 +From 44c107fb9ce047fb1f5407fa53766b9d729b02f5 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Yoshitake Date: Sat, 23 Jul 2011 11:57:36 +0900 -Subject: [PATCH 122/298] ipc/mqueue: Add a critical section to avoid a +Subject: [PATCH 122/304] 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 6d2e1c0d8..3a11a6fcd 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 41b7613cd64be18099b0670c231d02fd0695580d Mon Sep 17 00:00:00 2001 +From 9b5f4832e5d82952421d8e9024367a425d254564 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:44:07 -0500 -Subject: [PATCH 123/298] relay: fix timer madness +Subject: [PATCH 123/304] 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 81ec9f042..83a96e1af 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 068d395fc4abb79f35201fa6b8a9f4f08dc27a85 Mon Sep 17 00:00:00 2001 +From e82c6437cdee6d6743140cddff83788258742f31 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 15 Jul 2011 16:24:45 +0200 -Subject: [PATCH 124/298] net-ipv4-route-use-locks-on-up-rt.patch +Subject: [PATCH 124/304] 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 114a304c5..55359fe12 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 f042b95777bc9784d6436b43c28c899812236f56 Mon Sep 17 00:00:00 2001 +From a1c0e31ccbfd39a8e298350d7803ee000cd2588c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 24 Jun 2011 20:39:24 +0200 -Subject: [PATCH 125/298] workqueue-avoid-the-lock-in-cpu-dying.patch +Subject: [PATCH 125/304] workqueue-avoid-the-lock-in-cpu-dying.patch Signed-off-by: Thomas Gleixner --- 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 45587ba09..ba91d864f 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 29c0c4c06fa89519a423645cb980af4d7e4ad12e Mon Sep 17 00:00:00 2001 +From 04f56cc10ab67d3528a58d662c2f20f9f45ba296 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 126/298] timers: prepare for full preemption +Subject: [PATCH 126/304] 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 0d80f956f..9ae484b3c 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 b3fb810f68a0db93e68ab9c817213d84a2be4fcd Mon Sep 17 00:00:00 2001 +From 9cba86fbc4acd2f01050677f7f9ed3aed72ce535 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:20 -0500 -Subject: [PATCH 127/298] timers: preempt-rt support +Subject: [PATCH 127/304] 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 4a7e86402..90d41809d 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 b5c9be757a41dc0d72422a4e10f8ac141c73d04b Mon Sep 17 00:00:00 2001 +From 8cc2531c4976d14a548ad20cb3c392b539fcd5e2 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:32 -0500 -Subject: [PATCH 128/298] timers: fix timer hotplug on -rt +Subject: [PATCH 128/304] 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 b2d6715a9..69fb4b78b 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 08190b657872e6683651070450edd8ce7195e9d2 Mon Sep 17 00:00:00 2001 +From ba8483b66ffca3da620a044cefa62c04b13d4ae2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:30 -0500 -Subject: [PATCH 129/298] timers: mov printk_tick to soft interrupt +Subject: [PATCH 129/304] 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 fcde9dbd5..ebde085f3 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 f2ba66b9746eb530509dd8f68cd4d92c39e98c96 Mon Sep 17 00:00:00 2001 +From dea575de6551da78f939c0b42815f60af606ac8d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 21 Aug 2009 11:56:45 +0200 -Subject: [PATCH 130/298] timer: delay waking softirqs from the jiffy tick +Subject: [PATCH 130/304] 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 1e25e4c6d..e0c9f2ffd 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 55c69e2ad2e55b2f20dcfa81065249ab2f27209c Mon Sep 17 00:00:00 2001 +From ab2bd9a29df8bf32a5589d74b9734033a1481b93 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 15:23:39 +0200 -Subject: [PATCH 131/298] timers: Avoid the switch timers base set to NULL +Subject: [PATCH 131/304] 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 d002e3e1e..120164680 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 f3e7ce9f3cb436104eea0f4354d7a87ebdc82a7e Mon Sep 17 00:00:00 2001 +From 53e2f2d86ce87a2b8520341285353a8c427e49ce Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Sun, 16 Oct 2011 18:56:45 +0800 -Subject: [PATCH 132/298] printk: Don't call printk_tick in printk_needs_cpu() +Subject: [PATCH 132/304] 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 26133d798..fc04cbbc5 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 b3d99db6329d420df2396386624509fbf4be1923 Mon Sep 17 00:00:00 2001 +From 36bac70a3511ae455cba4d470100aeba8315da9b Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:29:34 -0500 -Subject: [PATCH 133/298] hrtimers: prepare full preemption +Subject: [PATCH 133/304] 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 82b1f8ac9..5369b08f3 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 5bb37ad66f486ce2ff7d2478a488fcc3420cb09c Mon Sep 17 00:00:00 2001 +From c495d005449523772e27a22fb74814dc3cebff8e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:31 -0500 -Subject: [PATCH 134/298] hrtimer: fixup hrtimer callback changes for +Subject: [PATCH 134/304] 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 d24f681..297fc34 100644 +index 6c05b86..a877974 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 5e80aacd5..8ae4e53d0 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 f86ee69f4e9b1a3b53d514730f392ef0ed12204b Mon Sep 17 00:00:00 2001 +From 80cc960e628509c72f63a7327a4dc22707a02b81 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 12 Aug 2011 17:39:54 +0200 -Subject: [PATCH 135/298] hrtimer: Don't call the timer handler from +Subject: [PATCH 135/304] 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 48c608796..9329f26d2 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 85d43ee485fa69ffc3c26640879fe5bc20cf66ce Mon Sep 17 00:00:00 2001 +From fcb726bafb57becc09cc99388c4fb4d5bcefaa06 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Thu, 13 Oct 2011 15:52:30 +0800 -Subject: [PATCH 136/298] hrtimer: Add missing debug_activate() aid [Was: Re: +Subject: [PATCH 136/304] 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 39051bc4e..74588c08f 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 bdc3da447f145328a0b7e2d64085652bd992c555 Mon Sep 17 00:00:00 2001 +From 259c005008b39c1fac836af67bf651f0a431999f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Sep 2011 14:48:43 +0200 -Subject: [PATCH 137/298] hrtimer-fix-reprogram-madness.patch +Subject: [PATCH 137/304] 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 c5f39c1ad..01d8a760e 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 60df81135a4a0d6ceb6e15edb388cb6a2802c05b Mon Sep 17 00:00:00 2001 +From dfabc4810806a74eb211576823ab4a92454532ba Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 25 Jan 2012 11:08:40 +0100 -Subject: [PATCH 138/298] timer-fd: Prevent live lock +Subject: [PATCH 138/304] 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 98b8ec1a1..e1550461b 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 2f2be1f4157dde2ad728a972327591db27e4dd7d Mon Sep 17 00:00:00 2001 +From 520d1632aa94a5c4a2a9bcb4bdb6337c0dde9d49 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Fri, 3 Jul 2009 08:29:58 -0500 -Subject: [PATCH 139/298] posix-timers: thread posix-cpu-timers on -rt +Subject: [PATCH 139/304] 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. @@ -44,7 +44,7 @@ index cdde2b3..3202e80 100644 [PIDTYPE_PID] = INIT_PID_LINK(PIDTYPE_PID), \ [PIDTYPE_PGID] = INIT_PID_LINK(PIDTYPE_PGID), \ diff --git a/include/linux/sched.h b/include/linux/sched.h -index c533510..5c3fa60 100644 +index a7b7888..0e301c9 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1359,6 +1359,9 @@ struct task_struct { 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 b9cbfb3ed..7eecb1aca 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 5780730b6f4133b19a2a2562278813c750e36cf1 Mon Sep 17 00:00:00 2001 +From 3af1c60b1c7f8d6476e1f7d80532ac012c06f99c Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Fri, 3 Jul 2009 08:30:00 -0500 -Subject: [PATCH 140/298] posix-timers: Shorten posix_cpu_timers/ kernel +Subject: [PATCH 140/304] 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 fdb49f1dc..a71f326c9 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 5c2a860a1cd1e208f065870eca3b45034f3fc5ba Mon Sep 17 00:00:00 2001 +From f9f50318c7074a34758a9957e49675157e0c0dd1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 08:44:44 -0500 -Subject: [PATCH 141/298] posix-timers: Avoid wakeups when no timers are +Subject: [PATCH 141/304] 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 cc15aeb07..36f27c95d 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 c73dc631520bac8d442a854ab37842efad09c030 Mon Sep 17 00:00:00 2001 +From 294783e46b9eafa0a3142be026d004645e469ff4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 May 2011 16:59:16 +0200 -Subject: [PATCH 142/298] sched-delay-put-task.patch +Subject: [PATCH 142/304] sched-delay-put-task.patch Signed-off-by: Thomas Gleixner --- @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 24 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 5c3fa60..3134428 100644 +index 0e301c9..678cdef 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1595,6 +1595,9 @@ struct task_struct { 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 4420acec4..34f9a88d7 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 cb620fc0911ff5668d52daaa2baaccd8bee103db Mon Sep 17 00:00:00 2001 +From b8085b59934379e66f5c53eda457600a6d807300 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:12:51 +0200 -Subject: [PATCH 143/298] sched-limit-nr-migrate.patch +Subject: [PATCH 143/304] 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 297fc34..f0eb8d2 100644 +index a877974..2fd0f7c 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 b02c41b9f..4252e1f75 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 996e4721030e94a94c82210bda6affebe40f5c0d Mon Sep 17 00:00:00 2001 +From d1dd3f0f604181868dc280db425705e75842d2ce Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 12:20:33 +0200 -Subject: [PATCH 144/298] sched-mmdrop-delayed.patch +Subject: [PATCH 144/304] sched-mmdrop-delayed.patch Needs thread context (pgd_lock) -> ifdeffed. workqueues wont work with RT @@ -37,7 +37,7 @@ index 1ec126f..c303a27 100644 static inline void mm_init_cpumask(struct mm_struct *mm) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 3134428..3f36640 100644 +index 678cdef..cb87a0c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2280,12 +2280,24 @@ extern struct mm_struct * mm_alloc(void); @@ -99,10 +99,10 @@ index 2b985c7..e2d8055 100644 * Decrement the use count and release all resources for an mm. */ diff --git a/kernel/sched.c b/kernel/sched.c -index f0eb8d2..8af4f7f 100644 +index 2fd0f7c..188c3b6bf 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) +@@ -3171,8 +3171,12 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) finish_lock_switch(rq, prev); fire_sched_in_preempt_notifiers(current); @@ -116,7 +116,7 @@ index f0eb8d2..8af4f7f 100644 if (unlikely(prev_state == TASK_DEAD)) { /* * Remove function-return probe instances associated with this -@@ -6495,6 +6499,8 @@ static int migration_cpu_stop(void *data) +@@ -6496,6 +6500,8 @@ static int migration_cpu_stop(void *data) #ifdef CONFIG_HOTPLUG_CPU @@ -125,7 +125,7 @@ index f0eb8d2..8af4f7f 100644 /* * Ensures that the idle task is using init_mm right before its cpu goes * offline. -@@ -6507,7 +6513,12 @@ void idle_task_exit(void) +@@ -6508,7 +6514,12 @@ void idle_task_exit(void) if (mm != &init_mm) switch_mm(mm, &init_mm, current); @@ -139,7 +139,7 @@ index f0eb8d2..8af4f7f 100644 } /* -@@ -6852,6 +6863,12 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) +@@ -6853,6 +6864,12 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) migrate_nr_uninterruptible(rq); calc_global_load_remove(rq); break; 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 487722d7b..b78da2dc6 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 079b0525ecbdd12571ffb445ac81cd083b32f96d Mon Sep 17 00:00:00 2001 +From 7c1160eb24b48219cb9fa1269538ba08606715e3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 25 Jun 2011 09:21:04 +0200 -Subject: [PATCH 145/298] sched-rt-mutex-wakeup.patch +Subject: [PATCH 145/304] sched-rt-mutex-wakeup.patch Signed-off-by: Thomas Gleixner --- @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 3f36640..57d5b54 100644 +index cb87a0c..5dc840b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1073,6 +1073,7 @@ struct sched_domain; @@ -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 8af4f7f..d3e327d 100644 +index 188c3b6bf..3bfd00a 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) @@ -68,7 +68,7 @@ index 8af4f7f..d3e327d 100644 success = 1; /* we're going to change ->state */ cpu = task_cpu(p); -@@ -2896,6 +2913,18 @@ int wake_up_process(struct task_struct *p) +@@ -2897,6 +2914,18 @@ int wake_up_process(struct task_struct *p) } EXPORT_SYMBOL(wake_up_process); 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 38eb3b7f6..394a78314 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 d41d0f2f08effad3e93ae4da1b73d63bae1dbd12 Mon Sep 17 00:00:00 2001 +From 28d830333bea1f07d22a4ef7e9865b5f53281631 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 6 Jun 2011 20:07:38 +0200 -Subject: [PATCH 146/298] sched-prevent-idle-boost.patch +Subject: [PATCH 146/304] sched-prevent-idle-boost.patch Signed-off-by: Thomas Gleixner --- @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index d3e327d..b16b7e4 100644 +index 3bfd00a..0a2a1b2a 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5229,6 +5229,24 @@ void rt_mutex_setprio(struct task_struct *p, int prio) +@@ -5230,6 +5230,24 @@ void rt_mutex_setprio(struct task_struct *p, int prio) rq = __task_rq_lock(p); @@ -37,7 +37,7 @@ index d3e327d..b16b7e4 100644 trace_sched_pi_setprio(p, prio); oldprio = p->prio; prev_class = p->sched_class; -@@ -5252,11 +5270,10 @@ void rt_mutex_setprio(struct task_struct *p, int prio) +@@ -5253,11 +5271,10 @@ void rt_mutex_setprio(struct task_struct *p, int prio) enqueue_task(rq, p, oldprio < prio ? ENQUEUE_HEAD : 0); check_class_changed(rq, p, prev_class, oldprio); 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 1b99d0d7c..4b4651e6d 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 d4538b716c2e1a81c4d75d86a9647af65fc7405c Mon Sep 17 00:00:00 2001 +From 4aa79c5f415b8cbcfae5ed0028424fce37f14f04 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 09:19:06 +0200 -Subject: [PATCH 147/298] sched-might-sleep-do-not-account-rcu-depth.patch +Subject: [PATCH 147/304] 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 b16b7e4..afc9d85 100644 +index 0a2a1b2a..0b54ef6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -8660,7 +8660,8 @@ void __init sched_init(void) +@@ -8661,7 +8661,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 5aff313d7..43abd5dcb 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 8cd3dd5cce0434c82046a3c139687dfc19190ebf Mon Sep 17 00:00:00 2001 +From 3fb29dcca75263114e79aafeaed4313f4df7808b Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 16 Mar 2010 14:31:44 -0700 -Subject: [PATCH 148/298] sched: Break out from load_balancing on rq_lock +Subject: [PATCH 148/304] 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 24a2be98f..d26cd06c0 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 d039e40c1c2e6dfbbbd4522131925aab85d76c3a Mon Sep 17 00:00:00 2001 +From 0b7204df6f1f3a3a937a6c1faf67ea98d1d2efc2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 7 Jun 2011 11:25:03 +0200 -Subject: [PATCH 149/298] sched-cond-resched.patch +Subject: [PATCH 149/304] sched-cond-resched.patch Signed-off-by: Thomas Gleixner --- @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index afc9d85..eb84999 100644 +index 0b54ef6..12a38a8 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5967,9 +5967,17 @@ static inline int should_resched(void) +@@ -5968,9 +5968,17 @@ static inline int should_resched(void) static void __cond_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 a109fee77..efe8961bf 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 13d754e5190b5ce2e1590b52bd40ecec64f5caad Mon Sep 17 00:00:00 2001 +From 60ee2ad48cc2651bdfb4a56a3f191a0af445a1d8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 14 Jul 2011 09:56:44 +0200 -Subject: [PATCH 150/298] cond-resched-softirq-fix.patch +Subject: [PATCH 150/304] cond-resched-softirq-fix.patch Signed-off-by: Thomas Gleixner --- @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 6 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 57d5b54..08f5c5b 100644 +index 5dc840b..72bfb2d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2614,12 +2614,16 @@ extern int __cond_resched_lock(spinlock_t *lock); @@ -31,10 +31,10 @@ 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 eb84999..bdb2d80 100644 +index 12a38a8..1a9ff1a2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6018,6 +6018,7 @@ int __cond_resched_lock(spinlock_t *lock) +@@ -6019,6 +6019,7 @@ int __cond_resched_lock(spinlock_t *lock) } EXPORT_SYMBOL(__cond_resched_lock); @@ -42,7 +42,7 @@ index eb84999..bdb2d80 100644 int __sched __cond_resched_softirq(void) { BUG_ON(!in_softirq()); -@@ -6031,6 +6032,7 @@ int __sched __cond_resched_softirq(void) +@@ -6032,6 +6033,7 @@ int __sched __cond_resched_softirq(void) return 0; } EXPORT_SYMBOL(__cond_resched_softirq); 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 7ed509d17..add36beaa 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 799a585638f8e6c508b5ba17a0037cec1335e481 Mon Sep 17 00:00:00 2001 +From 214450e3bfcd2e6ebe7959166e168384ae539b5a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 20:46:52 +0200 -Subject: [PATCH 151/298] sched-no-work-when-pi-blocked.patch +Subject: [PATCH 151/304] sched-no-work-when-pi-blocked.patch Signed-off-by: Thomas Gleixner --- @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 08f5c5b..96bfec9 100644 +index 72bfb2d..367e219 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2107,12 +2107,20 @@ extern unsigned int sysctl_sched_cfs_bandwidth_slice; @@ -35,10 +35,10 @@ 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 bdb2d80..5add350 100644 +index 1a9ff1a2..c63fd07 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4653,7 +4653,7 @@ need_resched: +@@ -4654,7 +4654,7 @@ need_resched: static inline void sched_submit_work(struct task_struct *tsk) { @@ -47,7 +47,7 @@ index bdb2d80..5add350 100644 return; /* -@@ -4673,6 +4673,9 @@ static inline void sched_submit_work(struct task_struct *tsk) +@@ -4674,6 +4674,9 @@ static inline void sched_submit_work(struct task_struct *tsk) static inline void sched_update_worker(struct task_struct *tsk) { 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 6bcecc683..7070b37b7 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 7a6a973e37a8a4b0373c8ff8e44b5a5eea9b4a06 Mon Sep 17 00:00:00 2001 +From 709cc9516ae93ef90c426068dbc6242214de62a0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:51:33 +0200 -Subject: [PATCH 152/298] cond-resched-lock-rt-tweak.patch +Subject: [PATCH 152/304] cond-resched-lock-rt-tweak.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/include/linux/sched.h b/include/linux/sched.h -index 96bfec9..7a1df91 100644 +index 367e219..e946538 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2611,7 +2611,7 @@ extern int _cond_resched(void); 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 67a821bf3..27de604a5 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 b86d20bd3a79c831a598d2c82f3f3325977245a7 Mon Sep 17 00:00:00 2001 +From cb4af5893b65db6c82564889a904d738dbe7bb44 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Sep 2011 16:42:35 +0200 -Subject: [PATCH 153/298] sched-disable-ttwu-queue.patch +Subject: [PATCH 153/304] 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 6bcca229e..0be256863 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 e89c27e17d0eced9342a07dedb048bf39ea71e70 Mon Sep 17 00:00:00 2001 +From 6b09b1f60dea7f3d4ef20985a01a10abf567e06d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:03:52 +0200 -Subject: [PATCH 154/298] sched: Disable CONFIG_RT_GROUP_SCHED on RT +Subject: [PATCH 154/304] 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 3fe6c697e..447072bf5 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 2b8c32beb8a28cb151ef3e428afb6efa291ce174 Mon Sep 17 00:00:00 2001 +From 563fe54372827467643e41c3ef1b8b54e69671eb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 13 Dec 2011 21:42:19 +0100 -Subject: [PATCH 155/298] sched: ttwu: Return success when only changing the +Subject: [PATCH 155/304] 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 5add350..92b84a7 100644 +index c63fd07..49b0d1d 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 8088f4232..d8d220668 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 25b9847b0b012fb4cd178e3cc010f5ba43f22b05 Mon Sep 17 00:00:00 2001 +From fa15c2f6adf5a2ccc231048fe73355675e2b2a8f Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:27 -0500 -Subject: [PATCH 156/298] stop_machine: convert stop_machine_run() to +Subject: [PATCH 156/304] 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 ab339852a..b464624d2 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 fc0837e94a4288527f5ea48d06e291e3de5301c0 Mon Sep 17 00:00:00 2001 +From 21749c7729a89c83b5733388206cab1f15a6a7f3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 19:53:19 +0200 -Subject: [PATCH 157/298] stomp-machine-mark-stomper-thread.patch +Subject: [PATCH 157/304] stomp-machine-mark-stomper-thread.patch Signed-off-by: Thomas Gleixner --- @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner 2 files changed, 2 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 7a1df91..34ebf9e 100644 +index e946538..be35c44 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1826,6 +1826,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * 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 c0c2998f6..9ce4a0adb 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 68f6a40992d4efa2567054097ee3675da7e5610a Mon Sep 17 00:00:00 2001 +From 188df0b3dd9ff95a1c907ae1112178a117420350 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 11:01:51 +0200 -Subject: [PATCH 158/298] stomp-machine-raw-lock.patch +Subject: [PATCH 158/304] 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 b7f592744..d0e585399 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 3fc61f46fa81bb734c00c2086029fa285c866a7c Mon Sep 17 00:00:00 2001 +From 47dbbdd179913a2b1a1e4a293e73d0257dce8315 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 12:36:06 +0200 -Subject: [PATCH 159/298] hotplug: Lightweight get online cpus +Subject: [PATCH 159/304] 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 d6611cd97..a85e1bbf9 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 635bf9d65392adf21106bf3c9b7913bb265a410b Mon Sep 17 00:00:00 2001 +From 9bcaef23673feff23469506fe8ff7070e353b641 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Sun, 16 Oct 2011 18:56:43 +0800 -Subject: [PATCH 160/298] hotplug: sync_unplug: No " " in task name +Subject: [PATCH 160/304] 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 9010a6793..cd0d7f7cb 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 96fcd6745178730304ce4689435d97eb042cde6f Mon Sep 17 00:00:00 2001 +From 922d1b248869e8599205b24eb2db45d7c90ab10c Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Thu, 28 Jul 2011 11:16:00 +0800 -Subject: [PATCH 161/298] hotplug: Reread hotplug_pcp on pin_current_cpu() +Subject: [PATCH 161/304] 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 0a4127252..c33453ff6 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 e15c95524695503c51b494e44fc54104a870ba58 Mon Sep 17 00:00:00 2001 +From 56129a4521d00ca24e6fd5ac1bf230c79615e928 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Jun 2011 13:26:08 +0200 -Subject: [PATCH 162/298] sched-migrate-disable.patch +Subject: [PATCH 162/304] sched-migrate-disable.patch Signed-off-by: Thomas Gleixner --- @@ -32,7 +32,7 @@ index 29db25f..363e5e2 100644 # define preempt_disable_rt() preempt_disable() # define preempt_enable_rt() preempt_enable() diff --git a/include/linux/sched.h b/include/linux/sched.h -index 34ebf9e..3e8b05e 100644 +index be35c44..1750a3c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1263,6 +1263,7 @@ struct task_struct { @@ -53,7 +53,7 @@ index 34ebf9e..3e8b05e 100644 #ifdef CONFIG_PREEMPT_RT_FULL static inline bool cur_pf_disabled(void) { return current->pagefault_disabled; } #else -@@ -2695,6 +2693,15 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu) +@@ -2704,6 +2702,15 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu) #endif /* CONFIG_SMP */ @@ -82,10 +82,10 @@ index e6c58d8..94c8430 100644 * Generic and arch helpers */ diff --git a/kernel/sched.c b/kernel/sched.c -index 92b84a7..71b1015 100644 +index 49b0d1d..026cde6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6416,11 +6416,12 @@ static inline void sched_init_granularity(void) +@@ -6417,11 +6417,12 @@ static inline void sched_init_granularity(void) #ifdef CONFIG_SMP void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask) { @@ -102,7 +102,7 @@ index 92b84a7..71b1015 100644 } /* -@@ -6471,7 +6472,7 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) +@@ -6472,7 +6473,7 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) do_set_cpus_allowed(p, new_mask); /* Can the task run on the task's current CPU? If so, we're done */ @@ -111,7 +111,7 @@ index 92b84a7..71b1015 100644 goto out; dest_cpu = cpumask_any_and(cpu_active_mask, new_mask); -@@ -6490,6 +6491,83 @@ out: +@@ -6491,6 +6492,83 @@ out: } EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr); 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 30734a9fc..9d42dd349 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 66183bcbcb2fdcb792eaeba75763bd2425be3ae4 Mon Sep 17 00:00:00 2001 +From 0fa4a5e8546db76436593a7089a90071cb282d31 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 19:35:29 +0200 -Subject: [PATCH 163/298] hotplug-use-migrate-disable.patch +Subject: [PATCH 163/304] 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 d2bf4bb1e..0acd680f5 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 ea1b4f760d60e87123c037938f764d6775084ddc Mon Sep 17 00:00:00 2001 +From 4b68382c52e425c0d32bff441767e748488b5803 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Sun, 16 Oct 2011 18:56:44 +0800 -Subject: [PATCH 164/298] hotplug: Call cpu_unplug_begin() before DOWN_PREPARE +Subject: [PATCH 164/304] 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 0945267b9..fd70863ef 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 8693b829b9fea5a5c2473bedd04170203b32ca41 Mon Sep 17 00:00:00 2001 +From 76285120bb9eb25fca2f7a7e891066f96492cd85 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:56:42 +0200 -Subject: [PATCH 165/298] ftrace-migrate-disable-tracing.patch +Subject: [PATCH 165/304] 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 3875afe86..53548b1fe 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 cc52caa1e22b1d8b7b99658819dc07e717d8e71f Mon Sep 17 00:00:00 2001 +From ddf8f0e7a7eb4cd7926e9b65f12f5e2c3a5b79fc Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Wed, 16 Nov 2011 13:19:35 -0500 -Subject: [PATCH 166/298] tracing: Show padding as unsigned short +Subject: [PATCH 166/304] 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 3cdf88b4a..359a4c68f 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 6ec9d887bbdb988a4b0be680d0bd605e80212bd0 Mon Sep 17 00:00:00 2001 +From a07824556a7abd09e88a222c2aa05badde6a725c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 19:48:20 +0200 -Subject: [PATCH 167/298] migrate-disable-rt-variant.patch +Subject: [PATCH 167/304] 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 1b98de20a..2ef9593a2 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 b82397ec3c506ed47f8a04cde054303e79605a3f Mon Sep 17 00:00:00 2001 +From 871522488cd5cd5d8d1d1101280ee6b8883f8125 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 11 Aug 2011 15:03:35 +0200 -Subject: [PATCH 168/298] sched: Optimize migrate_disable +Subject: [PATCH 168/304] 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,10 +13,10 @@ 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 71b1015..a100bf4 100644 +index 026cde6..0c6556d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6511,7 +6511,19 @@ void migrate_disable(void) +@@ -6512,7 +6512,19 @@ void migrate_disable(void) preempt_enable(); return; } @@ -37,7 +37,7 @@ index 71b1015..a100bf4 100644 p->migrate_disable = 1; mask = tsk_cpus_allowed(p); -@@ -6522,7 +6534,7 @@ void migrate_disable(void) +@@ -6523,7 +6535,7 @@ void migrate_disable(void) p->sched_class->set_cpus_allowed(p, mask); p->rt.nr_cpus_allowed = cpumask_weight(mask); } @@ -46,7 +46,7 @@ index 71b1015..a100bf4 100644 preempt_enable(); } EXPORT_SYMBOL_GPL(migrate_disable); -@@ -6550,7 +6562,11 @@ void migrate_enable(void) +@@ -6551,7 +6563,11 @@ void migrate_enable(void) return; } @@ -59,7 +59,7 @@ index 71b1015..a100bf4 100644 p->migrate_disable = 0; mask = tsk_cpus_allowed(p); -@@ -6562,7 +6578,7 @@ void migrate_enable(void) +@@ -6563,7 +6579,7 @@ void migrate_enable(void) p->rt.nr_cpus_allowed = cpumask_weight(mask); } 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 3bd6eda14..479fe676b 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 3a249aabe188fcf191b1d6f7a30b5daccdae2bbc Mon Sep 17 00:00:00 2001 +From 76228df2036ad8b8e7f3ac0415a36c3182ba698b Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 11 Aug 2011 15:14:58 +0200 -Subject: [PATCH 169/298] sched: Generic migrate_disable +Subject: [PATCH 169/304] 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 @@ -65,7 +65,7 @@ index 5aa7916..6450c01 100644 #ifdef CONFIG_PREEMPT_NOTIFIERS diff --git a/include/linux/sched.h b/include/linux/sched.h -index 3e8b05e..b409b94 100644 +index 1750a3c..6cf7ed9 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1263,7 +1263,9 @@ struct task_struct { @@ -78,7 +78,7 @@ index 3e8b05e..b409b94 100644 cpumask_t cpus_allowed; #ifdef CONFIG_PREEMPT_RCU -@@ -2693,11 +2695,22 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu) +@@ -2702,11 +2704,22 @@ static inline void set_task_cpu(struct task_struct *p, unsigned int cpu) #endif /* CONFIG_SMP */ @@ -122,10 +122,10 @@ 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 a100bf4..8371ca2 100644 +index 0c6556d..d0f0f9f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6416,7 +6416,7 @@ static inline void sched_init_granularity(void) +@@ -6417,7 +6417,7 @@ static inline void sched_init_granularity(void) #ifdef CONFIG_SMP void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask) { @@ -134,7 +134,7 @@ index a100bf4..8371ca2 100644 if (p->sched_class && p->sched_class->set_cpus_allowed) p->sched_class->set_cpus_allowed(p, new_mask); p->rt.nr_cpus_allowed = cpumask_weight(new_mask); -@@ -6472,7 +6472,7 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) +@@ -6473,7 +6473,7 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) do_set_cpus_allowed(p, new_mask); /* Can the task run on the task's current CPU? If so, we're done */ @@ -143,7 +143,7 @@ index a100bf4..8371ca2 100644 goto out; dest_cpu = cpumask_any_and(cpu_active_mask, new_mask); -@@ -6491,6 +6491,7 @@ out: +@@ -6492,6 +6492,7 @@ out: } EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr); @@ -151,7 +151,7 @@ index a100bf4..8371ca2 100644 void migrate_disable(void) { struct task_struct *p = current; -@@ -6583,6 +6584,7 @@ void migrate_enable(void) +@@ -6584,6 +6585,7 @@ void migrate_enable(void) preempt_enable(); } EXPORT_SYMBOL_GPL(migrate_enable); 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 14e41b8d4..1896b6c46 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 1111b335428caf0fb4a316185e241b82dfc1037c Mon Sep 17 00:00:00 2001 +From a04ef0df12cb2ff85eb7d430c3dace25f68cf10d Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Tue, 23 Aug 2011 16:12:43 +0200 -Subject: [PATCH 170/298] sched, rt: Fix migrate_enable() thinko +Subject: [PATCH 170/304] 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,10 +21,10 @@ Signed-off-by: Thomas Gleixner 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 8371ca2..ffca20a 100644 +index d0f0f9f..ea3b7ce 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6568,12 +6568,14 @@ void migrate_enable(void) +@@ -6569,12 +6569,14 @@ void migrate_enable(void) */ rq = this_rq(); raw_spin_lock_irqsave(&rq->lock, flags); 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 3924eb2e7..d3b576ae6 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 e6221935f02543dca95d2b71ddf625a2c4d9a60b Mon Sep 17 00:00:00 2001 +From 2f26b41d2b06970f46cad9215944ee042b8c20c2 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 2 Sep 2011 14:29:27 +0200 -Subject: [PATCH 171/298] sched: teach migrate_disable about atomic contexts +Subject: [PATCH 171/304] sched: teach migrate_disable about atomic contexts [] spin_bug+0x94/0xa8 [] do_raw_spin_lock+0x43/0xea @@ -35,7 +35,7 @@ Link: http://lkml.kernel.org/n/tip-wbot4vsmwhi8vmbf83hsclk6@git.kernel.org 2 files changed, 24 insertions(+) diff --git a/include/linux/sched.h b/include/linux/sched.h -index b409b94..43cdbef 100644 +index 6cf7ed9..c60cfde 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1265,6 +1265,9 @@ struct task_struct { @@ -49,10 +49,10 @@ index b409b94..43cdbef 100644 cpumask_t cpus_allowed; diff --git a/kernel/sched.c b/kernel/sched.c -index ffca20a..0589959 100644 +index ea3b7ce..c6429a5 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6499,6 +6499,17 @@ void migrate_disable(void) +@@ -6500,6 +6500,17 @@ void migrate_disable(void) unsigned long flags; struct rq *rq; @@ -70,7 +70,7 @@ index ffca20a..0589959 100644 preempt_disable(); if (p->migrate_disable) { p->migrate_disable++; -@@ -6547,6 +6558,16 @@ void migrate_enable(void) +@@ -6548,6 +6559,16 @@ void migrate_enable(void) unsigned long flags; struct rq *rq; 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 4afc13565..786a963d4 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 b267d700b2227d1fc6cd33f50215daff3c9d2fa9 Mon Sep 17 00:00:00 2001 +From 74220e6deb725404619c145008bfde44cb23cadc Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 27 Sep 2011 08:40:23 -0400 -Subject: [PATCH 172/298] sched: Postpone actual migration disalbe to schedule +Subject: [PATCH 172/304] 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,10 +23,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 132 insertions(+), 119 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 0589959..27d114a 100644 +index c6429a5..ae75aa5 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4549,6 +4549,135 @@ static inline void schedule_debug(struct task_struct *prev) +@@ -4550,6 +4550,135 @@ static inline void schedule_debug(struct task_struct *prev) schedstat_inc(this_rq(), sched_count); } @@ -162,7 +162,7 @@ index 0589959..27d114a 100644 static void put_prev_task(struct rq *rq, struct task_struct *prev) { if (prev->on_rq || rq->skip_clock_update < 0) -@@ -4608,6 +4737,8 @@ need_resched: +@@ -4609,6 +4738,8 @@ need_resched: raw_spin_lock_irq(&rq->lock); @@ -171,7 +171,7 @@ index 0589959..27d114a 100644 switch_count = &prev->nivcsw; if (prev->state && !(preempt_count() & PREEMPT_ACTIVE)) { if (unlikely(signal_pending_state(prev->state, prev))) { -@@ -6416,7 +6547,7 @@ static inline void sched_init_granularity(void) +@@ -6417,7 +6548,7 @@ static inline void sched_init_granularity(void) #ifdef CONFIG_SMP void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask) { @@ -180,7 +180,7 @@ index 0589959..27d114a 100644 if (p->sched_class && p->sched_class->set_cpus_allowed) p->sched_class->set_cpus_allowed(p, new_mask); p->rt.nr_cpus_allowed = cpumask_weight(new_mask); -@@ -6491,124 +6622,6 @@ out: +@@ -6492,124 +6623,6 @@ out: } EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr); 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 4a0258f32..57c03fb45 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 fd055f3076809b2f8b0e1b4a3f1a6b0f7fba76ab Mon Sep 17 00:00:00 2001 +From 70b9fc3c26a8c9a9f87e51bf72504313bf81e962 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 27 Sep 2011 08:40:24 -0400 -Subject: [PATCH 173/298] sched: Do not compare cpu masks in scheduler +Subject: [PATCH 173/304] sched: Do not compare cpu masks in scheduler Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 27d114a..08189cd 100644 +index ae75aa5..e0f9c6a 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4577,16 +4577,12 @@ static inline void update_migrate_disable(struct task_struct *p) +@@ -4578,16 +4578,12 @@ static inline void update_migrate_disable(struct task_struct *p) */ mask = tsk_cpus_allowed(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 bd322f3b8..baf5bf458 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 af18a8ad4c41aab6f45444b4273b0d4cd33a1ab5 Mon Sep 17 00:00:00 2001 +From 73f8cd14679fa97e206d060e8d86df2f4489f24e Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 27 Sep 2011 08:40:25 -0400 -Subject: [PATCH 174/298] sched: Have migrate_disable ignore bounded threads +Subject: [PATCH 174/304] sched: Have migrate_disable ignore bounded threads Signed-off-by: Peter Zijlstra Cc: Peter Zijlstra @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 08189cd..24ebc15 100644 +index e0f9c6a..65b9691 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4589,7 +4589,7 @@ void migrate_disable(void) +@@ -4590,7 +4590,7 @@ void migrate_disable(void) { struct task_struct *p = current; @@ -25,7 +25,7 @@ index 08189cd..24ebc15 100644 #ifdef CONFIG_SCHED_DEBUG p->migrate_disable_atomic++; #endif -@@ -4620,7 +4620,7 @@ void migrate_enable(void) +@@ -4621,7 +4621,7 @@ void migrate_enable(void) unsigned long flags; struct rq *rq; @@ -34,7 +34,7 @@ index 08189cd..24ebc15 100644 #ifdef CONFIG_SCHED_DEBUG p->migrate_disable_atomic--; #endif -@@ -4641,26 +4641,21 @@ void migrate_enable(void) +@@ -4642,26 +4642,21 @@ void migrate_enable(void) if (unlikely(migrate_disabled_updated(p))) { /* 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 f59904b67..068732ba2 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 cf16687c4db899e2555a85bf68ef8770667f850a Mon Sep 17 00:00:00 2001 +From 72c7cceb45d7265f8ba1f4cc8e27c91e54f41226 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 4 Nov 2011 20:48:36 +0100 -Subject: [PATCH 175/298] sched-clear-pf-thread-bound-on-fallback-rq.patch +Subject: [PATCH 175/304] 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 24ebc15..ba3ddde 100644 +index 65b9691..364a863 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 7f6816bfb..7967af4c1 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 c31b15843158311e788752d997d7e21444fa7f31 Mon Sep 17 00:00:00 2001 +From d72ea913a6aab3d03080454d67346a029a52fe8a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 9 Sep 2011 16:55:53 +0200 -Subject: [PATCH 176/298] ftrace-crap.patch +Subject: [PATCH 176/304] 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 a17b576db..cffcf41bd 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 434c3e15a451723a10e909ce5d1f8f54e29d6b51 Mon Sep 17 00:00:00 2001 +From 86f2d8b8c3700f0672b762360e500a3fa925beb7 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 27 Sep 2011 13:56:50 -0400 -Subject: [PATCH 177/298] ring-buffer: Convert reader_lock from raw_spin_lock +Subject: [PATCH 177/304] 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 af07ce019..9b4e96046 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 9bc665bc5a5f3ae5b82963794755c672c1c5656c Mon Sep 17 00:00:00 2001 +From 3be9b12224d3e650627ea14bf347346c844fbb40 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 16:29:27 +0200 -Subject: [PATCH 178/298] net-netif_rx_ni-migrate-disable.patch +Subject: [PATCH 178/304] net-netif_rx_ni-migrate-disable.patch Signed-off-by: Thomas Gleixner --- 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 de8d028ac..b5942b4ac 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 c43ba1c79e188758eba808aef630af3c0283946b Mon Sep 17 00:00:00 2001 +From a786db1efaa471800fa2c83027891f3f60d2aa6e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 3 Jul 2009 13:16:38 -0500 -Subject: [PATCH 179/298] softirq: Sanitize softirq pending for NOHZ/RT +Subject: [PATCH 179/304] 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 82d7c7325..6840e158e 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 50617ef555f94e39af7f525f58d46d455b2d2746 Mon Sep 17 00:00:00 2001 +From 3bc8268188671ff46d19dabec53ee7de05411f05 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 18:51:23 +0200 -Subject: [PATCH 180/298] lockdep-rt.patch +Subject: [PATCH 180/304] 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 9b6b8855d..48e4ae82a 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 11e4822c90f4bf5c2897a116628bb20130c8b8f2 Mon Sep 17 00:00:00 2001 +From f090ec1cf9771c94cef88626b3c1d3236d615d48 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:51:45 +0200 -Subject: [PATCH 181/298] mutex-no-spin-on-rt.patch +Subject: [PATCH 181/304] 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 85377c40e..3b03c7ae9 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 6ea05ee1be43c734dacbdf2a767572df76a6d75b Mon Sep 17 00:00:00 2001 +From e99ada6718f1066d3eb1b7b747522ee350630f72 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 15:57:18 +0200 -Subject: [PATCH 182/298] softirq-local-lock.patch +Subject: [PATCH 182/304] softirq-local-lock.patch Signed-off-by: Thomas Gleixner --- @@ -87,7 +87,7 @@ index 74e28d9..20d8dcc 100644 * Autoprobing for irqs: * diff --git a/include/linux/sched.h b/include/linux/sched.h -index 43cdbef..a867df1 100644 +index c60cfde..6d920a0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1605,6 +1605,7 @@ struct task_struct { 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 961338afb..f20d80fff 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 77f1213de957541812d7aab77d804840125c1312 Mon Sep 17 00:00:00 2001 +From 9482fb102551ef5bd4b40aa1c3813d04cb06b658 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 14 Nov 2011 02:44:43 +0100 -Subject: [PATCH 183/298] softirq: Export in_serving_softirq() +Subject: [PATCH 183/304] 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 6c55eb7df..3c95e0e70 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 ff0033b96819d58c3955fca9b52230f52de4b076 Mon Sep 17 00:00:00 2001 +From 48bf3891eae764b4df88b2af688b6b63f7631371 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Thu, 13 Oct 2011 17:19:09 +0800 -Subject: [PATCH 184/298] hardirq.h: Define softirq_count() as OUL to kill +Subject: [PATCH 184/304] 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 abe1704d3..a1fd31004 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 875ea6e80c26de4d9ff03fe5bf0ce99290d84873 Mon Sep 17 00:00:00 2001 +From ba5480a22669f4c3c86b443e467917ac40e433a7 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Fri, 30 Sep 2011 15:52:14 +0200 -Subject: [PATCH 185/298] softirq: Fix unplug deadlock +Subject: [PATCH 185/304] 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 f3505233e..d8b048436 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 d3dc1291ee2a4146416bed5beac285d2dd18e26b Mon Sep 17 00:00:00 2001 +From 64e1e7f2117b1fc9f3bbd91f6fec1e8cb3d6e641 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 13:59:17 +0200 -Subject: [PATCH 186/298] softirq-disable-softirq-stacks-for-rt.patch +Subject: [PATCH 186/304] 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 2af93196d..4757bd47a 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 f2dc62e8db8e253198dc49cb64f6b325c139e874 Mon Sep 17 00:00:00 2001 +From 570d4d6caca0d07e36cd3182dfdad5557a4204af Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 21 Jul 2011 21:06:43 +0200 -Subject: [PATCH 187/298] softirq-make-fifo.patch +Subject: [PATCH 187/304] 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 09db3c652..d1827dec6 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 ce1dcfccc6b7823a849c504bb68c5a9221b66107 Mon Sep 17 00:00:00 2001 +From afad92cadf060e7ed48826c4f52ec0c3ef971d60 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Tue, 29 Nov 2011 20:18:22 -0500 -Subject: [PATCH 188/298] tasklet: Prevent tasklets from going into infinite +Subject: [PATCH 188/304] 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 00b8d4399..373582d4d 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 a8fbef1d6e4c371a537fa9750223fbb8d6d34cdc Mon Sep 17 00:00:00 2001 +From 422b646f4b784b958f6caaf77b89f63efc3e334a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 31 Jan 2012 13:01:27 +0100 -Subject: [PATCH 189/298] genirq: Allow disabling of softirq processing in irq +Subject: [PATCH 189/304] 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 c732fd9fc..4b9df2cbe 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 9a388fb9e0a09cf4fecd0c7f050636d5c2618152 Mon Sep 17 00:00:00 2001 +From b62561cc31b92ee5d21dd31e0bc8587cb7d9d334 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 28 Jun 2011 20:42:16 +0200 -Subject: [PATCH 190/298] local-vars-migrate-disable.patch +Subject: [PATCH 190/304] 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 b6ab72f69..fa6623c85 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 e6256ede66e2a0e59b6731ad40c31e7e8912a6be Mon Sep 17 00:00:00 2001 +From 0714a95995570cac47ac2f40137f0016b7982ae4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 6 Apr 2010 16:51:31 +0200 -Subject: [PATCH 191/298] md: raid5: Make raid5_percpu handling RT aware +Subject: [PATCH 191/304] 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 51c46206f..fa073ca32 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 50f53dda1370b61032b6302d69d34396af4744e6 Mon Sep 17 00:00:00 2001 +From ef175f091698419aa1cf80d9a8b210d1311124e7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 9 Jun 2011 11:43:52 +0200 -Subject: [PATCH 192/298] rtmutex-lock-killable.patch +Subject: [PATCH 192/304] 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 74fc60965..2ddd3d9c6 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 7a9eb5c9014f86c537a0d503287371e9e5f0ea46 Mon Sep 17 00:00:00 2001 +From fd7bf8f0b53bf1b0c8c828f207b2f7128a5269fb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:04:15 +0200 -Subject: [PATCH 193/298] rtmutex-futex-prepare-rt.patch +Subject: [PATCH 193/304] 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 b0915434d..3e4773e9c 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 61654e0c5ae5b3cc19efbe2addaf92f56558c901 Mon Sep 17 00:00:00 2001 +From e48f2ba848b843ef1c4327c0c75e72cfd12bffb0 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 10 Apr 2012 14:34:13 -0400 -Subject: [PATCH 194/298] futex: Fix bug on when a requeued RT task times out +Subject: [PATCH 194/304] 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 692e9f4f4..0ceb013cb 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 65b1f6c57c61fe23849c337a5964adc373b7ea96 Mon Sep 17 00:00:00 2001 +From 63c64e8c8490494214f3f03374ce349013064c22 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 10 Jun 2011 11:21:25 +0200 -Subject: [PATCH 195/298] rt-mutex-add-sleeping-spinlocks-support.patch +Subject: [PATCH 195/304] 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 ff96f107e..1832b4b3c 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 d6eab75575e62a978198ee70c895717983275b1f Mon Sep 17 00:00:00 2001 +From c50771ee61582b24a2021718f1ffc787933da393 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:34:01 +0200 -Subject: [PATCH 196/298] spinlock-types-separate-raw.patch +Subject: [PATCH 196/304] 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 245bd72bc..4fe16febb 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 8ead4648c7a5aebcb8f6623ce15a076fc6d72683 Mon Sep 17 00:00:00 2001 +From d2842cbc9c3a81c7860c9cd887a8a17a419d0e8b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:06:39 +0200 -Subject: [PATCH 197/298] rtmutex-avoid-include-hell.patch +Subject: [PATCH 197/304] 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 6f6c108ec..444001cfc 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 d89b616b9c0edb4333475553e2c62b287d3d6b67 Mon Sep 17 00:00:00 2001 +From 0f855387ffefd928494406750c15bbafb187b5d2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 19:43:35 +0200 -Subject: [PATCH 198/298] rt-add-rt-spinlocks.patch +Subject: [PATCH 198/304] 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 9cfe418f8..64c1951ad 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 0395e01ce4168d12ae6c9be1fcf592187ab4d0df Mon Sep 17 00:00:00 2001 +From 845c5d6c7c36fd6c9d8bac1a151cb5952f0e7d9c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 20:56:22 +0200 -Subject: [PATCH 199/298] rt-add-rt-to-mutex-headers.patch +Subject: [PATCH 199/304] 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 f9470e03c..8a3f6f155 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 3e3e98fb18e1e31f3ab13c5f5c545a28cc9e3dd6 Mon Sep 17 00:00:00 2001 +From 4e0095da56ae6d1aca2a926b039d6f1f8b09cc70 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 21:02:53 +0200 -Subject: [PATCH 200/298] rwsem-add-rt-variant.patch +Subject: [PATCH 200/304] 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 dd65116b8..bf53bff71 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 016da897d4bc94c6580dcc6ce0de35ddf9730df2 Mon Sep 17 00:00:00 2001 +From ab2675856e8b7ccd80dab8b5ad4360259f7fe3ff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 19:39:56 +0200 -Subject: [PATCH 201/298] rt: Add the preempt-rt lock replacement APIs +Subject: [PATCH 201/304] 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 6fa8cdc82..808786773 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 d8622b6862b1f1162fca84808a78e81da172a935 Mon Sep 17 00:00:00 2001 +From c079a218231542fa79ca290156e8b68ff8d5b378 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 19 Sep 2011 11:09:27 +0200 -Subject: [PATCH 202/298] rwlocks: Fix section mismatch +Subject: [PATCH 202/304] 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 9125afaaf..ddff9d965 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 a17b52b30396f2dfcc30f4370ef970e11d76ac74 Mon Sep 17 00:00:00 2001 +From 37b6958ae54b40980e2d9ba8193b48dd1c5fab24 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:08:38 +0200 -Subject: [PATCH 203/298] timer-handle-idle-trylock-in-get-next-timer-irq.patch +Subject: [PATCH 203/304] 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 1ae88074e..d1f1fcbb3 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 7dcc2a66fa5f598ba467be473a3389c01530d6d1 Mon Sep 17 00:00:00 2001 +From 42ae0f60da9ba98d9dc5b4bc2bfd8043ed718d76 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:30 -0500 -Subject: [PATCH 204/298] RCU: Force PREEMPT_RCU for PREEMPT-RT +Subject: [PATCH 204/304] 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 c542f69ab..fa3730380 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 9799fa15ec8ebbe685ef2085940c169eb227d2e2 Mon Sep 17 00:00:00 2001 +From a23cbb2ceaf5e0aad448b625c274aa4cd7d220ae Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Sat, 13 Aug 2011 00:23:17 +0200 -Subject: [PATCH 205/298] rcu: Frob softirq test +Subject: [PATCH 205/304] 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 cd181987b..be0c4825a 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 ff20dc4deb7a92fdf5bdb261c2e27b359d0937e1 Mon Sep 17 00:00:00 2001 +From 08c62a511fc912a29a7687f89d67fd20d4e5f93a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 5 Oct 2011 11:59:38 -0700 -Subject: [PATCH 206/298] rcu: Merge RCU-bh into RCU-preempt +Subject: [PATCH 206/304] 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 03e8480d3..f9fae79b5 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 5985e769f0b9b8a3cbb575401b2b07cc2b48582e Mon Sep 17 00:00:00 2001 +From e2bf9703045e8fb0ebbb465c3a097cf1e56fd9d7 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Mon, 14 Nov 2011 02:44:42 +0100 -Subject: [PATCH 207/298] rcu: Fix macro substitution for synchronize_rcu_bh() +Subject: [PATCH 207/304] 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 e93875fe0..e5cdb43f9 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 f954a5c9f1b83837da409e8fda2749a59ae3ebdd Mon Sep 17 00:00:00 2001 +From 427a72827899e75e3282e7e5bf8959c99607f6e7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 10:57:54 +0100 -Subject: [PATCH 208/298] rcu-more-fallout.patch +Subject: [PATCH 208/304] 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 1be553018..1905c9fcb 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 472532bd7b49c8430900850a26ecc29ba94734d9 Mon Sep 17 00:00:00 2001 +From c26d02454af5ab17e824425c94d68170fcf269f7 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 5 Oct 2011 11:45:18 -0700 -Subject: [PATCH 209/298] rcu: Make ksoftirqd do RCU quiescent states +Subject: [PATCH 209/304] 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 b1c803302..a6c5fb555 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 cab8903fe81d9dd2f9104e6d32eeea7f6c859882 Mon Sep 17 00:00:00 2001 +From 73d8ca4d3a01ea926a212839b537bbfc5e640221 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 12:51:28 +0100 -Subject: [PATCH 210/298] rt/rcutree: Move misplaced prototype +Subject: [PATCH 210/304] 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 9a7af7e5c..b613d2c93 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 effb1fd6f8ca7dbe916779736205ddb79bbaa694 Mon Sep 17 00:00:00 2001 +From 66fc5bf14e63f3fa92142cf09662b221943d7324 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 15 Jun 2011 11:02:21 +0200 -Subject: [PATCH 211/298] lglocks-rt.patch +Subject: [PATCH 211/304] 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 9274bc7db..6ac015f28 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 a965f3dfbbd693326fac3a99b364ca51dd5d2a2f Mon Sep 17 00:00:00 2001 +From d98df1789fbf550ae0275fcf2f174a994ded6da5 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:01 -0500 -Subject: [PATCH 212/298] serial: 8250: Clean up the locking for -rt +Subject: [PATCH 212/304] 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 7ed0c9c2b..34c5c92eb 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 30525cac8bcd0b189e864876a0b9ea68df1bd9a2 Mon Sep 17 00:00:00 2001 +From 5b0ea762ee688c55c5869cc87425c6c3243fc02a Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Fri, 3 Jul 2009 08:30:01 -0500 -Subject: [PATCH 213/298] serial: 8250: Call flush_to_ldisc when the irq is +Subject: [PATCH 213/304] 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 53c9fe657..6f0e2ba06 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 f216a0fa3e25861282565d122d17fcfe56f321b6 Mon Sep 17 00:00:00 2001 +From f068033dcbb68fc762bbc508a16de52ed98a740b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 28 Jul 2011 13:32:57 +0200 -Subject: [PATCH 214/298] drivers-tty-fix-omap-lock-crap.patch +Subject: [PATCH 214/304] 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 b610de1ea..0ba754b65 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 7be68e7b751323c2a22f1258ccb80cf62fb09401 Mon Sep 17 00:00:00 2001 +From fe9a38949b1d4a78120e33541e7e1fd28b164eb3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar Date: Wed, 14 Dec 2011 13:05:54 +0100 -Subject: [PATCH 215/298] rt: Improve the serial console PASS_LIMIT +Subject: [PATCH 215/304] 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 cc126d6ff..9dccd3da3 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 8b9371d9b807b40d1860883c1aeb05025f56d86d Mon Sep 17 00:00:00 2001 +From fa03ac0460f1f2d2abc26e8c84b683f644ff839b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 19 Jul 2009 08:44:27 -0500 -Subject: [PATCH 216/298] fs: namespace preemption fix +Subject: [PATCH 216/304] 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 0edd6b566..b2922d564 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 ce8588aba474e408c6458f07c4ced47981c0deb7 Mon Sep 17 00:00:00 2001 +From c2c951c2e10c88815205a07000136b41283c97ba Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 4 Jul 2011 09:48:40 +0200 -Subject: [PATCH 217/298] mm-protect-activate-switch-mm.patch +Subject: [PATCH 217/304] 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 e7bac53a2..7657b533f 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 b01b871e60095faf5fce8934921433aa0204b963 Mon Sep 17 00:00:00 2001 +From 8a00340870c90e08e45ea1ba86a893432be70d0d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 14 Jun 2011 17:05:09 +0200 -Subject: [PATCH 218/298] fs-block-rt-support.patch +Subject: [PATCH 218/304] 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 9a7d9cbaa..da74b1130 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 86b31cf156387d5dbefb1aa949e69ee0f20e429e Mon Sep 17 00:00:00 2001 +From 3d5ce61900afa981146bc0e9cbc0cf2a08cb2e74 Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Fri, 3 Jul 2009 08:44:12 -0500 -Subject: [PATCH 219/298] fs: ntfs: disable interrupt only on !RT +Subject: [PATCH 219/304] 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 debfac918..05933b0d9 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 b7151fc1029f126d7864afe2e094824282d0ec87 Mon Sep 17 00:00:00 2001 +From 43da05f843fae1309d924547113838b02812b35a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 13 Dec 2010 16:33:39 +0100 -Subject: [PATCH 220/298] x86: Convert mce timer to hrtimer +Subject: [PATCH 220/304] 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 c7d3ac2e2..ada59fb1b 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 0e72308e8a14e50af2d3c554fb253b10e713ac79 Mon Sep 17 00:00:00 2001 +From 52892693d189c7da839dbfc805efde9cfd52df39 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 16 Dec 2010 14:25:18 +0100 -Subject: [PATCH 221/298] x86: stackprotector: Avoid random pool on rt +Subject: [PATCH 221/304] 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 eda8d5c8b..af2ff33ba 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 d4abfeab8cc2e525d8c7f45b9231dda458df7cf5 Mon Sep 17 00:00:00 2001 +From 870ec90cce7efe1feba289fda724fc070d4f055c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 26 Jul 2009 02:21:32 +0200 -Subject: [PATCH 222/298] x86: Use generic rwsem_spinlocks on -rt +Subject: [PATCH 222/304] 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 2c2667a36..5815b0125 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 c546a8d2cf76a757b72e4da460ea3e8520cdfa88 Mon Sep 17 00:00:00 2001 +From 9988f4deba3b4efc41485857855061ddbf6dcde2 Mon Sep 17 00:00:00 2001 From: Andi Kleen Date: Fri, 3 Jul 2009 08:44:10 -0500 -Subject: [PATCH 223/298] x86: Disable IST stacks for debug/int 3/stack fault +Subject: [PATCH 223/304] 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 93d93a0e3..dc46670db 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 7fc7a4d7f4fdc07b0757c15d5c6963b1c8d9916c Mon Sep 17 00:00:00 2001 +From 3ca1605af7b1f34eff48e8ccbf5ece49472415e6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:42:26 +0200 -Subject: [PATCH 224/298] workqueue-use-get-cpu-light.patch +Subject: [PATCH 224/304] workqueue-use-get-cpu-light.patch Signed-off-by: Thomas Gleixner --- diff --git a/debian/patches/features/all/rt/0225-epoll.patch.patch b/debian/patches/features/all/rt/0225-epoll.patch.patch index 5c494823f..04cfe78ba 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 bbca654d3a04cd5ab82ac514c69358a0ba1cf3ec Mon Sep 17 00:00:00 2001 +From 928b701dcf90a55589b8310715ba35f899ece376 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 8 Jul 2011 16:35:35 +0200 -Subject: [PATCH 225/298] epoll.patch +Subject: [PATCH 225/304] 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 826f9be2c..e3b749cd0 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 0ede27ff27872e80a26ea8c4e86d821ada3dfb97 Mon Sep 17 00:00:00 2001 +From 029f3507b18982166c6825c82055b88438ce5797 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 11:39:36 +0200 -Subject: [PATCH 226/298] mm-vmalloc.patch +Subject: [PATCH 226/304] 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 0581e1f6c..cc0b86861 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 86354845f3e352a2116529ee087c52aba81453b2 Mon Sep 17 00:00:00 2001 +From b7ce12c46c3511b0752206fd6194ee982ab778b1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 21:41:35 +0200 -Subject: [PATCH 227/298] debugobjects-rt.patch +Subject: [PATCH 227/304] 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 68bec150b..60138c232 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 3d9efc7c2bb82b91525983bf8169d0f15fdd62a5 Mon Sep 17 00:00:00 2001 +From e2fc24bbd29c7180417a507caf141845a1e93f79 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Jul 2011 11:03:16 +0200 -Subject: [PATCH 228/298] jump-label-rt.patch +Subject: [PATCH 228/304] 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 ff5d0e2a4..b056d31af 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 38037361439a722686b9e003e07b89704e566952 Mon Sep 17 00:00:00 2001 +From 0e23659b34d601730b19615ad92f5943f3b6bd37 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 12 Jul 2011 15:38:34 +0200 -Subject: [PATCH 229/298] skbufhead-raw-lock.patch +Subject: [PATCH 229/304] skbufhead-raw-lock.patch Signed-off-by: Thomas Gleixner --- 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 d831b623d..fc42c6bc6 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 8fd6ee840bc3436eb0ed299a8138381edbc20908 Mon Sep 17 00:00:00 2001 +From d004976c05e5f730e0458b280e889408d07e5080 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 13 Jul 2011 14:05:05 +0200 -Subject: [PATCH 230/298] x86-no-perf-irq-work-rt.patch +Subject: [PATCH 230/304] 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 5ed6e57f7..31e9fb8bd 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 2fa4d88c593e9a1abfb868e28a11a779c8484bbb Mon Sep 17 00:00:00 2001 +From 7c3dd8fdb4e2f242f6dc44cf89e22429219decfc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 17 Jul 2011 22:43:07 +0200 -Subject: [PATCH 231/298] console-make-rt-friendly.patch +Subject: [PATCH 231/304] 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 2a99df0b9..535b97f44 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 7492acf602eee7c39db43438425beb517fb6c41c Mon Sep 17 00:00:00 2001 +From 72d8f0ca84ffbae97dfa2510bdf0fb412cc79d2c Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Mon, 12 Dec 2011 14:35:56 +0100 -Subject: [PATCH 232/298] printk: Disable migration instead of preemption +Subject: [PATCH 232/304] 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 9790e70fe..d656719e9 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 06430fa67c91cd7a16aaaba77c249a4f148a62cc Mon Sep 17 00:00:00 2001 +From 1267bcf57d7ab7db8e20dc7e8441dc57ccaba7c9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 10 Apr 2012 14:34:18 -0400 -Subject: [PATCH 233/298] power-use-generic-rwsem-on-rt +Subject: [PATCH 233/304] 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 32968124b..b123061cc 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 2aef2c191997c9482ba16398b51da30c667363b3 Mon Sep 17 00:00:00 2001 +From 01a40c5fd4ba4d2d651f3e87ead1a227a632afcb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:08:34 +0200 -Subject: [PATCH 234/298] power-disable-highmem-on-rt.patch +Subject: [PATCH 234/304] 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 ce2bc8269..e3f7b9313 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 ad3b4a8a79941be2fabfe5a28c8e67e6ac276e66 Mon Sep 17 00:00:00 2001 +From 2328b2c0f470c13880bfc6f993ae4ef5b4c25576 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:09:28 +0200 -Subject: [PATCH 235/298] arm-disable-highmem-on-rt.patch +Subject: [PATCH 235/304] 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 c7234235e..ac3d8d99d 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 acccaf2a0c1ea39248b3fc3c5f1a1911781c94d0 Mon Sep 17 00:00:00 2001 +From 93e239a8b594c1e5dd660a4bfd35f775c8c005f0 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 1 May 2010 18:29:35 +0200 -Subject: [PATCH 236/298] ARM: at91: tclib: Default to tclib timer for RT +Subject: [PATCH 236/304] 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 e0212401a..e9c43d302 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 ab5b6e13c649385eeab2e0dbdf20564cc8e4aefd Mon Sep 17 00:00:00 2001 +From 7a60ba5735aff3cf7ec5d993b5b873abfd51774b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 18 Jul 2011 17:10:12 +0200 -Subject: [PATCH 237/298] mips-disable-highmem-on-rt.patch +Subject: [PATCH 237/304] 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 e1c152277..8766f2be6 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 6ca5b3b41f0547ac9524ead6b012b1abe1e39237 Mon Sep 17 00:00:00 2001 +From d25f7b5c223a5aebccf3ec8f7eff73abb4d93659 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 6 Oct 2011 10:48:39 -0400 -Subject: [PATCH 238/298] net: Avoid livelock in net_tx_action() on RT +Subject: [PATCH 238/304] 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 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 ca348efe7..d6e5aa152 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 c37167d7735a03f6a14b72b1c36326e0a772415f Mon Sep 17 00:00:00 2001 +From 9eed9a0b1e68a5454c6a549543418b6dd9107975 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Tue, 19 Jul 2011 13:51:17 +0100 -Subject: [PATCH 239/298] ping-sysrq.patch +Subject: [PATCH 239/304] 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 f48ad6d3f..319e8d0ae 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 7ed28d92fd3349582bbe7d96280650aafcdb8568 Mon Sep 17 00:00:00 2001 +From bd53e28674cdf389afb59a0957e1c9670a5d41aa Mon Sep 17 00:00:00 2001 From: Jason Wessel Date: Thu, 28 Jul 2011 12:42:23 -0500 -Subject: [PATCH 240/298] kgdb/serial: Short term workaround +Subject: [PATCH 240/304] 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 375e7f4a9..afba212bc 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 75d44a38999464f051f8b6edc2dfe1e9883cd038 Mon Sep 17 00:00:00 2001 +From 7cc7f89c15fa9995af0549bd2e53b479f6e0e240 Mon Sep 17 00:00:00 2001 From: Clark Williams Date: Sat, 30 Jul 2011 21:55:53 -0500 -Subject: [PATCH 241/298] add /sys/kernel/realtime entry +Subject: [PATCH 241/304] 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 0735c24a9..51423ec09 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 3ab5f5df036ecb46f0e796d6ebdb611a6c76f489 Mon Sep 17 00:00:00 2001 +From 4d29cb3fcddbe73a1d16764ec971cf7f9e0cbcb3 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Thu, 28 Jul 2011 10:43:51 +0200 -Subject: [PATCH 242/298] mm, rt: kmap_atomic scheduling +Subject: [PATCH 242/304] 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 @@ -76,7 +76,7 @@ index ada175e..20f1573 100644 * Leave lazy mode, flushing any hypercalls made here. * This must be done before restoring TLS segments so diff --git a/include/linux/sched.h b/include/linux/sched.h -index a867df1..945d230 100644 +index 6d920a0..1d9c8a1 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -63,6 +63,7 @@ struct sched_param { 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 e83927f3d..d0eb399a3 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 eaa888a7b2c34fae3323ebd1b1315fe129fad7fe Mon Sep 17 00:00:00 2001 +From 1d30a4c2372b197e77d9d2225ddec43c84d65471 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Tue, 13 Sep 2011 15:09:40 +0200 -Subject: [PATCH 243/298] ipc/sem: Rework semaphore wakeups +Subject: [PATCH 243/304] 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 e95b663ec..d28f3cd77 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 3b06c38d24fc7c5896de73f8cb3a7c8995dd655e Mon Sep 17 00:00:00 2001 +From 0c3a7f27059adbeb1714b75d1c4feeef75de7b5c Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Fri, 23 Sep 2011 13:43:12 -0700 -Subject: [PATCH 244/293] sysrq: Allow immediate Magic SysRq output for +Subject: [PATCH 244/304] 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 776825e6e..0c37e3f73 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 c5c44ed06b1dc2c9924aa584f4f5c655c377f320 Mon Sep 17 00:00:00 2001 +From af3fa233bdfedac3f38e69e2334ef29cb9afeb01 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 6 Nov 2011 12:26:18 +0100 -Subject: [PATCH 245/298] x86-kvm-require-const-tsc-for-rt.patch +Subject: [PATCH 245/304] 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 526cd49fb..0a901f8e7 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 b240bfadf5a4512446e529538cce2b1f8cb732f9 Mon Sep 17 00:00:00 2001 +From bbc2ac26b968a2c55bfd59c243898b2f062abf80 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sat, 12 Nov 2011 14:00:48 +0100 -Subject: [PATCH 246/298] scsi-fcoe-rt-aware.patch +Subject: [PATCH 246/304] 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 5396698b4..787638a80 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 48370565aa760c9e94da6745502bd97824ddb4bf Mon Sep 17 00:00:00 2001 +From d5381a56692618b9947ff43f0de76f619bde95fc Mon Sep 17 00:00:00 2001 From: Peter Zijlstra Date: Mon, 14 Nov 2011 18:19:27 +0100 -Subject: [PATCH 247/298] x86: crypto: Reduce preempt disabled regions +Subject: [PATCH 247/304] 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 de3f91576..cf088639e 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 0c6cdcabfd70a99bb8c9bf3d4e7ed8a36f3e24f5 Mon Sep 17 00:00:00 2001 +From 196ca63d197c8c89c7fab8fa441bc6716bf7afd4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Mon, 14 Nov 2011 23:06:09 +0100 -Subject: [PATCH 248/298] dm: Make rt aware +Subject: [PATCH 248/304] 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 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 1e136cbed..7eea575cb 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 e64330b08dbb9abf525e0426e725d074e87fb2b8 Mon Sep 17 00:00:00 2001 +From 88710be5b6081567129ee16c0ca76c849af0a923 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 14 Dec 2011 01:03:49 +0100 -Subject: [PATCH 249/298] cpumask: Disable CONFIG_CPUMASK_OFFSTACK for RT +Subject: [PATCH 249/304] 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 6d35acc56..b3e0dd669 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 daef585938454b5d31c02567d00854924c450eaf Mon Sep 17 00:00:00 2001 +From 87f3793f1f65c44ad72b726f0cef9f6cad7c539d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 22 Feb 2012 12:03:30 +0100 -Subject: [PATCH 250/298] seqlock: Prevent rt starvation +Subject: [PATCH 250/304] 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 f8c0c92e1..07fd3c697 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 103ed6ef99af54474641246902ec754a59a6feb6 Mon Sep 17 00:00:00 2001 +From 6d58e1c8eadd1f6fcfa646ab508ae8e74b8277c6 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:28 -0500 -Subject: [PATCH 251/298] timer: Fix hotplug for -rt +Subject: [PATCH 251/304] 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 b74e2a0db..61e077834 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 5a1b215147634fd748cd36d7c51874b92722a591 Mon Sep 17 00:00:00 2001 +From 64de53bdd536348f1f5314e693c0066e9b295b32 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:29 -0500 -Subject: [PATCH 252/298] futex/rt: Fix possible lockup when taking pi_lock in +Subject: [PATCH 252/304] 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 063d9f862..674064d18 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 fb37767d687e7a30dcdda793c6e88f14ae08ceb1 Mon Sep 17 00:00:00 2001 +From a4df3d67b04b2b7faa1ad8b64ffd41b4ed541088 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:32 -0500 -Subject: [PATCH 253/298] ring-buffer/rt: Check for irqs disabled before +Subject: [PATCH 253/304] 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 338d27e25..fcc0c2f81 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 2b1331fd8892050b798d2e49b653fce2632d1a69 Mon Sep 17 00:00:00 2001 +From 1592f3a5438d08531270ca45d82a1e4a59fd02a8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:33 -0500 -Subject: [PATCH 254/298] sched/rt: Fix wait_task_interactive() to test +Subject: [PATCH 254/304] 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 ba3ddde..0b263dd 100644 +index 364a863..bba3c83 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 87e810b0f..5a68ea347 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 5ceed54984b8510b3b0bfa335c5f6eec717de4fe Mon Sep 17 00:00:00 2001 +From 548516d041712d2a2553e56f7bf8b1f6fb1b765b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 1 Mar 2012 13:55:30 -0500 -Subject: [PATCH 255/298] lglock/rt: Use non-rt for_each_cpu() in -rt code +Subject: [PATCH 255/304] 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 eeada0b78..3bdf050eb 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 87489ca86ec0ed0a3d9f053ea1aaeb923f9065f9 Mon Sep 17 00:00:00 2001 +From c98c8f14aaaf1e4c8a67189be82e5f6627e321d4 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Fri, 2 Mar 2012 10:36:57 -0500 -Subject: [PATCH 256/298] cpu: Make hotplug.lock a "sleeping" spinlock on RT +Subject: [PATCH 256/304] 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 4ed9bbd41..d1d7dc978 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 e923a600abc01d39dbfd0c7d16bb9739ec6c726e Mon Sep 17 00:00:00 2001 +From 26c082dcd6ccc39a97437576e4c6102af36f7681 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 13 Nov 2011 17:17:09 +0100 -Subject: [PATCH 257/298] softirq: Check preemption after reenabling +Subject: [PATCH 257/304] softirq: Check preemption after reenabling interrupts raise_softirq_irqoff() disables interrupts and wakes the softirq 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 80978423c..8ad4ac0ef 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 ee2cdbed652facf2f8360860cd642e7f48ae79db Mon Sep 17 00:00:00 2001 +From 44aaebdb3b563d6bfd344d21099d0bd0842f5aa1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 20:51:03 +0100 -Subject: [PATCH 258/298] rt: Introduce cpu_chill() +Subject: [PATCH 258/304] 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 cde069e62..0ef9a07f4 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 b5ce6335dbcfc0bf86b29906332d18e2f604cdca Mon Sep 17 00:00:00 2001 +From 97905d47d7fb1a42624b9af3040c5a3de0820546 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:00:34 +0100 -Subject: [PATCH 259/298] fs: dcache: Use cpu_chill() in trylock loops +Subject: [PATCH 259/304] 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 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 27fe2aa61..9971fd330 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 e64484b0a48b9e1bd8b257e41d49e0e5425779a4 Mon Sep 17 00:00:00 2001 +From 81335e3993992796046fda80f4c751af3ad5da37 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 7 Mar 2012 21:10:04 +0100 -Subject: [PATCH 260/298] net: Use cpu_chill() instead of cpu_relax() +Subject: [PATCH 260/304] 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 @@ -15,7 +15,7 @@ Cc: stable-rt@vger.kernel.org 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c -index 85afc13..684f510 100644 +index 835fcea..0b3c649 100644 --- a/net/packet/af_packet.c +++ b/net/packet/af_packet.c @@ -89,6 +89,7 @@ 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 1db380ad5..bf8fa8e55 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 886fb714c03cee8f3876b374e8f002aaf114e52e Mon Sep 17 00:00:00 2001 +From 671905468353513e164a84dd6c71955da8bfaab3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 24 Jul 2011 12:11:43 +0200 -Subject: [PATCH 261/298] kconfig-disable-a-few-options-rt.patch +Subject: [PATCH 261/304] 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 590f32c09..2891ae1e7 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 946a4cbe8ccee0cc88ba0f72f82e0ab0dbeb4b92 Mon Sep 17 00:00:00 2001 +From e9c54fcac4917a7cfc0a840831ba43ab746f85f8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 29 Jun 2011 14:58:57 +0200 -Subject: [PATCH 262/298] kconfig-preempt-rt-full.patch +Subject: [PATCH 262/304] 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 6b544f308..2e8684f4a 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 e0dbc33222c88591103c9e622324e875c55f49e5 Mon Sep 17 00:00:00 2001 +From b19f688bbe0c85d4a2c69529c81b18c0132224e8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 16 Apr 2012 21:51:54 -0400 -Subject: [PATCH 263/298] rt: Make migrate_disable/enable() and +Subject: [PATCH 263/304] 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,10 +28,10 @@ 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 0b263dd..91ddbd8 100644 +index bba3c83..1dfdae9 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4618,7 +4618,7 @@ void migrate_disable(void) +@@ -4619,7 +4619,7 @@ void migrate_disable(void) p->migrate_disable = 1; preempt_enable(); } @@ -40,7 +40,7 @@ index 0b263dd..91ddbd8 100644 void migrate_enable(void) { -@@ -4670,7 +4670,7 @@ void migrate_enable(void) +@@ -4671,7 +4671,7 @@ void migrate_enable(void) unpin_current_cpu(); preempt_enable(); } 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 9fb0f6ec4..7d283e8cb 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 51949a404a7c6f1c11a3138f846567e2c0274662 Mon Sep 17 00:00:00 2001 +From 8247b56159266fc24cd7c51ba57543f437b12529 Mon Sep 17 00:00:00 2001 From: John Kacur Date: Fri, 27 Apr 2012 12:48:46 +0200 -Subject: [PATCH 264/298] scsi: qla2xxx: Use local_irq_save_nort() in +Subject: [PATCH 264/304] 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 faa724c3d..bb902d677 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 58ce0ec56ed534069f587601ea8ec5856bc28503 Mon Sep 17 00:00:00 2001 +From f2144f19fc4741ccdd74ec778b2e904ba3b41d5b Mon Sep 17 00:00:00 2001 From: Priyanka Jain Date: Thu, 17 May 2012 09:35:11 +0530 -Subject: [PATCH 265/298] net,RT:REmove preemption disabling in netif_rx() +Subject: [PATCH 265/304] 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 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 fefcb1821..f5d459439 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 d1257f67fe0682cc420ba9dbfb7e9276330902b5 Mon Sep 17 00:00:00 2001 +From d6199c8436b7edcb4dfb4e06b93d65d5c3dfed0d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 22 May 2012 21:15:10 +0200 -Subject: [PATCH 266/298] mips-remove-smp-reserve-lock.patch +Subject: [PATCH 266/304] 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 57ddb4f43..dce983fec 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 89856e5e317a109c57299038795707f3f9042cd4 Mon Sep 17 00:00:00 2001 +From d352e46ccc0c123611b40f1783acc19cf72c43ce Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:17 +0000 -Subject: [PATCH 267/298] Latency histogramms: Cope with backwards running +Subject: [PATCH 267/304] Latency histogramms: Cope with backwards running local trace clock Thanks to the wonders of modern technology, the local trace clock can @@ -29,7 +29,7 @@ Signed-off-by: Steven Rostedt 2 files changed, 38 insertions(+), 35 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 945d230..bcd4597 100644 +index 1d9c8a1..5be568f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1589,7 +1589,7 @@ struct task_struct { 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 8be7479fa..fc38af120 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 f25cb7fd3a794619bdec6afd84a6cf19e3d14541 Mon Sep 17 00:00:00 2001 +From 83a705c58e9c68a8e92212c204c5620795f95ec9 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:18 +0000 -Subject: [PATCH 268/298] Latency histograms: Adjust timer, if already elapsed +Subject: [PATCH 268/304] 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 17801c919..6c6ffe666 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 9237f6f336be1b353bc585844d98baae7bbcf423 Mon Sep 17 00:00:00 2001 +From a0ad116d5798f0cd3dbb5c7e418bf2de51e29948 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:18 +0000 -Subject: [PATCH 269/298] Disable RT_GROUP_SCHED in PREEMPT_RT_FULL +Subject: [PATCH 269/304] 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 e5db00bc6..a76d34aa0 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 462712721a06d0a3907cede5caa699239f9f9e8c Mon Sep 17 00:00:00 2001 +From bc89dd60f62863096d726d48f739369c8c886441 Mon Sep 17 00:00:00 2001 From: Carsten Emde Date: Wed, 11 Jul 2012 22:05:19 +0000 -Subject: [PATCH 270/298] Latency histograms: Detect another yet overlooked +Subject: [PATCH 270/304] 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 c8cd068a9..8aac4f557 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 41e27a110d1e242e239d91400699057e75965dd0 Mon Sep 17 00:00:00 2001 +From f7592322c116c981674e8b60487912fe56e586b8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 11 Jul 2012 22:05:19 +0000 -Subject: [PATCH 271/298] slab: Prevent local lock deadlock +Subject: [PATCH 271/304] 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 71c016c50..d41ec3254 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 1b2327088df3f34bba7051ab1f6b693d4f1c5880 Mon Sep 17 00:00:00 2001 +From d55e748b6d4caf97a5673851210c8d012fa7982c Mon Sep 17 00:00:00 2001 From: Mike Galbraith Date: Wed, 11 Jul 2012 22:05:20 +0000 -Subject: [PATCH 272/298] fs, jbd: pull your plug when waiting for space +Subject: [PATCH 272/304] 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 b7a300b45..f50213b89 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 d461ed5682184e654162d1366cbf2267dfb43db6 Mon Sep 17 00:00:00 2001 +From 5de1b1988d6ece5107831eae7e6dcaace5eca0c2 Mon Sep 17 00:00:00 2001 From: Yong Zhang Date: Wed, 11 Jul 2012 22:05:21 +0000 -Subject: [PATCH 273/298] perf: Make swevent hrtimer run in irq instead of +Subject: [PATCH 273/304] 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 03174ff38..c884e0aed 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 a0abf916e420e7c011d50306056e72e41ad3995f Mon Sep 17 00:00:00 2001 +From 5049abd638357ceb8ac5c0e68c1207c916fe8e2b Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Mon, 16 Jul 2012 08:07:43 +0000 -Subject: [PATCH 274/298] cpu/rt: Rework cpu down for PREEMPT_RT +Subject: [PATCH 274/304] 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 @@ -55,7 +55,7 @@ Signed-off-by: Thomas Gleixner 3 files changed, 285 insertions(+), 40 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index bcd4597..03498cc 100644 +index 5be568f..fa24643 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1937,6 +1937,10 @@ extern void do_set_cpus_allowed(struct task_struct *p, @@ -434,10 +434,10 @@ 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 91ddbd8..87654e6 100644 +index 1dfdae9..af7b82b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4596,7 +4596,7 @@ void migrate_disable(void) +@@ -4597,7 +4597,7 @@ void migrate_disable(void) { struct task_struct *p = current; @@ -446,7 +446,7 @@ index 91ddbd8..87654e6 100644 #ifdef CONFIG_SCHED_DEBUG p->migrate_disable_atomic++; #endif -@@ -4627,7 +4627,7 @@ void migrate_enable(void) +@@ -4628,7 +4628,7 @@ void migrate_enable(void) unsigned long flags; struct rq *rq; @@ -455,7 +455,7 @@ index 91ddbd8..87654e6 100644 #ifdef CONFIG_SCHED_DEBUG p->migrate_disable_atomic--; #endif -@@ -6553,6 +6553,84 @@ void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask) +@@ -6554,6 +6554,84 @@ void do_set_cpus_allowed(struct task_struct *p, const struct cpumask *new_mask) cpumask_copy(&p->cpus_allowed, new_mask); } 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 986ee2125..2cc6cc081 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 4e9b0abdea282a38f986faebc9081f5f44dbb34c Mon Sep 17 00:00:00 2001 +From e099dc645709163c8afa56c21bfea891dbaa7aaf Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 17 Jul 2012 10:45:59 -0400 -Subject: [PATCH 275/298] cpu/rt: Fix cpu_hotplug variable initialization +Subject: [PATCH 275/304] 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 26e74a004..a17dfacc7 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 908c8dd798377bceda95928d7e6479eec5c45d12 Mon Sep 17 00:00:00 2001 +From e19da53b62031b96094c92049f839ede9f7b56ab Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 2 Aug 2012 18:56:52 -0400 -Subject: [PATCH 276/298] time/rt: Fix up leap-second backport for RT changes +Subject: [PATCH 276/304] 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 8f2643105..d4a871526 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 5ddc245e952ca04d7abb528f02bf40f91c0312fc Mon Sep 17 00:00:00 2001 +From d13a3a64952ae11e1609262eb713cabf07f7f8d5 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Wed, 16 May 2012 18:09:36 -0700 -Subject: [PATCH 277/298] fix printk flush of messages +Subject: [PATCH 277/304] 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 dbc9d0674..daee61ab3 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 3688de79ea6574b442478d06aa16419dd4fb3186 Mon Sep 17 00:00:00 2001 +From 414c2a5fa1f738712e3e4a735a34439309a55cf6 Mon Sep 17 00:00:00 2001 From: Frank Rowand Date: Wed, 16 May 2012 18:05:53 -0700 -Subject: [PATCH 278/293] fix printk flush of messages +Subject: [PATCH 278/304] fix printk flush of messages Reverse preempt-rt-allow-immediate-magic-sysrq-output-for-preempt_rt_full.patch 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 index 135915302..1994f76b2 100644 --- 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 @@ -1,7 +1,7 @@ -From 993d4add01527a662c9506544257031b5a46b7ba Mon Sep 17 00:00:00 2001 +From 475f71f97e148f27f3159c79465e598a47c56457 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 21 Aug 2012 20:38:50 +0200 -Subject: [PATCH 279/298] random: Make it work on rt +Subject: [PATCH 279/304] 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 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 index 8364de929..7dfe7915e 100644 --- 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 @@ -1,7 +1,7 @@ -From 27224f5774fae12b481f475eb894f2aa2b45934a Mon Sep 17 00:00:00 2001 +From f52af834a1520bf454e3682df5f73513ec844921 Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Thu, 4 Oct 2012 11:02:04 -0400 -Subject: [PATCH 280/298] softirq: Init softirq local lock after per cpu +Subject: [PATCH 280/304] 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 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 index 56c879c69..59dcd0db0 100644 --- 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 @@ -1,7 +1,7 @@ -From 1fe7a308f2d46a4e56c1bfd8b90a5303886454d0 Mon Sep 17 00:00:00 2001 +From e41e5d1eea11b58b93e3c53d1cdd6fe0e9d273ef Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 26 Sep 2012 16:20:00 +0200 -Subject: [PATCH 281/298] mm: slab: Fix potential deadlock +Subject: [PATCH 281/304] mm: slab: Fix potential deadlock ============================================= [ INFO: possible recursive locking detected ] 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 index be2c439af..39d0c89da 100644 --- 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 @@ -1,7 +1,7 @@ -From 3041a026e509882af256f4d3eecd97c0e90ae1b1 Mon Sep 17 00:00:00 2001 +From 7cc89fb940cf95ed876cc4029e4e9619bf29979e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 27 Sep 2012 11:11:46 +0200 -Subject: [PATCH 282/298] mm: page_alloc: Use local_lock_on() instead of plain +Subject: [PATCH 282/304] mm: page_alloc: Use local_lock_on() instead of plain spinlock The plain spinlock while sufficient does not update the local_lock 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 index daed33290..8199f4f4f 100644 --- 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 @@ -1,7 +1,7 @@ -From a48922656778147a5dfb68c78a856cd4b61fd65e Mon Sep 17 00:00:00 2001 +From ec1c7f6082f90c530e18938dc249c85d86d33818 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 28 Sep 2012 10:49:42 +0100 -Subject: [PATCH 283/298] rt: rwsem/rwlock: lockdep annotations +Subject: [PATCH 283/304] rt: rwsem/rwlock: lockdep annotations rwlocks and rwsems on RT do not allow multiple readers. Annotate the lockdep acquire functions accordingly. 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 index b0f608b64..aff6d3c28 100644 --- 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 @@ -1,7 +1,7 @@ -From 9acaaeb67c143513a8755dd3ec4626f65b314dd4 Mon Sep 17 00:00:00 2001 +From bf49c813c637b339b70264dbb8d84f0ccceeaff1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Fri, 5 Oct 2012 08:56:15 +0100 -Subject: [PATCH 284/298] sched: Better debug output for might sleep +Subject: [PATCH 284/304] 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. @@ -15,7 +15,7 @@ Signed-off-by: Steven Rostedt 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 03498cc..12317b6 100644 +index fa24643..e9854c5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1612,6 +1612,10 @@ struct task_struct { @@ -30,10 +30,10 @@ index 03498cc..12317b6 100644 #ifdef CONFIG_PREEMPT_RT_FULL diff --git a/kernel/sched.c b/kernel/sched.c -index 87654e6..cdf9484 100644 +index af7b82b..db46cd4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -4487,8 +4487,13 @@ void __kprobes add_preempt_count(int val) +@@ -4488,8 +4488,13 @@ void __kprobes add_preempt_count(int val) DEBUG_LOCKS_WARN_ON((preempt_count() & PREEMPT_MASK) >= PREEMPT_MASK - 10); #endif @@ -49,7 +49,7 @@ index 87654e6..cdf9484 100644 } EXPORT_SYMBOL(add_preempt_count); -@@ -4530,6 +4535,13 @@ static noinline void __schedule_bug(struct task_struct *prev) +@@ -4531,6 +4536,13 @@ static noinline void __schedule_bug(struct task_struct *prev) print_modules(); if (irqs_disabled()) print_irqtrace_events(prev); @@ -63,7 +63,7 @@ index 87654e6..cdf9484 100644 if (regs) show_regs(regs); -@@ -8912,6 +8924,13 @@ void __might_sleep(const char *file, int line, int preempt_offset) +@@ -8913,6 +8925,13 @@ void __might_sleep(const char *file, int line, int preempt_offset) debug_show_held_locks(current); if (irqs_disabled()) print_irqtrace_events(current); 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 index 52ad88dba..4dbfefec4 100644 --- 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 @@ -1,7 +1,7 @@ -From aa2affb66b00eed79b29f34c589f35b5b61af74e Mon Sep 17 00:00:00 2001 +From c1d8e6e0af29f5ee1e9fe403bed2b35a04608354 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 3 Oct 2012 17:21:53 +0100 -Subject: [PATCH 285/298] stomp_machine: Use mutex_trylock when called from +Subject: [PATCH 285/304] stomp_machine: Use mutex_trylock when called from inactive cpu If the stop machinery is called from inactive CPU we cannot use diff --git a/debian/patches/features/all/rt/0286-slab-Fix-up-stable-merge-of-slab-init_lock_keys.patch b/debian/patches/features/all/rt/0286-slab-Fix-up-stable-merge-of-slab-init_lock_keys.patch index b4307fec1..6d07aed14 100644 --- a/debian/patches/features/all/rt/0286-slab-Fix-up-stable-merge-of-slab-init_lock_keys.patch +++ b/debian/patches/features/all/rt/0286-slab-Fix-up-stable-merge-of-slab-init_lock_keys.patch @@ -1,7 +1,7 @@ -From fe9d6a8c0861ae9b01a6bd9c84b73656e52802d8 Mon Sep 17 00:00:00 2001 +From 6586dcbef57074addba7b23f1624cd27048f771f Mon Sep 17 00:00:00 2001 From: Steven Rostedt Date: Tue, 16 Oct 2012 17:00:19 -0400 -Subject: [PATCH 286/298] slab: Fix up stable merge of slab init_lock_keys() +Subject: [PATCH 286/304] slab: Fix up stable merge of slab init_lock_keys() There was a stable fix that moved the init_lock_keys() to after the enable_cpucache(). But -rt changed this function to diff --git a/debian/patches/features/all/rt/0287-hrtimer-Raise-softirq-if-hrtimer-irq-stalled.patch b/debian/patches/features/all/rt/0287-hrtimer-Raise-softirq-if-hrtimer-irq-stalled.patch index e3ec5afe7..3c8ac410a 100644 --- a/debian/patches/features/all/rt/0287-hrtimer-Raise-softirq-if-hrtimer-irq-stalled.patch +++ b/debian/patches/features/all/rt/0287-hrtimer-Raise-softirq-if-hrtimer-irq-stalled.patch @@ -1,7 +1,7 @@ -From 2c85a107158fc65911063d2f757a81818492dec9 Mon Sep 17 00:00:00 2001 +From 941791a67a803401d826193d9d6b9f89873a28ea Mon Sep 17 00:00:00 2001 From: Watanabe Date: Sun, 28 Oct 2012 11:13:44 +0100 -Subject: [PATCH 287/298] hrtimer: Raise softirq if hrtimer irq stalled +Subject: [PATCH 287/304] hrtimer: Raise softirq if hrtimer irq stalled When the hrtimer stall detection hits the softirq is not raised. diff --git a/debian/patches/features/all/rt/0288-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch b/debian/patches/features/all/rt/0288-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch index e977da3ae..43f11df49 100644 --- a/debian/patches/features/all/rt/0288-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch +++ b/debian/patches/features/all/rt/0288-rcu-Disable-RCU_FAST_NO_HZ-on-RT.patch @@ -1,7 +1,7 @@ -From 7099e711187bc92aede73564cfd0ef1c37b1f5dc Mon Sep 17 00:00:00 2001 +From 2be36c915360ef9fc6dd398ca4bda36c8055cc2f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 13:26:09 +0000 -Subject: [PATCH 288/298] rcu: Disable RCU_FAST_NO_HZ on RT +Subject: [PATCH 288/304] rcu: Disable RCU_FAST_NO_HZ on RT This uses a timer_list timer from the irq disabled guts of the idle code. Disable it for now to prevent wreckage. diff --git a/debian/patches/features/all/rt/0289-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch b/debian/patches/features/all/rt/0289-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch index 1b9a438f3..75011e163 100644 --- a/debian/patches/features/all/rt/0289-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch +++ b/debian/patches/features/all/rt/0289-net-netfilter-Serialize-xt_write_recseq-sections-on-.patch @@ -1,7 +1,7 @@ -From 2d05939d1f09da2ad1228bdfecc9a5626d868155 Mon Sep 17 00:00:00 2001 +From 9d480f5703e87aa6038bbdf5a5acd586ea54e859 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Sun, 28 Oct 2012 11:18:08 +0100 -Subject: [PATCH 289/298] net: netfilter: Serialize xt_write_recseq sections +Subject: [PATCH 289/304] net: netfilter: Serialize xt_write_recseq sections on RT The netfilter code relies only on the implicit semantics of diff --git a/debian/patches/features/all/rt/0290-sched-Adjust-sched_reset_on_fork-when-nothing-else-c.patch b/debian/patches/features/all/rt/0290-sched-Adjust-sched_reset_on_fork-when-nothing-else-c.patch index fa3b1193b..b74c92e5b 100644 --- a/debian/patches/features/all/rt/0290-sched-Adjust-sched_reset_on_fork-when-nothing-else-c.patch +++ b/debian/patches/features/all/rt/0290-sched-Adjust-sched_reset_on_fork-when-nothing-else-c.patch @@ -1,7 +1,7 @@ -From cb99ebe9c273cd4cadbffe7a9d062a8adef78342 Mon Sep 17 00:00:00 2001 +From f2c534a60526cbe053f6be0e4036376c47e88171 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 20 Dec 2012 14:58:00 +0100 -Subject: [PATCH 290/298] sched: Adjust sched_reset_on_fork when nothing else +Subject: [PATCH 290/304] sched: Adjust sched_reset_on_fork when nothing else changes If the policy and priority remain unchanged a possible modification of @@ -15,10 +15,10 @@ Cc: stable-rt@vger.kernel.org 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index cdf9484..9af4bbe 100644 +index db46cd4..1101ef2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5719,11 +5719,13 @@ recheck: +@@ -5720,11 +5720,13 @@ recheck: } /* diff --git a/debian/patches/features/all/rt/0291-sched-Queue-RT-tasks-to-head-when-prio-drops.patch b/debian/patches/features/all/rt/0291-sched-Queue-RT-tasks-to-head-when-prio-drops.patch index 58d853da5..3cda4f26f 100644 --- a/debian/patches/features/all/rt/0291-sched-Queue-RT-tasks-to-head-when-prio-drops.patch +++ b/debian/patches/features/all/rt/0291-sched-Queue-RT-tasks-to-head-when-prio-drops.patch @@ -1,7 +1,7 @@ -From 3104fc0dd7ec266a737551f930da984fff7b94bd Mon Sep 17 00:00:00 2001 +From 2cbf094ea6f2638c16a71547bc83d7e8af21c090 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 4 Dec 2012 08:56:41 +0100 -Subject: [PATCH 291/298] sched: Queue RT tasks to head when prio drops +Subject: [PATCH 291/304] sched: Queue RT tasks to head when prio drops The following scenario does not work correctly: @@ -50,10 +50,10 @@ Cc: stable-rt@vger.kernel.org 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 9af4bbe..ed7f001 100644 +index 1101ef2..f97f894 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5767,8 +5767,13 @@ recheck: +@@ -5768,8 +5768,13 @@ recheck: if (running) p->sched_class->set_curr_task(rq); diff --git a/debian/patches/features/all/rt/0292-sched-Consider-pi-boosting-in-setscheduler.patch b/debian/patches/features/all/rt/0292-sched-Consider-pi-boosting-in-setscheduler.patch index 91b9f67fc..47580e79b 100644 --- a/debian/patches/features/all/rt/0292-sched-Consider-pi-boosting-in-setscheduler.patch +++ b/debian/patches/features/all/rt/0292-sched-Consider-pi-boosting-in-setscheduler.patch @@ -1,7 +1,7 @@ -From 89bedf4ca63b10182b6bae3444a3156a135fdffb Mon Sep 17 00:00:00 2001 +From 2132ce4192c7b3be0857d75dcb0d224738881158 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 20 Dec 2012 15:13:49 +0100 -Subject: [PATCH 292/298] sched: Consider pi boosting in setscheduler +Subject: [PATCH 292/304] sched: Consider pi boosting in setscheduler If a PI boosted task policy/priority is modified by a setscheduler() call we unconditionally dequeue and requeue the task if it is on the @@ -25,7 +25,7 @@ Cc: stable-rt@vger.kernel.org 3 files changed, 48 insertions(+), 8 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 12317b6..e2f9e3b 100644 +index e9854c5..380e503 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -2127,6 +2127,7 @@ extern unsigned int sysctl_sched_cfs_bandwidth_slice; @@ -71,10 +71,10 @@ index 9c4f6e5..6075f176e 100644 * * This can be both boosting and unboosting. task->pi_lock must be held. diff --git a/kernel/sched.c b/kernel/sched.c -index ed7f001..b318b4a 100644 +index f97f894..c6ff5be 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5363,7 +5363,8 @@ EXPORT_SYMBOL(sleep_on_timeout); +@@ -5364,7 +5364,8 @@ EXPORT_SYMBOL(sleep_on_timeout); * This function changes the 'effective' priority of a task. It does * not touch ->normal_prio like __setscheduler(). * @@ -84,7 +84,7 @@ index ed7f001..b318b4a 100644 */ void rt_mutex_setprio(struct task_struct *p, int prio) { -@@ -5586,20 +5587,25 @@ static struct task_struct *find_process_by_pid(pid_t pid) +@@ -5587,20 +5588,25 @@ static struct task_struct *find_process_by_pid(pid_t pid) return pid ? find_task_by_vpid(pid) : current; } @@ -114,7 +114,7 @@ index ed7f001..b318b4a 100644 } /* -@@ -5624,6 +5630,7 @@ static bool check_same_owner(struct task_struct *p) +@@ -5625,6 +5631,7 @@ static bool check_same_owner(struct task_struct *p) static int __sched_setscheduler(struct task_struct *p, int policy, const struct sched_param *param, bool user) { @@ -122,7 +122,7 @@ index ed7f001..b318b4a 100644 int retval, oldprio, oldpolicy = -1, on_rq, running; unsigned long flags; const struct sched_class *prev_class; -@@ -5752,6 +5759,25 @@ recheck: +@@ -5753,6 +5760,25 @@ recheck: task_rq_unlock(rq, p, &flags); goto recheck; } @@ -148,7 +148,7 @@ index ed7f001..b318b4a 100644 on_rq = p->on_rq; running = task_current(rq, p); if (on_rq) -@@ -5759,9 +5785,6 @@ recheck: +@@ -5760,9 +5786,6 @@ recheck: if (running) p->sched_class->put_prev_task(rq, p); diff --git a/debian/patches/features/all/rt/0293-drivers-tty-pl011-irq-disable-madness.patch.patch b/debian/patches/features/all/rt/0293-drivers-tty-pl011-irq-disable-madness.patch.patch index b5fa26573..4c0c98257 100644 --- a/debian/patches/features/all/rt/0293-drivers-tty-pl011-irq-disable-madness.patch.patch +++ b/debian/patches/features/all/rt/0293-drivers-tty-pl011-irq-disable-madness.patch.patch @@ -1,7 +1,7 @@ -From 93e7d83d3a209ffdcdefa154755c0f6797a0c993 Mon Sep 17 00:00:00 2001 +From 502800f3cf50c15699200481814774a763db92d5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Tue, 8 Jan 2013 21:36:51 +0100 -Subject: [PATCH 293/298] drivers-tty-pl011-irq-disable-madness.patch +Subject: [PATCH 293/304] drivers-tty-pl011-irq-disable-madness.patch Cc: stable-rt@vger.kernel.org Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0294-mmci-Remove-bogus-local_irq_save.patch b/debian/patches/features/all/rt/0294-mmci-Remove-bogus-local_irq_save.patch index ceba6c846..e37ba1b56 100644 --- a/debian/patches/features/all/rt/0294-mmci-Remove-bogus-local_irq_save.patch +++ b/debian/patches/features/all/rt/0294-mmci-Remove-bogus-local_irq_save.patch @@ -1,7 +1,7 @@ -From 91a29b251b3d8ac425ab9a6b873aea92590c9677 Mon Sep 17 00:00:00 2001 +From bb9f94d3bc462dd37564132c5d6053c345abcdba Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 12:11:12 +0100 -Subject: [PATCH 294/298] mmci: Remove bogus local_irq_save() +Subject: [PATCH 294/304] mmci: Remove bogus local_irq_save() On !RT interrupt runs with interrupts disabled. On RT it's in a thread, so no need to disable interrupts at all. diff --git a/debian/patches/features/all/rt/0295-sched-Init-idle-on_rq-in-init_idle.patch b/debian/patches/features/all/rt/0295-sched-Init-idle-on_rq-in-init_idle.patch index 14d44bbe5..636deb3d1 100644 --- a/debian/patches/features/all/rt/0295-sched-Init-idle-on_rq-in-init_idle.patch +++ b/debian/patches/features/all/rt/0295-sched-Init-idle-on_rq-in-init_idle.patch @@ -1,7 +1,7 @@ -From 0d39ce0f7664f7389d02b062eba048a60998336c Mon Sep 17 00:00:00 2001 +From 128efb676fd082af49e2f1076928966e21ece1ee Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 23:03:29 +0100 -Subject: [PATCH 295/298] sched: Init idle->on_rq in init_idle() +Subject: [PATCH 295/304] sched: Init idle->on_rq in init_idle() Cc: stable-rt@vger.kernel.org Signed-off-by: Thomas Gleixner @@ -11,10 +11,10 @@ Signed-off-by: Steven Rostedt 1 file changed, 1 insertion(+) diff --git a/kernel/sched.c b/kernel/sched.c -index b318b4a..20b228f 100644 +index c6ff5be..ef5fe63 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6519,6 +6519,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) +@@ -6520,6 +6520,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) rcu_read_unlock(); rq->curr = rq->idle = idle; diff --git a/debian/patches/features/all/rt/0296-sched-Check-for-idle-task-in-might_sleep.patch b/debian/patches/features/all/rt/0296-sched-Check-for-idle-task-in-might_sleep.patch index 908ea32c5..c6dc06fad 100644 --- a/debian/patches/features/all/rt/0296-sched-Check-for-idle-task-in-might_sleep.patch +++ b/debian/patches/features/all/rt/0296-sched-Check-for-idle-task-in-might_sleep.patch @@ -1,7 +1,7 @@ -From ffa732431b55ff6704a91e0ccac0cd197ee8b5ca Mon Sep 17 00:00:00 2001 +From cf298ea6ce5299e69385288ac1f8cc92bfdf7872 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 9 Jan 2013 23:34:08 +0100 -Subject: [PATCH 296/298] sched: Check for idle task in might_sleep() +Subject: [PATCH 296/304] sched: Check for idle task in might_sleep() Idle is not allowed to call sleeping functions ever! @@ -13,10 +13,10 @@ Signed-off-by: Steven Rostedt 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 20b228f..14219ed 100644 +index ef5fe63..03015b2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -8937,7 +8937,8 @@ void __might_sleep(const char *file, int line, int preempt_offset) +@@ -8938,7 +8938,8 @@ void __might_sleep(const char *file, int line, int preempt_offset) static unsigned long prev_jiffy; /* ratelimiting */ rcu_sleep_check(); /* WARN_ON_ONCE() by default, no rate limit reqd. */ diff --git a/debian/patches/features/all/rt/0297-mm-swap-Initialize-local-locks-early.patch b/debian/patches/features/all/rt/0297-mm-swap-Initialize-local-locks-early.patch index 67fc3c9f7..07116712f 100644 --- a/debian/patches/features/all/rt/0297-mm-swap-Initialize-local-locks-early.patch +++ b/debian/patches/features/all/rt/0297-mm-swap-Initialize-local-locks-early.patch @@ -1,7 +1,7 @@ -From 44d8668579ae82132040bce5c25a615fcc3a116a Mon Sep 17 00:00:00 2001 +From 3b38c68173f163d2837b0f84685e8f005d45af81 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Thu, 10 Jan 2013 09:50:51 +0100 -Subject: [PATCH 297/298] mm: swap: Initialize local locks early +Subject: [PATCH 297/304] mm: swap: Initialize local locks early Cc: stable-rt@vger.kernel.org Signed-off-by: Thomas Gleixner diff --git a/debian/patches/features/all/rt/0298-x86-32-Use-kmap-switch-for-non-highmem-as-well.patch b/debian/patches/features/all/rt/0298-x86-32-Use-kmap-switch-for-non-highmem-as-well.patch new file mode 100644 index 000000000..4ad0cadb2 --- /dev/null +++ b/debian/patches/features/all/rt/0298-x86-32-Use-kmap-switch-for-non-highmem-as-well.patch @@ -0,0 +1,46 @@ +From 4c4462ad609943ebc9a1dccb7107e24014f8d182 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Wed, 13 Feb 2013 10:59:53 +0100 +Subject: [PATCH 298/304] x86/32: Use kmap switch for non highmem as well + +Even with CONFIG_HIGHMEM=n we need to take care of the "atomic" +mappings which are installed via iomap_atomic. + +Signed-off-by: Thomas Gleixner +Cc: stable-rt@vger.kernel.org +Signed-off-by: Steven Rostedt +--- + arch/x86/kernel/process_32.c | 2 +- + include/linux/sched.h | 4 +++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c +index 20f1573..66ee590 100644 +--- a/arch/x86/kernel/process_32.c ++++ b/arch/x86/kernel/process_32.c +@@ -340,7 +340,7 @@ __switch_to(struct task_struct *prev_p, struct task_struct *next_p) + task_thread_info(next_p)->flags & _TIF_WORK_CTXSW_NEXT)) + __switch_to_xtra(prev_p, next_p, tss); + +-#if defined CONFIG_PREEMPT_RT_FULL && defined CONFIG_HIGHMEM ++#ifdef CONFIG_PREEMPT_RT_FULL + /* + * Save @prev's kmap_atomic stack + */ +diff --git a/include/linux/sched.h b/include/linux/sched.h +index 380e503..41c0979 100644 +--- a/include/linux/sched.h ++++ b/include/linux/sched.h +@@ -1608,9 +1608,11 @@ struct task_struct { + struct rcu_head put_rcu; + int softirq_nestcnt; + #endif +-#if defined CONFIG_PREEMPT_RT_FULL && defined CONFIG_HIGHMEM ++#ifdef CONFIG_PREEMPT_RT_FULL ++# if defined CONFIG_HIGHMEM || defined CONFIG_X86_32 + int kmap_idx; + pte_t kmap_pte[KM_TYPE_NR]; ++# endif + #endif + + #ifdef CONFIG_DEBUG_PREEMPT diff --git a/debian/patches/features/all/rt/0299-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch b/debian/patches/features/all/rt/0299-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch new file mode 100644 index 000000000..680400f1a --- /dev/null +++ b/debian/patches/features/all/rt/0299-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch @@ -0,0 +1,183 @@ +From 7a38f1a9fd6fe0afdfb629af94de777048dbe8f2 Mon Sep 17 00:00:00 2001 +From: Steven Rostedt +Date: Wed, 13 Feb 2013 09:26:05 -0500 +Subject: [PATCH 299/304] acpi/rt: Convert acpi_gbl_hardware lock back to a + raw_spinlock_t + +We hit the following bug with 3.6-rt: + +[ 5.898990] BUG: scheduling while atomic: swapper/3/0/0x00000002 +[ 5.898991] no locks held by swapper/3/0. +[ 5.898993] Modules linked in: +[ 5.898996] Pid: 0, comm: swapper/3 Not tainted 3.6.11-rt28.19.el6rt.x86_64.debug #1 +[ 5.898997] Call Trace: +[ 5.899011] [] __schedule_bug+0x67/0x90 +[ 5.899028] [] __schedule+0x793/0x7a0 +[ 5.899032] [] ? debug_rt_mutex_print_deadlock+0x50/0x200 +[ 5.899034] [] schedule+0x29/0x70 +[ 5.899036] BUG: scheduling while atomic: swapper/7/0/0x00000002 +[ 5.899037] no locks held by swapper/7/0. +[ 5.899039] [] rt_spin_lock_slowlock+0xe5/0x2f0 +[ 5.899040] Modules linked in: +[ 5.899041] +[ 5.899045] [] ? _raw_spin_unlock_irqrestore+0x38/0x90 +[ 5.899046] Pid: 0, comm: swapper/7 Not tainted 3.6.11-rt28.19.el6rt.x86_64.debug #1 +[ 5.899047] Call Trace: +[ 5.899049] [] rt_spin_lock+0x16/0x40 +[ 5.899052] [] __schedule_bug+0x67/0x90 +[ 5.899054] [] ? notifier_call_chain+0x80/0x80 +[ 5.899056] [] __schedule+0x793/0x7a0 +[ 5.899059] [] acpi_os_acquire_lock+0x1f/0x23 +[ 5.899062] [] ? debug_rt_mutex_print_deadlock+0x50/0x200 +[ 5.899068] [] acpi_write_bit_register+0x33/0xb0 +[ 5.899071] [] schedule+0x29/0x70 +[ 5.899072] [] ? acpi_read_bit_register+0x33/0x51 +[ 5.899074] [] rt_spin_lock_slowlock+0xe5/0x2f0 +[ 5.899077] [] acpi_idle_enter_bm+0x8a/0x28e +[ 5.899079] [] ? _raw_spin_unlock_irqrestore+0x38/0x90 +[ 5.899081] [] ? this_cpu_load+0x1a/0x30 +[ 5.899083] [] rt_spin_lock+0x16/0x40 +[ 5.899087] [] cpuidle_enter+0x19/0x20 +[ 5.899088] [] ? notifier_call_chain+0x80/0x80 +[ 5.899090] [] cpuidle_enter_state+0x17/0x50 +[ 5.899092] [] acpi_os_acquire_lock+0x1f/0x23 +[ 5.899094] [] cpuidle899101] [] ? + +As the acpi code disables interrupts in acpi_idle_enter_bm, and calls +code that grabs the acpi lock, it causes issues as the lock is currently +in RT a sleeping lock. + +The lock was converted from a raw to a sleeping lock due to some +previous issues, and tests that showed it didn't seem to matter. +Unfortunately, it did matter for one of our boxes. + +This patch converts the lock back to a raw lock. I've run this code on a +few of my own machines, one being my laptop that uses the acpi quite +extensively. I've been able to suspend and resume without issues. + +[ tglx: Made the change exclusive for acpi_gbl_hardware_lock ] + +Signed-off-by: Steven Rostedt +Cc: John Kacur +Cc: Clark Williams +Link: http://lkml.kernel.org/r/1360765565.23152.5.camel@gandalf.local.home +Cc: stable-rt@vger.kernel.org +Signed-off-by: Thomas Gleixner +--- + drivers/acpi/acpica/acglobal.h | 2 +- + drivers/acpi/acpica/hwregs.c | 4 ++-- + drivers/acpi/acpica/hwxface.c | 4 ++-- + drivers/acpi/acpica/utmutex.c | 4 ++-- + include/acpi/platform/aclinux.h | 14 ++++++++++++++ + 5 files changed, 21 insertions(+), 7 deletions(-) + +diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h +index 76dc02f1..ca6bbe7 100644 +--- a/drivers/acpi/acpica/acglobal.h ++++ b/drivers/acpi/acpica/acglobal.h +@@ -236,7 +236,7 @@ ACPI_EXTERN u8 acpi_gbl_global_lock_pending; + * interrupt level + */ + ACPI_EXTERN acpi_spinlock acpi_gbl_gpe_lock; /* For GPE data structs and registers */ +-ACPI_EXTERN acpi_spinlock acpi_gbl_hardware_lock; /* For ACPI H/W except GPE registers */ ++ACPI_EXTERN acpi_raw_spinlock acpi_gbl_hardware_lock; /* For ACPI H/W except GPE registers */ + + /***************************************************************************** + * +diff --git a/drivers/acpi/acpica/hwregs.c b/drivers/acpi/acpica/hwregs.c +index cc70f3f..1df2ce6 100644 +--- a/drivers/acpi/acpica/hwregs.c ++++ b/drivers/acpi/acpica/hwregs.c +@@ -263,14 +263,14 @@ acpi_status acpi_hw_clear_acpi_status(void) + ACPI_BITMASK_ALL_FIXED_STATUS, + ACPI_FORMAT_UINT64(acpi_gbl_xpm1a_status.address))); + +- lock_flags = acpi_os_acquire_lock(acpi_gbl_hardware_lock); ++ raw_spin_lock_irqsave(acpi_gbl_hardware_lock, lock_flags); + + /* Clear the fixed events in PM1 A/B */ + + status = acpi_hw_register_write(ACPI_REGISTER_PM1_STATUS, + ACPI_BITMASK_ALL_FIXED_STATUS); + +- acpi_os_release_lock(acpi_gbl_hardware_lock, lock_flags); ++ raw_spin_unlock_irqrestore(acpi_gbl_hardware_lock, lock_flags); + + if (ACPI_FAILURE(status)) + goto exit; +diff --git a/drivers/acpi/acpica/hwxface.c b/drivers/acpi/acpica/hwxface.c +index c2793a8..5b28769 100644 +--- a/drivers/acpi/acpica/hwxface.c ++++ b/drivers/acpi/acpica/hwxface.c +@@ -387,7 +387,7 @@ acpi_status acpi_write_bit_register(u32 register_id, u32 value) + return_ACPI_STATUS(AE_BAD_PARAMETER); + } + +- lock_flags = acpi_os_acquire_lock(acpi_gbl_hardware_lock); ++ raw_spin_lock_irqsave(acpi_gbl_hardware_lock, lock_flags); + + /* + * At this point, we know that the parent register is one of the +@@ -448,7 +448,7 @@ acpi_status acpi_write_bit_register(u32 register_id, u32 value) + + unlock_and_exit: + +- acpi_os_release_lock(acpi_gbl_hardware_lock, lock_flags); ++ raw_spin_unlock_irqrestore(acpi_gbl_hardware_lock, lock_flags); + return_ACPI_STATUS(status); + } + +diff --git a/drivers/acpi/acpica/utmutex.c b/drivers/acpi/acpica/utmutex.c +index 7d797e2..b611bf3 100644 +--- a/drivers/acpi/acpica/utmutex.c ++++ b/drivers/acpi/acpica/utmutex.c +@@ -88,7 +88,7 @@ acpi_status acpi_ut_mutex_initialize(void) + return_ACPI_STATUS (status); + } + +- status = acpi_os_create_lock (&acpi_gbl_hardware_lock); ++ status = acpi_os_create_raw_lock (&acpi_gbl_hardware_lock); + if (ACPI_FAILURE (status)) { + return_ACPI_STATUS (status); + } +@@ -135,7 +135,7 @@ void acpi_ut_mutex_terminate(void) + /* Delete the spinlocks */ + + acpi_os_delete_lock(acpi_gbl_gpe_lock); +- acpi_os_delete_lock(acpi_gbl_hardware_lock); ++ acpi_os_delete_raw_lock(acpi_gbl_hardware_lock); + + /* Delete the reader/writer lock */ + +diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h +index f4b2eff..0e70789 100644 +--- a/include/acpi/platform/aclinux.h ++++ b/include/acpi/platform/aclinux.h +@@ -73,6 +73,7 @@ + + #define acpi_cache_t struct kmem_cache + #define acpi_spinlock spinlock_t * ++#define acpi_raw_spinlock raw_spinlock_t * + #define acpi_cpu_flags unsigned long + + #else /* !__KERNEL__ */ +@@ -176,6 +177,19 @@ static inline void *acpi_os_acquire_object(acpi_cache_t * cache) + lock ? AE_OK : AE_NO_MEMORY; \ + }) + ++#define acpi_os_create_raw_lock(__handle) \ ++({ \ ++ raw_spinlock_t *lock = ACPI_ALLOCATE(sizeof(*lock)); \ ++ \ ++ if (lock) { \ ++ *(__handle) = lock; \ ++ raw_spin_lock_init(*(__handle)); \ ++ } \ ++ lock ? AE_OK : AE_NO_MEMORY; \ ++}) ++ ++#define acpi_os_delete_raw_lock(__handle) kfree(__handle) ++ + #endif /* __KERNEL__ */ + + #endif /* __ACLINUX_H__ */ diff --git a/debian/patches/features/all/rt/0300-printk-Fix-rq-lock-vs-logbuf_lock-unlock-lock-invers.patch b/debian/patches/features/all/rt/0300-printk-Fix-rq-lock-vs-logbuf_lock-unlock-lock-invers.patch new file mode 100644 index 000000000..74368eaf2 --- /dev/null +++ b/debian/patches/features/all/rt/0300-printk-Fix-rq-lock-vs-logbuf_lock-unlock-lock-invers.patch @@ -0,0 +1,40 @@ +From 84984770b17ac3e3f9aa999e2191b8ba1f4e3230 Mon Sep 17 00:00:00 2001 +From: "Bu, Yitian" +Date: Mon, 18 Feb 2013 12:53:37 +0000 +Subject: [PATCH 300/304] printk: Fix rq->lock vs logbuf_lock unlock lock + inversion + +commit 07354eb1a74d1 ("locking printk: Annotate logbuf_lock as raw") +reintroduced a lock inversion problem which was fixed in commit +0b5e1c5255 ("printk: Release console_sem after logbuf_lock"). This +happened probably when fixing up patch rejects. + +Restore the ordering and unlock logbuf_lock before releasing +console_sem. + +Signed-off-by: ybu +Cc: Peter Zijlstra +Cc: stable@vger.kernel.org +Cc: stable-rt@vger.kernel.org +Link: http://lkml.kernel.org/r/E807E903FE6CBE4D95E420FBFCC273B827413C@nasanexd01h.na.qualcomm.com +Signed-off-by: Thomas Gleixner +Signed-off-by: Steven Rostedt +--- + kernel/printk.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kernel/printk.c b/kernel/printk.c +index 972cc56..37b9b99 100644 +--- a/kernel/printk.c ++++ b/kernel/printk.c +@@ -867,9 +867,9 @@ static int console_trylock_for_printk(unsigned int cpu, unsigned long flags) + } + } + printk_cpu = UINT_MAX; ++ raw_spin_unlock(&logbuf_lock); + if (wake) + up(&console_sem); +- raw_spin_unlock(&logbuf_lock); + return retval; + } + static const char recursion_bug_msg [] = diff --git a/debian/patches/features/all/rt/0301-serial-Imx-Fix-recursive-locking-bug.patch b/debian/patches/features/all/rt/0301-serial-Imx-Fix-recursive-locking-bug.patch new file mode 100644 index 000000000..39619b514 --- /dev/null +++ b/debian/patches/features/all/rt/0301-serial-Imx-Fix-recursive-locking-bug.patch @@ -0,0 +1,125 @@ +From ddeda4331671ad66956eb72af9ed114c238696af Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Thu, 14 Feb 2013 21:01:06 +0100 +Subject: [PATCH 301/304] serial: Imx: Fix recursive locking bug + +commit 9ec1882df2 (tty: serial: imx: console write routing is unsafe +on SMP) introduced a recursive locking bug in imx_console_write(). + +The callchain is: + +imx_rxint() + spin_lock_irqsave(&sport->port.lock,flags); + ... + uart_handle_sysrq_char(); + sysrq_function(); + printk(); + imx_console_write(); + spin_lock_irqsave(&sport->port.lock,flags); <--- DEAD + +The bad news is that the kernel debugging facilities can dectect the +problem, but the printks never surface on the serial console for +obvious reasons. + +There is a similar issue with oops_in_progress. If the kernel crashes +we really don't want to be stuck on the lock and unable to tell what +happened. + +In general most UP originated drivers miss these checks and nobody +ever notices because CONFIG_PROVE_LOCKING seems to be still ignored by +a large number of developers. + +The solution is to avoid locking in the sysrq case and trylock in the +oops_in_progress case. + +This scheme is used in other drivers as well and it would be nice if +we could move this to a common place, so the usual copy/paste/modify +bugs can be avoided. + +Now there is another issue with this scheme: + +CPU0 CPU1 +printk() + rxint() + sysrq_detection() -> sets port->sysrq + return from interrupt + console_write() + if (port->sysrq) + avoid locking + +port->sysrq is reset with the next receive character. So as long as +the port->sysrq is not reset and this can take an endless amount of +time if after the break no futher receive character follows, all +console writes happen unlocked. + +While the current writer is protected against other console writers by +the console sem, it's unprotected against open/close or other +operations which fiddle with the port. That's what the above mentioned +commit tried to solve. + +That's an issue in all drivers which use that scheme and unfortunately +there is no easy workaround. The only solution is to have a separate +indicator port->sysrq_cpu. uart_handle_sysrq_char() then sets it to +smp_processor_id() before calling into handle_sysrq() and resets it to +-1 after that. Then change the locking check to: + + if (port->sysrq_cpu == smp_processor_id()) + locked = 0; + else if (oops_in_progress) + locked = spin_trylock_irqsave(port->lock, flags); + else + spin_lock_irqsave(port->lock, flags); + +That would force all other cpus into the spin_lock path. Problem +solved, but that's way beyond the scope of this fix and really wants +to be implemented in a common function which calls the uart specific +write function to avoid another gazillion of hard to debug +copy/paste/modify bugs. + +Reported-and-tested-by: Tim Sander +Signed-off-by: Thomas Gleixner +Cc: Greg Kroah-Hartman +Cc: Jiri Slaby +Cc: Xinyu Chen +Cc: Dirk Behme +Cc: Shawn Guo +Cc: Tim Sander +Cc: Sascha Hauer +Cc: stable-rt@vger.kernel.org +Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1302142006050.22263@ionos +Signed-off-by: Thomas Gleixner +Signed-off-by: Steven Rostedt +--- + drivers/tty/serial/imx.c | 11 +++++++++-- + 1 file changed, 9 insertions(+), 2 deletions(-) + +diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c +index 8e68f79..5f5c214 100644 +--- a/drivers/tty/serial/imx.c ++++ b/drivers/tty/serial/imx.c +@@ -1115,8 +1115,14 @@ imx_console_write(struct console *co, const char *s, unsigned int count) + struct imx_port *sport = imx_ports[co->index]; + unsigned int old_ucr1, old_ucr2, ucr1; + unsigned long flags; ++ int locked = 1; + +- spin_lock_irqsave(&sport->port.lock, flags); ++ if (sport->port.sysrq) ++ locked = 0; ++ else if (oops_in_progress) ++ locked = spin_trylock_irqsave(&sport->port.lock, flags); ++ else ++ spin_lock_irqsave(&sport->port.lock, flags); + + /* + * First, save UCR1/2 and then disable interrupts +@@ -1144,7 +1150,8 @@ imx_console_write(struct console *co, const char *s, unsigned int count) + writel(old_ucr1, sport->port.membase + UCR1); + writel(old_ucr2, sport->port.membase + UCR2); + +- spin_unlock_irqrestore(&sport->port.lock, flags); ++ if (locked) ++ spin_unlock_irqrestore(&sport->port.lock, flags); + } + + /* diff --git a/debian/patches/features/all/rt/0302-wait-simple-Simple-waitqueue-implementation.patch b/debian/patches/features/all/rt/0302-wait-simple-Simple-waitqueue-implementation.patch new file mode 100644 index 000000000..9430a2149 --- /dev/null +++ b/debian/patches/features/all/rt/0302-wait-simple-Simple-waitqueue-implementation.patch @@ -0,0 +1,341 @@ +From ec309d2f196c8f98e20e3a1fb1c4f37baa6a7601 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Mon, 12 Dec 2011 12:29:04 +0100 +Subject: [PATCH 302/304] wait-simple: Simple waitqueue implementation + +wait_queue is a swiss army knife and in most of the cases the +complexity is not needed. For RT waitqueues are a constant source of +trouble as we can't convert the head lock to a raw spinlock due to +fancy and long lasting callbacks. + +Provide a slim version, which allows RT to replace wait queues. This +should go mainline as well, as it lowers memory consumption and +runtime overhead. + +Signed-off-by: Thomas Gleixner +Signed-off-by: Steven Rostedt +[backport by: Tim Sander ] +--- + include/linux/wait-simple.h | 172 +++++++++++++++++++++++++++++++++++++++++++ + kernel/Makefile | 2 +- + kernel/wait-simple.c | 119 ++++++++++++++++++++++++++++++ + 3 files changed, 292 insertions(+), 1 deletion(-) + create mode 100644 include/linux/wait-simple.h + create mode 100644 kernel/wait-simple.c + +diff --git a/include/linux/wait-simple.h b/include/linux/wait-simple.h +new file mode 100644 +index 0000000..44fee60 +--- /dev/null ++++ b/include/linux/wait-simple.h +@@ -0,0 +1,172 @@ ++#ifndef _LINUX_WAIT_SIMPLE_H ++#define _LINUX_WAIT_SIMPLE_H ++ ++#include ++#include ++ ++#include ++ ++struct swaiter { ++ struct task_struct *task; ++ struct list_head node; ++}; ++ ++#define DEFINE_SWAITER(name) \ ++ struct swaiter name = { \ ++ .task = current, \ ++ .node = LIST_HEAD_INIT((name).node), \ ++ } ++ ++struct swait_head { ++ raw_spinlock_t lock; ++ struct list_head list; ++}; ++ ++#define SWAIT_HEAD_INITIALIZER(name) { \ ++ .lock = __RAW_SPIN_LOCK_UNLOCKED(name.lock), \ ++ .list = LIST_HEAD_INIT((name).list), \ ++ } ++ ++#define DEFINE_SWAIT_HEAD(name) \ ++ struct swait_head name = SWAIT_HEAD_INITIALIZER(name) ++ ++extern void __init_swait_head(struct swait_head *h, struct lock_class_key *key); ++ ++#define init_swait_head(swh) \ ++ do { \ ++ static struct lock_class_key __key; \ ++ \ ++ __init_swait_head((swh), &__key); \ ++ } while (0) ++ ++/* ++ * Waiter functions ++ */ ++extern void swait_prepare_locked(struct swait_head *head, struct swaiter *w); ++extern void swait_prepare(struct swait_head *head, struct swaiter *w, int state); ++extern void swait_finish_locked(struct swait_head *head, struct swaiter *w); ++extern void swait_finish(struct swait_head *head, struct swaiter *w); ++ ++/* ++ * Wakeup functions ++ */ ++extern unsigned int __swait_wake(struct swait_head *head, unsigned int state, unsigned int num); ++extern unsigned int __swait_wake_locked(struct swait_head *head, unsigned int state, unsigned int num); ++ ++#define swait_wake(head) __swait_wake(head, TASK_NORMAL, 1) ++#define swait_wake_interruptible(head) __swait_wake(head, TASK_INTERRUPTIBLE, 1) ++#define swait_wake_all(head) __swait_wake(head, TASK_NORMAL, 0) ++#define swait_wake_all_interruptible(head) __swait_wake(head, TASK_INTERRUPTIBLE, 0) ++ ++/* ++ * Event API ++ */ ++#define __swait_event(wq, condition) \ ++do { \ ++ DEFINE_SWAITER(__wait); \ ++ \ ++ for (;;) { \ ++ swait_prepare(&wq, &__wait, TASK_UNINTERRUPTIBLE); \ ++ if (condition) \ ++ break; \ ++ schedule(); \ ++ } \ ++ swait_finish(&wq, &__wait); \ ++} while (0) ++ ++/** ++ * swait_event - sleep until a condition gets true ++ * @wq: the waitqueue to wait on ++ * @condition: a C expression for the event to wait for ++ * ++ * The process is put to sleep (TASK_UNINTERRUPTIBLE) until the ++ * @condition evaluates to true. The @condition is checked each time ++ * the waitqueue @wq is woken up. ++ * ++ * wake_up() has to be called after changing any variable that could ++ * change the result of the wait condition. ++ */ ++#define swait_event(wq, condition) \ ++do { \ ++ if (condition) \ ++ break; \ ++ __swait_event(wq, condition); \ ++} while (0) ++ ++#define __swait_event_interruptible(wq, condition, ret) \ ++do { \ ++ DEFINE_SWAITER(__wait); \ ++ \ ++ for (;;) { \ ++ swait_prepare(&wq, &__wait, TASK_INTERRUPTIBLE); \ ++ if (condition) \ ++ break; \ ++ if (signal_pending(current)) { \ ++ ret = -ERESTARTSYS; \ ++ break; \ ++ } \ ++ schedule(); \ ++ } \ ++ swait_finish(&wq, &__wait); \ ++} while (0) ++ ++/** ++ * swait_event_interruptible - sleep until a condition gets true ++ * @wq: the waitqueue to wait on ++ * @condition: a C expression for the event to wait for ++ * ++ * The process is put to sleep (TASK_INTERRUPTIBLE) until the ++ * @condition evaluates to true. The @condition is checked each time ++ * the waitqueue @wq is woken up. ++ * ++ * wake_up() has to be called after changing any variable that could ++ * change the result of the wait condition. ++ */ ++#define swait_event_interruptible(wq, condition) \ ++({ \ ++ int __ret = 0; \ ++ if (!(condition)) \ ++ __swait_event_interruptible(wq, condition, __ret); \ ++ __ret; \ ++}) ++ ++#define __swait_event_timeout(wq, condition, ret) \ ++do { \ ++ DEFINE_SWAITER(__wait); \ ++ \ ++ for (;;) { \ ++ swait_prepare(&wq, &__wait, TASK_UNINTERRUPTIBLE); \ ++ if (condition) \ ++ break; \ ++ ret = schedule_timeout(ret); \ ++ if (!ret) \ ++ break; \ ++ } \ ++ swait_finish(&wq, &__wait); \ ++} while (0) ++ ++/** ++ * swait_event_timeout - sleep until a condition gets true or a timeout elapses ++ * @wq: the waitqueue to wait on ++ * @condition: a C expression for the event to wait for ++ * @timeout: timeout, in jiffies ++ * ++ * The process is put to sleep (TASK_UNINTERRUPTIBLE) until the ++ * @condition evaluates to true. The @condition is checked each time ++ * the waitqueue @wq is woken up. ++ * ++ * wake_up() has to be called after changing any variable that could ++ * change the result of the wait condition. ++ * ++ * The function returns 0 if the @timeout elapsed, and the remaining ++ * jiffies if the condition evaluated to true before the timeout elapsed. ++ */ ++#define swait_event_timeout(wq, condition, timeout) \ ++({ \ ++ long __ret = timeout; \ ++ if (!(condition)) \ ++ __swait_event_timeout(wq, condition, __ret); \ ++ __ret; \ ++}) ++ ++#endif +diff --git a/kernel/Makefile b/kernel/Makefile +index c961d3a..0b0ed50 100644 +--- a/kernel/Makefile ++++ b/kernel/Makefile +@@ -11,7 +11,7 @@ obj-y = sched.o fork.o exec_domain.o panic.o printk.o \ + hrtimer.o nsproxy.o srcu.o semaphore.o \ + notifier.o ksysfs.o sched_clock.o cred.o \ + async.o range.o +-obj-y += groups.o ++obj-y += groups.o wait-simple.o + + ifdef CONFIG_FUNCTION_TRACER + # Do not trace debug files and internal ftrace files +diff --git a/kernel/wait-simple.c b/kernel/wait-simple.c +new file mode 100644 +index 0000000..c35ec78 +--- /dev/null ++++ b/kernel/wait-simple.c +@@ -0,0 +1,119 @@ ++/* ++ * Simple waitqueues without fancy flags and callbacks ++ * ++ * (C) 2011 Thomas Gleixner ++ * ++ * Based on kernel/wait.c ++ * ++ * For licencing details see kernel-base/COPYING ++ */ ++#include ++#include ++#include ++#include ++ ++/* Adds w to head->list. Must be called with head->lock locked. */ ++static inline void __swait_enqueue(struct swait_head *head, struct swaiter *w) ++{ ++ list_add(&w->node, &head->list); ++} ++ ++/* Removes w from head->list. Must be called with head->lock locked. */ ++static inline void __swait_dequeue(struct swaiter *w) ++{ ++ list_del_init(&w->node); ++} ++ ++/* Check whether a head has waiters enqueued */ ++static inline bool swait_head_has_waiters(struct swait_head *h) ++{ ++ return !list_empty(&h->list); ++} ++ ++void __init_swait_head(struct swait_head *head, struct lock_class_key *key) ++{ ++ raw_spin_lock_init(&head->lock); ++ lockdep_set_class(&head->lock, key); ++ INIT_LIST_HEAD(&head->list); ++} ++EXPORT_SYMBOL_GPL(__init_swait_head); ++ ++void swait_prepare_locked(struct swait_head *head, struct swaiter *w) ++{ ++ w->task = current; ++ if (list_empty(&w->node)) ++ __swait_enqueue(head, w); ++} ++ ++void swait_prepare(struct swait_head *head, struct swaiter *w, int state) ++{ ++ unsigned long flags; ++ ++ raw_spin_lock_irqsave(&head->lock, flags); ++ swait_prepare_locked(head, w); ++ __set_current_state(state); ++ raw_spin_unlock_irqrestore(&head->lock, flags); ++} ++EXPORT_SYMBOL_GPL(swait_prepare); ++ ++void swait_finish_locked(struct swait_head *head, struct swaiter *w) ++{ ++ __set_current_state(TASK_RUNNING); ++ if (w->task) ++ __swait_dequeue(w); ++} ++ ++void swait_finish(struct swait_head *head, struct swaiter *w) ++{ ++ unsigned long flags; ++ ++ __set_current_state(TASK_RUNNING); ++ if (w->task) { ++ raw_spin_lock_irqsave(&head->lock, flags); ++ __swait_dequeue(w); ++ raw_spin_unlock_irqrestore(&head->lock, flags); ++ } ++} ++EXPORT_SYMBOL_GPL(swait_finish); ++ ++unsigned int ++__swait_wake_locked(struct swait_head *head, unsigned int state, unsigned int num) ++{ ++ struct swaiter *curr, *next; ++ int woken = 0; ++ ++ list_for_each_entry_safe(curr, next, &head->list, node) { ++ if (wake_up_state(curr->task, state)) { ++ __swait_dequeue(curr); ++ /* ++ * The waiting task can free the waiter as ++ * soon as curr->task = NULL is written, ++ * without taking any locks. A memory barrier ++ * is required here to prevent the following ++ * store to curr->task from getting ahead of ++ * the dequeue operation. ++ */ ++ smp_wmb(); ++ curr->task = NULL; ++ if (++woken == num) ++ break; ++ } ++ } ++ return woken; ++} ++ ++unsigned int ++__swait_wake(struct swait_head *head, unsigned int state, unsigned int num) ++{ ++ unsigned long flags; ++ int woken; ++ ++ if (!swait_head_has_waiters(head)) ++ return 0; ++ ++ raw_spin_lock_irqsave(&head->lock, flags); ++ woken = __swait_wake_locked(head, state, num); ++ raw_spin_unlock_irqrestore(&head->lock, flags); ++ return woken; ++} ++EXPORT_SYMBOL_GPL(__swait_wake); diff --git a/debian/patches/features/all/rt/0303-rcutiny-Use-simple-waitqueue.patch b/debian/patches/features/all/rt/0303-rcutiny-Use-simple-waitqueue.patch new file mode 100644 index 000000000..2dd70da87 --- /dev/null +++ b/debian/patches/features/all/rt/0303-rcutiny-Use-simple-waitqueue.patch @@ -0,0 +1,83 @@ +From c06d505cd814473656a5070009905e06ea12f5f6 Mon Sep 17 00:00:00 2001 +From: Thomas Gleixner +Date: Mon, 3 Dec 2012 16:25:21 +0100 +Subject: [PATCH 303/304] rcutiny: Use simple waitqueue + +Simple waitqueues can be handled from interrupt disabled contexts. + +Signed-off-by: Thomas Gleixner +Signed-off-by: Steven Rostedt +--- + kernel/rcutiny_plugin.h | 17 +++++++++-------- + 1 file changed, 9 insertions(+), 8 deletions(-) + +diff --git a/kernel/rcutiny_plugin.h b/kernel/rcutiny_plugin.h +index 2b0484a..f0a6606 100644 +--- a/kernel/rcutiny_plugin.h ++++ b/kernel/rcutiny_plugin.h +@@ -26,6 +26,7 @@ + #include + #include + #include ++#include + + /* Global control variables for rcupdate callback mechanism. */ + struct rcu_ctrlblk { +@@ -250,7 +251,7 @@ static void show_tiny_preempt_stats(struct seq_file *m) + + /* Controls for rcu_kthread() kthread. */ + static struct task_struct *rcu_kthread_task; +-static DECLARE_WAIT_QUEUE_HEAD(rcu_kthread_wq); ++static DEFINE_SWAIT_HEAD(rcu_kthread_wq); + static unsigned long have_rcu_kthread_work; + + /* +@@ -720,7 +721,7 @@ void synchronize_rcu(void) + } + EXPORT_SYMBOL_GPL(synchronize_rcu); + +-static DECLARE_WAIT_QUEUE_HEAD(sync_rcu_preempt_exp_wq); ++static DEFINE_SWAIT_HEAD(sync_rcu_preempt_exp_wq); + static unsigned long sync_rcu_preempt_exp_count; + static DEFINE_MUTEX(sync_rcu_preempt_exp_mutex); + +@@ -742,7 +743,7 @@ static int rcu_preempted_readers_exp(void) + */ + static void rcu_report_exp_done(void) + { +- wake_up(&sync_rcu_preempt_exp_wq); ++ swait_wake(&sync_rcu_preempt_exp_wq); + } + + /* +@@ -794,8 +795,8 @@ void synchronize_rcu_expedited(void) + else { + rcu_initiate_boost(); + local_irq_restore(flags); +- wait_event(sync_rcu_preempt_exp_wq, +- !rcu_preempted_readers_exp()); ++ swait_event(sync_rcu_preempt_exp_wq, ++ !rcu_preempted_readers_exp()); + } + + /* Clean up and exit. */ +@@ -882,7 +883,7 @@ static void rcu_preempt_process_callbacks(void) + static void invoke_rcu_callbacks(void) + { + have_rcu_kthread_work = 1; +- wake_up(&rcu_kthread_wq); ++ swake_up(&rcu_kthread_wq); + } + + /* +@@ -899,8 +900,8 @@ static int rcu_kthread(void *arg) + unsigned long flags; + + for (;;) { +- wait_event_interruptible(rcu_kthread_wq, +- have_rcu_kthread_work != 0); ++ swait_event_interruptible(rcu_kthread_wq, ++ have_rcu_kthread_work != 0); + morework = rcu_boost(); + local_irq_save(flags); + work = have_rcu_kthread_work; diff --git a/debian/patches/features/all/rt/0298-Linux-3.2.38-rt57-REBASE.patch b/debian/patches/features/all/rt/0304-Linux-3.2.39-rt59-REBASE.patch similarity index 55% rename from debian/patches/features/all/rt/0298-Linux-3.2.38-rt57-REBASE.patch rename to debian/patches/features/all/rt/0304-Linux-3.2.39-rt59-REBASE.patch index be46c6b3c..74442a51c 100644 --- a/debian/patches/features/all/rt/0298-Linux-3.2.38-rt57-REBASE.patch +++ b/debian/patches/features/all/rt/0304-Linux-3.2.39-rt59-REBASE.patch @@ -1,16 +1,16 @@ -From d4c8fcb768ea605a90ed9ad8a03dbd0d08a1b64a Mon Sep 17 00:00:00 2001 +From 94798ac3f9c0475940f35b09e8ff676b1282b241 Mon Sep 17 00:00:00 2001 From: Steven Rostedt -Date: Wed, 13 Feb 2013 16:53:53 -0500 -Subject: [PATCH 298/298] Linux 3.2.38-rt57 REBASE +Date: Fri, 22 Feb 2013 12:08:15 -0500 +Subject: [PATCH 304/304] Linux 3.2.39-rt59 REBASE --- localversion-rt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/localversion-rt b/localversion-rt -index b2111a2..c06cc435 100644 +index b2111a2..8cdeb45 100644 --- a/localversion-rt +++ b/localversion-rt @@ -1 +1 @@ --rt24 -+-rt57 ++-rt59 diff --git a/debian/patches/features/all/rt/series b/debian/patches/features/all/rt/series index 0ac5493a2..73a92214f 100644 --- a/debian/patches/features/all/rt/series +++ b/debian/patches/features/all/rt/series @@ -295,4 +295,10 @@ 0295-sched-Init-idle-on_rq-in-init_idle.patch 0296-sched-Check-for-idle-task-in-might_sleep.patch 0297-mm-swap-Initialize-local-locks-early.patch -0298-Linux-3.2.38-rt57-REBASE.patch +0298-x86-32-Use-kmap-switch-for-non-highmem-as-well.patch +0299-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch +0300-printk-Fix-rq-lock-vs-logbuf_lock-unlock-lock-invers.patch +0301-serial-Imx-Fix-recursive-locking-bug.patch +0302-wait-simple-Simple-waitqueue-implementation.patch +0303-rcutiny-Use-simple-waitqueue.patch +0304-Linux-3.2.39-rt59-REBASE.patch diff --git a/debian/patches/series-rt b/debian/patches/series-rt index 5b5ab45d6..7d09181c7 100644 --- a/debian/patches/series-rt +++ b/debian/patches/series-rt @@ -295,4 +295,10 @@ features/all/rt/0294-mmci-Remove-bogus-local_irq_save.patch features/all/rt/0295-sched-Init-idle-on_rq-in-init_idle.patch features/all/rt/0296-sched-Check-for-idle-task-in-might_sleep.patch features/all/rt/0297-mm-swap-Initialize-local-locks-early.patch -features/all/rt/0298-Linux-3.2.38-rt57-REBASE.patch +features/all/rt/0298-x86-32-Use-kmap-switch-for-non-highmem-as-well.patch +features/all/rt/0299-acpi-rt-Convert-acpi_gbl_hardware-lock-back-to-a-raw.patch +features/all/rt/0300-printk-Fix-rq-lock-vs-logbuf_lock-unlock-lock-invers.patch +features/all/rt/0301-serial-Imx-Fix-recursive-locking-bug.patch +features/all/rt/0302-wait-simple-Simple-waitqueue-implementation.patch +features/all/rt/0303-rcutiny-Use-simple-waitqueue.patch +features/all/rt/0304-Linux-3.2.39-rt59-REBASE.patch