diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-01-24 23:52:40 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-01-24 23:52:40 -0500 |
commit | 1ddee070a89ada4ab01b829cd2cf3835c8fea83b (patch) | |
tree | 8de74dbc031078df5a1201cc7d1fbf428e7b3f52 | |
parent | cc42d035478020e62103ff31576c235eb53135b4 (diff) | |
download | rt-patches-1ddee070a89ada4ab01b829cd2cf3835c8fea83b.tar.gz |
patch refresh, nothing to see here
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
282 files changed, 1282 insertions, 1312 deletions
diff --git a/ACPI-Convert-c3_lock-to-raw_spinlock.patch b/ACPI-Convert-c3_lock-to-raw_spinlock.patch index 97c0277..7645748 100644 --- a/ACPI-Convert-c3_lock-to-raw_spinlock.patch +++ b/ACPI-Convert-c3_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 50fee3b3ad7cd773f0b50739bb0ed9ac43561c7d Mon Sep 17 00:00:00 2001 +From b4e03db2f4b2318144b917786cdee81575cf525c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 18:14:37 +0200 Subject: [PATCH] ACPI: Convert c3_lock to raw_spinlock @@ -8,10 +8,10 @@ commit 50fee3b3ad7cd773f0b50739bb0ed9ac43561c7d in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c -index 0efa59e..0f90a64 100644 +index cc978a8..3e047b8 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c -@@ -919,7 +919,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, +@@ -927,7 +927,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, } static int c3_cpu_count; @@ -20,7 +20,7 @@ index 0efa59e..0f90a64 100644 /** * acpi_idle_enter_bm - enters C3 with proper BM handling -@@ -994,12 +994,12 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, +@@ -1004,12 +1004,12 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, * without doing anything. */ if (pr->flags.bm_check && pr->flags.bm_control) { @@ -35,7 +35,7 @@ index 0efa59e..0f90a64 100644 } else if (!pr->flags.bm_check) { ACPI_FLUSH_CPU_CACHE(); } -@@ -1008,10 +1008,10 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, +@@ -1018,10 +1018,10 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, /* Re-enable bus master arbitration */ if (pr->flags.bm_check && pr->flags.bm_control) { diff --git a/ACPI-RT-support.patch b/ACPI-RT-support.patch index 5738f02..44914fb 100644 --- a/ACPI-RT-support.patch +++ b/ACPI-RT-support.patch @@ -1,4 +1,4 @@ -From 23480d165de3f7676281974181146013ab5c089f Mon Sep 17 00:00:00 2001 +From d1869df9cb469e4f448efab221156a20ee2cdb88 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:12 -0500 Subject: [PATCH] ACPI: RT support @@ -97,7 +97,7 @@ index 80bb651..d8699f8 100644 acpi_ut_delete_rw_lock(&acpi_gbl_namespace_rw_lock); diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c -index fc67d11..e293825 100644 +index d6471bb..e497639 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -577,7 +577,19 @@ static u32 acpi_ec_gpe_handler(void *data) diff --git a/ARM-AT91-Use-edge-irq-for-AT91-GPIO.patch b/ARM-AT91-Use-edge-irq-for-AT91-GPIO.patch index a51e126..d4b3dc9 100644 --- a/ARM-AT91-Use-edge-irq-for-AT91-GPIO.patch +++ b/ARM-AT91-Use-edge-irq-for-AT91-GPIO.patch @@ -1,4 +1,4 @@ -From a55fb4703922407dca8999eba8833512e6aba1ad Mon Sep 17 00:00:00 2001 +From 43558d7569c38566e851c97962648c53ecc04bb9 Mon Sep 17 00:00:00 2001 From: Remy Bohmer <linux@bohmer.net> Date: Fri, 3 Jul 2009 08:44:15 -0500 Subject: [PATCH] ARM: AT91: Use edge irq for AT91-GPIO @@ -37,10 +37,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c -index f2236f0..cf609f8 100644 +index ae4772e..d959979 100644 --- a/arch/arm/mach-at91/gpio.c +++ b/arch/arm/mach-at91/gpio.c -@@ -375,12 +375,18 @@ static int gpio_irq_type(unsigned pin, unsigned type) +@@ -373,12 +373,18 @@ static int gpio_irq_type(unsigned pin, unsigned type) } } @@ -59,7 +59,7 @@ index f2236f0..cf609f8 100644 }; static void gpio_irq_handler(unsigned irq, struct irq_desc *desc) -@@ -527,7 +533,7 @@ void __init at91_gpio_irq_setup(void) +@@ -525,7 +531,7 @@ void __init at91_gpio_irq_setup(void) * shorter, and the AIC handles interrupts sanely. */ set_irq_chip(pin, &gpio_irqchip); diff --git a/ARM-OMAP-remove-unnecessary-locking-in-clk_get_rate.patch b/ARM-OMAP-remove-unnecessary-locking-in-clk_get_rate.patch index d811532..d8acbf2 100644 --- a/ARM-OMAP-remove-unnecessary-locking-in-clk_get_rate.patch +++ b/ARM-OMAP-remove-unnecessary-locking-in-clk_get_rate.patch @@ -1,4 +1,4 @@ -From 59ad0ff1902a22474867150a6a45d4eeda88512b Mon Sep 17 00:00:00 2001 +From a6d290294a35a0de2f9867d94fb3eb07f1dc8f67 Mon Sep 17 00:00:00 2001 From: Kevin Hilman <khilman@mvista.com> Date: Fri, 3 Jul 2009 08:44:49 -0500 Subject: [PATCH] ARM: OMAP: remove unnecessary locking in clk_get_rate() @@ -12,10 +12,10 @@ Signed-off-by: Kevin Hilman <khilman@mvista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c -index e8c327a..a4447ce 100644 +index 4becbdd..50f299b 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c -@@ -108,15 +108,12 @@ EXPORT_SYMBOL(clk_disable); +@@ -78,15 +78,12 @@ EXPORT_SYMBOL(clk_disable); unsigned long clk_get_rate(struct clk *clk) { diff --git a/ARM-RT-support.patch b/ARM-RT-support.patch index 58781eb..e9d7c41 100644 --- a/ARM-RT-support.patch +++ b/ARM-RT-support.patch @@ -1,4 +1,4 @@ -From d0aa7f953917613cf85b1ba7b8c68688a98137fc Mon Sep 17 00:00:00 2001 +From 7afc33a2ff75d7a2b80869654659e9a97e876e33 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:46 -0500 Subject: [PATCH] ARM: RT support @@ -8,7 +8,7 @@ commit d0aa7f953917613cf85b1ba7b8c68688a98137fc in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h -index d65b2f5..e849ed9 100644 +index 058e7e9..d8fd711 100644 --- a/arch/arm/include/asm/system.h +++ b/arch/arm/include/asm/system.h @@ -60,6 +60,8 @@ @@ -55,10 +55,10 @@ index f41a6f5..dd667f2 100644 /* diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c -index 93bb424..207fced 100644 +index e7714f3..469f223 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c -@@ -627,6 +627,14 @@ static int do_signal(sigset_t *oldset, struct pt_regs *regs, int syscall) +@@ -607,6 +607,14 @@ static void do_signal(struct pt_regs *regs, int syscall) siginfo_t info; int signr; @@ -74,10 +74,10 @@ index 93bb424..207fced 100644 * We want the common case to go fast, which * is why we may in certain cases get here from diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c -index 4722582..8f1e182 100644 +index 761ffed..627426d 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c -@@ -29,8 +29,6 @@ +@@ -30,8 +30,6 @@ #include "mm.h" diff --git a/ARM-badge4-Move-printk-out-of-irq_disabled-region.patch b/ARM-badge4-Move-printk-out-of-irq_disabled-region.patch index e57c285..f16e587 100644 --- a/ARM-badge4-Move-printk-out-of-irq_disabled-region.patch +++ b/ARM-badge4-Move-printk-out-of-irq_disabled-region.patch @@ -1,4 +1,4 @@ -From 30d18e076a68c1f50647c008d14f6b1c9303d40d Mon Sep 17 00:00:00 2001 +From f00a56771b7ec542dd316fd70e99df5cbe822f44 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:47 -0500 Subject: [PATCH] ARM: badge4: Move printk out of irq_disabled region @@ -10,7 +10,7 @@ Reduce latencies on -rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c -index ab5883b..0f0d555 100644 +index 051ec0f..fd8ceef 100644 --- a/arch/arm/mach-sa1100/badge4.c +++ b/arch/arm/mach-sa1100/badge4.c @@ -240,15 +240,22 @@ void badge4_set_5V(unsigned subsystem, int on) diff --git a/ARM-raw_lock-conversions.patch b/ARM-raw_lock-conversions.patch index 6b9e4f3..bfb1b4c 100644 --- a/ARM-raw_lock-conversions.patch +++ b/ARM-raw_lock-conversions.patch @@ -1,4 +1,4 @@ -From 8b83dc31baa38a46cdbc4dfbf285922ba2372e10 Mon Sep 17 00:00:00 2001 +From 76415f78b5b319b65e9e3352fa750882ff3dbc94 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:46 -0500 Subject: [PATCH] ARM: raw_lock conversions @@ -464,7 +464,7 @@ index c9e32de..ccd4918 100644 static int __init leds_init(void) diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c -index cb8fc65..77a5edf 100644 +index cb8fc65..e912ff2 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c @@ -26,7 +26,7 @@ diff --git a/ARM-scheduling-fixups.patch b/ARM-scheduling-fixups.patch index d2109fa..aaa7687 100644 --- a/ARM-scheduling-fixups.patch +++ b/ARM-scheduling-fixups.patch @@ -1,16 +1,15 @@ -From 181e8de44309e51bd36c89d24d3902ff8c794dff Mon Sep 17 00:00:00 2001 +From a4f8c114719ace1694e9e4e270f39cf82ea89b10 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:46 -0500 Subject: [PATCH] ARM: scheduling fixups commit 181e8de44309e51bd36c89d24d3902ff8c794dff in tip. - diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S -index 366e509..0f529db 100644 +index 2c1db77..1d2a386 100644 --- a/arch/arm/kernel/entry-common.S +++ b/arch/arm/kernel/entry-common.S -@@ -59,7 +59,8 @@ work_pending: +@@ -52,7 +52,8 @@ work_pending: b ret_slow_syscall @ Check work again work_resched: @@ -21,7 +20,7 @@ index 366e509..0f529db 100644 * "slow" syscall return path. "why" tells us if this was a real syscall. */ diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c -index 39196df..fcecbb2 100644 +index ba2adef..2bec4a9 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -174,9 +174,11 @@ void cpu_idle(void) diff --git a/KVM-x86-Kick-VCPU-outside-PIC-lock-again.patch b/KVM-x86-Kick-VCPU-outside-PIC-lock-again.patch index 400c4eb..2237c1f 100644 --- a/KVM-x86-Kick-VCPU-outside-PIC-lock-again.patch +++ b/KVM-x86-Kick-VCPU-outside-PIC-lock-again.patch @@ -1,4 +1,4 @@ -From f8da8ae2ec69c4f90c760b4fcae63d19b3905352 Mon Sep 17 00:00:00 2001 +From d095004a29da00a028131617a0a88071c87e6a5b Mon Sep 17 00:00:00 2001 From: Jan Kiszka <jan.kiszka@siemens.com> Date: Wed, 24 Feb 2010 10:41:58 +0100 Subject: [PATCH] KVM: x86: Kick VCPU outside PIC lock again @@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c -index 3271405..8f3c9a3 100644 +index 3271405..a6a877e 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c @@ -32,6 +32,29 @@ @@ -73,7 +73,7 @@ index 3271405..8f3c9a3 100644 } /* -@@ -156,9 +179,9 @@ static void pic_update_irq(struct kvm_pic *s) +@@ -156,9 +180,9 @@ static void pic_update_irq(struct kvm_pic *s) void kvm_pic_update_irq(struct kvm_pic *s) { @@ -85,7 +85,7 @@ index 3271405..8f3c9a3 100644 } int kvm_pic_set_irq(void *opaque, int irq, int level) -@@ -166,14 +189,14 @@ int kvm_pic_set_irq(void *opaque, int irq, int level) +@@ -166,14 +190,14 @@ int kvm_pic_set_irq(void *opaque, int irq, int level) struct kvm_pic *s = opaque; int ret = -1; @@ -102,7 +102,7 @@ index 3271405..8f3c9a3 100644 return ret; } -@@ -203,7 +226,7 @@ int kvm_pic_read_irq(struct kvm *kvm) +@@ -203,7 +227,7 @@ int kvm_pic_read_irq(struct kvm *kvm) int irq, irq2, intno; struct kvm_pic *s = pic_irqchip(kvm); @@ -111,7 +111,7 @@ index 3271405..8f3c9a3 100644 irq = pic_get_irq(&s->pics[0]); if (irq >= 0) { pic_intack(&s->pics[0], irq); -@@ -228,7 +251,7 @@ int kvm_pic_read_irq(struct kvm *kvm) +@@ -228,7 +252,7 @@ int kvm_pic_read_irq(struct kvm *kvm) intno = s->pics[0].irq_base + irq; } pic_update_irq(s); @@ -120,7 +120,7 @@ index 3271405..8f3c9a3 100644 return intno; } -@@ -442,7 +465,7 @@ static int picdev_write(struct kvm_io_device *this, +@@ -442,7 +466,7 @@ static int picdev_write(struct kvm_io_device *this, printk(KERN_ERR "PIC: non byte write\n"); return 0; } @@ -129,7 +129,7 @@ index 3271405..8f3c9a3 100644 switch (addr) { case 0x20: case 0x21: -@@ -455,7 +478,7 @@ static int picdev_write(struct kvm_io_device *this, +@@ -455,7 +479,7 @@ static int picdev_write(struct kvm_io_device *this, elcr_ioport_write(&s->pics[addr & 1], addr, data); break; } @@ -138,7 +138,7 @@ index 3271405..8f3c9a3 100644 return 0; } -@@ -472,7 +495,7 @@ static int picdev_read(struct kvm_io_device *this, +@@ -472,7 +496,7 @@ static int picdev_read(struct kvm_io_device *this, printk(KERN_ERR "PIC: non byte read\n"); return 0; } @@ -147,7 +147,7 @@ index 3271405..8f3c9a3 100644 switch (addr) { case 0x20: case 0x21: -@@ -486,7 +509,7 @@ static int picdev_read(struct kvm_io_device *this, +@@ -486,7 +510,7 @@ static int picdev_read(struct kvm_io_device *this, break; } *(unsigned char *)val = data; @@ -156,7 +156,7 @@ index 3271405..8f3c9a3 100644 return 0; } -@@ -503,7 +526,7 @@ static void pic_irq_request(void *opaque, int level) +@@ -503,7 +527,7 @@ static void pic_irq_request(void *opaque, int level) s->output = level; if (vcpu && level && (s->pics[0].isr_ack & (1 << irq))) { s->pics[0].isr_ack &= ~(1 << irq); diff --git a/OF-Fixup-resursive-locking-code-paths.patch b/OF-Fixup-resursive-locking-code-paths.patch index 5f5e978..3d8efeb 100644 --- a/OF-Fixup-resursive-locking-code-paths.patch +++ b/OF-Fixup-resursive-locking-code-paths.patch @@ -1,4 +1,4 @@ -From 925df9b36dc9abe0bab32cbd2ac544d773da71ff Mon Sep 17 00:00:00 2001 +From c5ec3fd9600f42a9b19897fdef6c953301c774c2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 13 Aug 2009 09:04:10 +0200 Subject: [PATCH] OF: Fixup resursive locking code paths @@ -13,10 +13,10 @@ recursive locking. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/of/base.c b/drivers/of/base.c -index 26f4a62..3626e37 100644 +index 56f7919..eeead4e 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c -@@ -59,16 +59,14 @@ int of_n_size_cells(struct device_node *np) +@@ -60,16 +60,14 @@ int of_n_size_cells(struct device_node *np) } EXPORT_SYMBOL(of_n_size_cells); @@ -35,7 +35,7 @@ index 26f4a62..3626e37 100644 for (pp = np->properties; pp != 0; pp = pp->next) { if (of_prop_cmp(pp->name, name) == 0) { if (lenp != 0) -@@ -76,6 +74,18 @@ struct property *of_find_property(const struct device_node *np, +@@ -77,6 +75,18 @@ struct property *of_find_property(const struct device_node *np, break; } } @@ -54,7 +54,7 @@ index 26f4a62..3626e37 100644 raw_spin_unlock(&devtree_lock); return pp; -@@ -86,8 +96,20 @@ EXPORT_SYMBOL(of_find_property); +@@ -110,8 +120,20 @@ EXPORT_SYMBOL(of_find_all_nodes); * Find a property with a given name for a given node * and return the value. */ @@ -76,7 +76,7 @@ index 26f4a62..3626e37 100644 { struct property *pp = of_find_property(np, name, lenp); -@@ -98,13 +120,13 @@ EXPORT_SYMBOL(of_get_property); +@@ -122,13 +144,13 @@ EXPORT_SYMBOL(of_get_property); /** Checks if the given "compat" string matches one of the strings in * the device's "compatible" property */ @@ -94,7 +94,7 @@ index 26f4a62..3626e37 100644 if (cp == NULL) return 0; while (cplen > 0) { -@@ -117,6 +139,20 @@ int of_device_is_compatible(const struct device_node *device, +@@ -141,6 +163,20 @@ int of_device_is_compatible(const struct device_node *device, return 0; } @@ -115,7 +115,7 @@ index 26f4a62..3626e37 100644 EXPORT_SYMBOL(of_device_is_compatible); /** -@@ -319,7 +355,8 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -343,7 +379,8 @@ struct device_node *of_find_compatible_node(struct device_node *from, if (type && !(np->type && (of_node_cmp(np->type, type) == 0))) continue; @@ -125,7 +125,7 @@ index 26f4a62..3626e37 100644 break; } of_node_put(from); -@@ -363,15 +400,9 @@ out: +@@ -387,15 +424,9 @@ out: } EXPORT_SYMBOL(of_find_node_with_property); @@ -144,7 +144,7 @@ index 26f4a62..3626e37 100644 { while (matches->name[0] || matches->type[0] || matches->compatible[0]) { int match = 1; -@@ -382,14 +413,32 @@ const struct of_device_id *of_match_node(const struct of_device_id *matches, +@@ -406,14 +437,32 @@ const struct of_device_id *of_match_node(const struct of_device_id *matches, match &= node->type && !strcmp(matches->type, node->type); if (matches->compatible[0]) @@ -179,7 +179,7 @@ index 26f4a62..3626e37 100644 EXPORT_SYMBOL(of_match_node); /** -@@ -412,7 +461,7 @@ struct device_node *of_find_matching_node(struct device_node *from, +@@ -436,7 +485,7 @@ struct device_node *of_find_matching_node(struct device_node *from, raw_spin_lock(&devtree_lock); np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { diff --git a/OF-devtree_lock-needs-to-be-taken-irqsave.patch b/OF-devtree_lock-needs-to-be-taken-irqsave.patch index dd995d3..7515601 100644 --- a/OF-devtree_lock-needs-to-be-taken-irqsave.patch +++ b/OF-devtree_lock-needs-to-be-taken-irqsave.patch @@ -1,4 +1,4 @@ -From a87f354dbe174dc43a93844f2d3bc7dd990ffb32 Mon Sep 17 00:00:00 2001 +From 62b3bbbe113631dee7b373e7032e8aba45257203 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 13 Aug 2009 18:03:01 +0200 Subject: [PATCH] OF: devtree_lock needs to be taken irqsave @@ -8,10 +8,10 @@ commit a87f354dbe174dc43a93844f2d3bc7dd990ffb32 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/of/base.c b/drivers/of/base.c -index 3626e37..fc0c206 100644 +index eeead4e..ef64f7c 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c -@@ -83,10 +83,11 @@ struct property *of_find_property(const struct device_node *np, +@@ -84,10 +84,11 @@ struct property *of_find_property(const struct device_node *np, int *lenp) { struct property *pp; @@ -25,7 +25,7 @@ index 3626e37..fc0c206 100644 return pp; } -@@ -146,11 +147,12 @@ static int __of_device_is_compatible(const struct device_node *device, +@@ -170,11 +171,12 @@ static int __of_device_is_compatible(const struct device_node *device, int of_device_is_compatible(const struct device_node *device, const char *compat) { @@ -40,7 +40,7 @@ index 3626e37..fc0c206 100644 return res; } EXPORT_SYMBOL(of_device_is_compatible); -@@ -191,13 +193,14 @@ EXPORT_SYMBOL(of_device_is_available); +@@ -215,13 +217,14 @@ EXPORT_SYMBOL(of_device_is_available); struct device_node *of_get_parent(const struct device_node *node) { struct device_node *np; @@ -57,7 +57,7 @@ index 3626e37..fc0c206 100644 return np; } EXPORT_SYMBOL(of_get_parent); -@@ -216,14 +219,15 @@ EXPORT_SYMBOL(of_get_parent); +@@ -240,14 +243,15 @@ EXPORT_SYMBOL(of_get_parent); struct device_node *of_get_next_parent(struct device_node *node) { struct device_node *parent; @@ -75,7 +75,7 @@ index 3626e37..fc0c206 100644 return parent; } -@@ -239,14 +243,15 @@ struct device_node *of_get_next_child(const struct device_node *node, +@@ -263,14 +267,15 @@ struct device_node *of_get_next_child(const struct device_node *node, struct device_node *prev) { struct device_node *next; @@ -93,7 +93,7 @@ index 3626e37..fc0c206 100644 return next; } EXPORT_SYMBOL(of_get_next_child); -@@ -261,14 +266,15 @@ EXPORT_SYMBOL(of_get_next_child); +@@ -285,14 +290,15 @@ EXPORT_SYMBOL(of_get_next_child); struct device_node *of_find_node_by_path(const char *path) { struct device_node *np = allnodes; @@ -111,7 +111,7 @@ index 3626e37..fc0c206 100644 return np; } EXPORT_SYMBOL(of_find_node_by_path); -@@ -288,15 +294,16 @@ struct device_node *of_find_node_by_name(struct device_node *from, +@@ -312,15 +318,16 @@ struct device_node *of_find_node_by_name(struct device_node *from, const char *name) { struct device_node *np; @@ -130,7 +130,7 @@ index 3626e37..fc0c206 100644 return np; } EXPORT_SYMBOL(of_find_node_by_name); -@@ -317,15 +324,16 @@ struct device_node *of_find_node_by_type(struct device_node *from, +@@ -341,15 +348,16 @@ struct device_node *of_find_node_by_type(struct device_node *from, const char *type) { struct device_node *np; @@ -149,7 +149,7 @@ index 3626e37..fc0c206 100644 return np; } EXPORT_SYMBOL(of_find_node_by_type); -@@ -348,8 +356,9 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -372,8 +380,9 @@ struct device_node *of_find_compatible_node(struct device_node *from, const char *type, const char *compatible) { struct device_node *np; @@ -160,7 +160,7 @@ index 3626e37..fc0c206 100644 np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { if (type -@@ -360,7 +369,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -384,7 +393,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, break; } of_node_put(from); @@ -169,7 +169,7 @@ index 3626e37..fc0c206 100644 return np; } EXPORT_SYMBOL(of_find_compatible_node); -@@ -382,8 +391,9 @@ struct device_node *of_find_node_with_property(struct device_node *from, +@@ -406,8 +415,9 @@ struct device_node *of_find_node_with_property(struct device_node *from, { struct device_node *np; struct property *pp; @@ -180,7 +180,7 @@ index 3626e37..fc0c206 100644 np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { for (pp = np->properties; pp != 0; pp = pp->next) { -@@ -395,7 +405,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, +@@ -419,7 +429,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, } out: of_node_put(from); @@ -189,7 +189,7 @@ index 3626e37..fc0c206 100644 return np; } EXPORT_SYMBOL(of_find_node_with_property); -@@ -433,10 +443,11 @@ const struct of_device_id *of_match_node(const struct of_device_id *matches, +@@ -457,10 +467,11 @@ const struct of_device_id *of_match_node(const struct of_device_id *matches, const struct device_node *node) { const struct of_device_id *match; @@ -203,7 +203,7 @@ index 3626e37..fc0c206 100644 return match; } EXPORT_SYMBOL(of_match_node); -@@ -457,15 +468,16 @@ struct device_node *of_find_matching_node(struct device_node *from, +@@ -481,15 +492,16 @@ struct device_node *of_find_matching_node(struct device_node *from, const struct of_device_id *matches) { struct device_node *np; diff --git a/PREEMPT_LOCK_OFFSET-force-to-zero-on-RT.patch b/PREEMPT_LOCK_OFFSET-force-to-zero-on-RT.patch index dbf3306..c81ed90 100644 --- a/PREEMPT_LOCK_OFFSET-force-to-zero-on-RT.patch +++ b/PREEMPT_LOCK_OFFSET-force-to-zero-on-RT.patch @@ -1,4 +1,4 @@ -From 57466b9cef82433db28b6002d921f253a33180a1 Mon Sep 17 00:00:00 2001 +From 7d700e22ae59cd605399d9dd050aaa35bd7e1dcf Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 11:58:53 -0500 Subject: [PATCH] PREEMPT_LOCK_OFFSET: force to zero on RT @@ -31,10 +31,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 7926974..6d34355 100644 +index eed1065..8dbd95c 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2562,7 +2562,7 @@ extern int _cond_resched(void); +@@ -2525,7 +2525,7 @@ extern int _cond_resched(void); extern int __cond_resched_lock(spinlock_t *lock); diff --git a/RT-kernel-sched.c-Fixup-of-implicit-declaration-of-f.patch b/RT-kernel-sched.c-Fixup-of-implicit-declaration-of-f.patch index 61e8891..3b6cef5 100644 --- a/RT-kernel-sched.c-Fixup-of-implicit-declaration-of-f.patch +++ b/RT-kernel-sched.c-Fixup-of-implicit-declaration-of-f.patch @@ -1,4 +1,4 @@ -From 605b0999f333b2e5a6361207173725b2bfa2df52 Mon Sep 17 00:00:00 2001 +From 3ce5cf5cacdfb27a6101b88e5fde8bfd5120dd16 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Thu, 17 Sep 2009 11:44:30 +0800 Subject: [PATCH] RT: kernel/sched.c: Fixup of "implicit declaration of function '_finish_arch_switch'" @@ -22,7 +22,7 @@ arch/mips/include/asm/system.h:#define finish_arch_switch(prev) Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> diff --git a/kernel/sched.c b/kernel/sched.c -index aaa9918..1bd521b 100644 +index 2119115..4c581d4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -919,6 +919,8 @@ static inline u64 global_rt_runtime(void) diff --git a/acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch b/acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch index d00fc7d..498a40b 100644 --- a/acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch +++ b/acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch @@ -1,4 +1,4 @@ -From cf3d66ac52acec41987926996a665c93e3c4c378 Mon Sep 17 00:00:00 2001 +From e049db9003fdef94fcd891e98a76224ed30c8f54 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Jul 2009 22:54:51 +0200 Subject: [PATCH] acpi: Do not disable interrupts on PREEMPT_RT @@ -8,7 +8,7 @@ commit cf3d66ac52acec41987926996a665c93e3c4c378 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h -index 20d1465..b87dff9 100644 +index 56f462c..ead7e0b 100644 --- a/arch/x86/include/asm/acpi.h +++ b/arch/x86/include/asm/acpi.h @@ -50,8 +50,8 @@ diff --git a/affs-use-semaphore_init-instead-of-init_MUTEX.patch b/affs-use-semaphore_init-instead-of-init_MUTEX.patch index b1610b3..936f30c 100644 --- a/affs-use-semaphore_init-instead-of-init_MUTEX.patch +++ b/affs-use-semaphore_init-instead-of-init_MUTEX.patch @@ -1,4 +1,4 @@ -From ca17ebb87927dd486e926b386ff52a5c6d555504 Mon Sep 17 00:00:00 2001 +From 800a567c248b40e3172120a9baf1208ea003f692 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:40:31 +0200 Subject: [PATCH] affs: use semaphore_init instead of init_MUTEX @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> diff --git a/fs/affs/super.c b/fs/affs/super.c -index 104fdcb..b26e824 100644 +index d41e967..b3b1a86 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c @@ -113,8 +113,8 @@ static void init_once(void *foo) diff --git a/arm-Prepare-decoupling-page-fault-logic-from-preempt.patch b/arm-Prepare-decoupling-page-fault-logic-from-preempt.patch index 0a7c02b..e7d4a73 100644 --- a/arm-Prepare-decoupling-page-fault-logic-from-preempt.patch +++ b/arm-Prepare-decoupling-page-fault-logic-from-preempt.patch @@ -1,4 +1,4 @@ -From 9cc0ea6be0eafee87ffe5e4d7bb9cc4594235693 Mon Sep 17 00:00:00 2001 +From c095f66000760bcee5414f538b4b232d4d0ca90c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 15:20:58 +0200 Subject: [PATCH] arm: Prepare decoupling page-fault logic from preempt-count @@ -8,10 +8,10 @@ commit 9cc0ea6be0eafee87ffe5e4d7bb9cc4594235693 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c -index 6fdcbb7..02a07d8 100644 +index 10e0680..7aa9b88 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c -@@ -258,7 +258,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) +@@ -273,7 +273,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) * If we're in an interrupt or have no user * context, we must not take the fault.. */ diff --git a/ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch b/ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch index f01f86f..d008afb 100644 --- a/ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch +++ b/ata-Do-not-disable-interrupts-in-ide-code-for-preemp.patch @@ -1,4 +1,4 @@ -From 1a62b43cbf8d17e744c4978451d053f85cf46a96 Mon Sep 17 00:00:00 2001 +From e0390e128c9d8e8f6babca9527466abd291b759d Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:29 -0500 Subject: [PATCH] ata: Do not disable interrupts in ide code for preempt-rt @@ -12,7 +12,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c -index bbbb1fa..b79d110 100644 +index 730ef3c..bc24dfb 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c @@ -837,9 +837,9 @@ unsigned int ata_sff_data_xfer_noirq(struct ata_device *dev, unsigned char *buf, @@ -45,7 +45,7 @@ index bbbb1fa..b79d110 100644 } else { buf = page_address(page); ap->ops->sff_data_xfer(qc->dev, buf + offset, qc->sect_size, -@@ -1016,7 +1016,7 @@ next_sg: +@@ -1019,7 +1019,7 @@ next_sg: unsigned long flags; /* FIXME: use bounce buffer */ @@ -54,7 +54,7 @@ index bbbb1fa..b79d110 100644 buf = kmap_atomic(page, KM_IRQ0); /* do the actual data transfer */ -@@ -1024,7 +1024,7 @@ next_sg: +@@ -1027,7 +1027,7 @@ next_sg: count, rw); kunmap_atomic(buf, KM_IRQ0); diff --git a/cifs-convert-semaphore-to-mutex.patch b/cifs-convert-semaphore-to-mutex.patch index 9445c3e..a6280d7 100644 --- a/cifs-convert-semaphore-to-mutex.patch +++ b/cifs-convert-semaphore-to-mutex.patch @@ -1,4 +1,4 @@ -From 278e3698ae51052c21b0e853ef18bd8a75cc41a3 Mon Sep 17 00:00:00 2001 +From 7d9f7107081dc4c4d6cd89138e57400b0382e0e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:25:13 +0200 Subject: [PATCH] cifs: convert semaphore to mutex @@ -12,7 +12,7 @@ Cc: Steve French <sfrench@us.ibm.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h -index 2568889..4535a33 100644 +index ed751bb..a1c817e 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -205,7 +205,7 @@ struct cifsUidInfo { @@ -25,7 +25,7 @@ index 2568889..4535a33 100644 struct cifsUidInfo *uidInfo; /* pointer to user info */ #endif diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c -index 4e6dbab..bc3114c 100644 +index 941441d..63de4d6 100644 --- a/fs/cifs/cifssmb.c +++ b/fs/cifs/cifssmb.c @@ -170,19 +170,19 @@ cifs_reconnect_tcon(struct cifsTconInfo *tcon, int smb_command) diff --git a/cond_resched_softirq-mask-SOFTIRQ_OFFSET-in-__might_.patch b/cond_resched_softirq-mask-SOFTIRQ_OFFSET-in-__might_.patch index 3604d3a..acf2054 100644 --- a/cond_resched_softirq-mask-SOFTIRQ_OFFSET-in-__might_.patch +++ b/cond_resched_softirq-mask-SOFTIRQ_OFFSET-in-__might_.patch @@ -1,4 +1,4 @@ -From b14c6f42b25867e943165aa5eab719c7d8fe1b75 Mon Sep 17 00:00:00 2001 +From 77c4064a4df38a45d1504aab8d0116aa4d10c335 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 12:03:17 -0500 Subject: [PATCH] cond_resched_softirq: mask SOFTIRQ_OFFSET in __might_sleep on RT @@ -33,10 +33,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 7165ba5..30cbb0a 100644 +index 8dbd95c..e07e7ef 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2540,10 +2540,18 @@ extern int __cond_resched_lock(spinlock_t *lock); +@@ -2538,10 +2538,18 @@ extern int __cond_resched_lock(spinlock_t *lock); extern int __cond_resched_softirq(void); diff --git a/console-rt-support.patch b/console-rt-support.patch index 98bc0d0..9a2bab7 100644 --- a/console-rt-support.patch +++ b/console-rt-support.patch @@ -1,4 +1,4 @@ -From 76a0a41f5ee87263c88f83798eeeed5015fd720f Mon Sep 17 00:00:00 2001 +From aaa8b0586726cb7dab0c5084f0493bb669d53d9d Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:15 -0500 Subject: [PATCH] console: rt support @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c -index 471a9a6..7b09263 100644 +index 3681c6a..e037da3 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c -@@ -1203,7 +1203,6 @@ static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height, +@@ -1226,7 +1226,6 @@ static void fbcon_clear(struct vc_data *vc, int sy, int sx, int height, { struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; struct fbcon_ops *ops = info->fbcon_par; @@ -20,7 +20,7 @@ index 471a9a6..7b09263 100644 struct display *p = &fb_display[vc->vc_num]; u_int y_break; -@@ -1235,10 +1234,11 @@ static void fbcon_putcs(struct vc_data *vc, const unsigned short *s, +@@ -1258,10 +1257,11 @@ static void fbcon_putcs(struct vc_data *vc, const unsigned short *s, struct display *p = &fb_display[vc->vc_num]; struct fbcon_ops *ops = info->fbcon_par; @@ -33,7 +33,7 @@ index 471a9a6..7b09263 100644 } static void fbcon_putc(struct vc_data *vc, int c, int ypos, int xpos) -@@ -3225,6 +3225,7 @@ static const struct consw fb_con = { +@@ -3258,6 +3258,7 @@ static const struct consw fb_con = { .con_screen_pos = fbcon_screen_pos, .con_getxy = fbcon_getxy, .con_resize = fbcon_resize, diff --git a/core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch b/core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch index 0abed9f..354e0da 100644 --- a/core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch +++ b/core-Do-not-disable-interrupts-on-RT-in-kernel-users.patch @@ -1,4 +1,4 @@ -From 3d6ac61dfab979f3d8bec531772773b9dfaf0800 Mon Sep 17 00:00:00 2001 +From 8cd5722c77216adab9ae2606e520b37fa6f0cd5d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Jul 2009 23:06:05 +0200 Subject: [PATCH] core: Do not disable interrupts on RT in kernel/users.c @@ -11,7 +11,7 @@ is serialized by the locks. No need to disable interrupts. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/user.c b/kernel/user.c -index 2c000e7..2d0519d 100644 +index 46d0165..0c81912 100644 --- a/kernel/user.c +++ b/kernel/user.c @@ -416,11 +416,11 @@ void free_uid(struct user_struct *up) diff --git a/core-Do-not-disable-interrupts-on-RT-in-res_counter..patch b/core-Do-not-disable-interrupts-on-RT-in-res_counter..patch index 53b7405..743dac8 100644 --- a/core-Do-not-disable-interrupts-on-RT-in-res_counter..patch +++ b/core-Do-not-disable-interrupts-on-RT-in-res_counter..patch @@ -1,4 +1,4 @@ -From 08aaf7b5c10c1e497d4a8b2344e380be7c638846 Mon Sep 17 00:00:00 2001 +From cabdb3dd5ed092c6a2b7844d1abe6f748b3a9ed6 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:33 -0500 Subject: [PATCH] core: Do not disable interrupts on RT in res_counter.c @@ -46,7 +46,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/res_counter.c b/kernel/res_counter.c -index e1338f0..988a919 100644 +index bcdabf3..a340d29 100644 --- a/kernel/res_counter.c +++ b/kernel/res_counter.c @@ -14,6 +14,7 @@ @@ -57,7 +57,7 @@ index e1338f0..988a919 100644 void res_counter_init(struct res_counter *counter, struct res_counter *parent) { -@@ -43,7 +44,7 @@ int res_counter_charge(struct res_counter *counter, unsigned long val, +@@ -44,7 +45,7 @@ int res_counter_charge(struct res_counter *counter, unsigned long val, struct res_counter *c, *u; *limit_fail_at = NULL; @@ -66,7 +66,7 @@ index e1338f0..988a919 100644 for (c = counter; c != NULL; c = c->parent) { spin_lock(&c->lock); ret = res_counter_charge_locked(c, val); -@@ -62,7 +63,7 @@ undo: +@@ -63,7 +64,7 @@ undo: spin_unlock(&u->lock); } done: @@ -75,7 +75,7 @@ index e1338f0..988a919 100644 return ret; } -@@ -79,13 +80,13 @@ void res_counter_uncharge(struct res_counter *counter, unsigned long val) +@@ -80,13 +81,13 @@ void res_counter_uncharge(struct res_counter *counter, unsigned long val) unsigned long flags; struct res_counter *c; diff --git a/core-Provide-preempt_-_-no-rt-variants.patch b/core-Provide-preempt_-_-no-rt-variants.patch index 569f19c..71d0675 100644 --- a/core-Provide-preempt_-_-no-rt-variants.patch +++ b/core-Provide-preempt_-_-no-rt-variants.patch @@ -1,4 +1,4 @@ -From 769610edf15e38b8fa5f6beac8e6bfaeaff690d1 Mon Sep 17 00:00:00 2001 +From 1624d62862e3439bbc7e4f4bb04f029d0bddd5e6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 12:38:56 +0200 Subject: [PATCH] core: Provide preempt_*_(no)rt variants @@ -11,10 +11,10 @@ otherwise. Implement variants to avoid #ifdeffery. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/preempt.h b/include/linux/preempt.h -index 72b1a10..8d97e1d 100644 +index 5c7dba8..9dfe0eb 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h -@@ -93,6 +93,18 @@ do { \ +@@ -107,6 +107,18 @@ do { \ #endif diff --git a/core-Revert-the-in_irq-in_softirq-modifications.patch b/core-Revert-the-in_irq-in_softirq-modifications.patch index 3fff1e1..358afca 100644 --- a/core-Revert-the-in_irq-in_softirq-modifications.patch +++ b/core-Revert-the-in_irq-in_softirq-modifications.patch @@ -1,4 +1,4 @@ -From 04b721cb403b306b4ae3c3834b5d19ac1e938ee1 Mon Sep 17 00:00:00 2001 +From 3daf998b12ce605e4a3fa81fce0633050182e3a3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 23 Feb 2010 15:03:02 +0100 Subject: [PATCH] core: Revert the in_irq() in_softirq() modifications @@ -31,7 +31,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h -index 1227b4c..beac0c8 100644 +index 3223348..b5dec50 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h @@ -83,8 +83,8 @@ diff --git a/cpu-hotplug-Don-t-wake-up-the-desched-thread-from-id.patch b/cpu-hotplug-Don-t-wake-up-the-desched-thread-from-id.patch index 81019dd..7a6d634 100644 --- a/cpu-hotplug-Don-t-wake-up-the-desched-thread-from-id.patch +++ b/cpu-hotplug-Don-t-wake-up-the-desched-thread-from-id.patch @@ -1,4 +1,4 @@ -From 8e7dbdf187d6a6896873a32537fed62111a5910e Mon Sep 17 00:00:00 2001 +From fe22ca5ca9e5d5b5fa6742b7ad40986c8389f155 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 20 Jul 2010 14:30:57 +0200 Subject: [PATCH] cpu-hotplug: Don't wake up the desched thread from idle_task_exit() @@ -11,10 +11,10 @@ desched thread. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 82d06e3..4610e2c 100644 +index b4f912f..631c0af 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2290,7 +2290,7 @@ extern struct mm_struct * mm_alloc(void); +@@ -2286,7 +2286,7 @@ extern struct mm_struct * mm_alloc(void); /* mmdrop drops the mm and the page tables */ extern void __mmdrop(struct mm_struct *); @@ -23,7 +23,7 @@ index 82d06e3..4610e2c 100644 static inline void mmdrop(struct mm_struct * mm) { -@@ -2298,10 +2298,10 @@ static inline void mmdrop(struct mm_struct * mm) +@@ -2294,10 +2294,10 @@ static inline void mmdrop(struct mm_struct * mm) __mmdrop(mm); } @@ -37,10 +37,10 @@ index 82d06e3..4610e2c 100644 /* mmput gets rid of the mappings and all user-space */ diff --git a/kernel/fork.c b/kernel/fork.c -index ebe00ba..1d4acdf 100644 +index 6dc8e27..74192aa 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1803,24 +1803,26 @@ int unshare_files(struct files_struct **displaced) +@@ -1805,24 +1805,26 @@ int unshare_files(struct files_struct **displaced) return 0; } @@ -72,7 +72,7 @@ index ebe00ba..1d4acdf 100644 return ret; } -@@ -1829,7 +1831,7 @@ static int mmdrop_complete(void) +@@ -1831,7 +1833,7 @@ static int mmdrop_complete(void) * We dont want to do complex work from the scheduler, thus * we delay the work to a per-CPU worker thread: */ @@ -81,7 +81,7 @@ index ebe00ba..1d4acdf 100644 { struct task_struct *desched_task; struct list_head *head; -@@ -1837,7 +1839,7 @@ void __mmdrop_delayed(struct mm_struct *mm) +@@ -1839,7 +1841,7 @@ void __mmdrop_delayed(struct mm_struct *mm) head = &get_cpu_var(delayed_drop_list); list_add_tail(&mm->delayed_drop, head); desched_task = __get_cpu_var(desched_task); @@ -90,7 +90,7 @@ index ebe00ba..1d4acdf 100644 wake_up_process(desched_task); put_cpu_var(delayed_drop_list); } -@@ -1852,13 +1854,16 @@ static void takeover_delayed_drop(int hotcpu) +@@ -1854,13 +1856,16 @@ static void takeover_delayed_drop(int hotcpu) struct mm_struct, delayed_drop); list_del(&mm->delayed_drop); @@ -108,7 +108,7 @@ index ebe00ba..1d4acdf 100644 set_user_nice(current, -10); current->flags |= PF_NOFREEZE; current->extra_flags |= PFE_SOFTIRQ; -@@ -1867,7 +1872,7 @@ static int desched_thread(void * __bind_cpu) +@@ -1869,7 +1874,7 @@ static int desched_thread(void * __bind_cpu) while (!kthread_should_stop()) { @@ -118,7 +118,7 @@ index ebe00ba..1d4acdf 100644 schedule(); diff --git a/kernel/sched.c b/kernel/sched.c -index bbc181f..0561677 100644 +index f03f1d2..f8557a5 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2939,7 +2939,7 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) @@ -130,7 +130,7 @@ index bbc181f..0561677 100644 if (unlikely(prev_state == TASK_DEAD)) { /* * Remove function-return probe instances associated with this -@@ -7814,7 +7814,7 @@ void idle_task_exit(void) +@@ -7787,7 +7787,7 @@ void idle_task_exit(void) if (mm != &init_mm) switch_mm(mm, &init_mm, current); #ifdef CONFIG_PREEMPT_RT diff --git a/drivers-base-Convert-dev-sem-to-mutex.patch b/drivers-base-Convert-dev-sem-to-mutex.patch index 6948c03..06eda87 100644 --- a/drivers-base-Convert-dev-sem-to-mutex.patch +++ b/drivers-base-Convert-dev-sem-to-mutex.patch @@ -1,4 +1,4 @@ -From 9d72431831701b56373a68db3e8e0240ed5ca042 Mon Sep 17 00:00:00 2001 +From 98943ff21e24787f74b8a7c27c6f0939144c0ef2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:11:46 +0200 Subject: [PATCH] drivers/base: Convert dev->sem to mutex @@ -72,7 +72,7 @@ index c0c5a43..9d1a0b1 100644 return bus_rescan_devices_helper(dev, NULL); } diff --git a/drivers/base/core.c b/drivers/base/core.c -index fb4bc4f..f06a097 100644 +index 2820257..004302c 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -20,7 +20,6 @@ @@ -357,10 +357,10 @@ index cef28a7..caa6295 100644 break; } diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c -index b8eb5e7..73e45f7 100644 +index 315fea4..36339e0 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c -@@ -2300,7 +2300,7 @@ static int pci_dev_reset(struct pci_dev *dev, int probe) +@@ -2304,7 +2304,7 @@ static int pci_dev_reset(struct pci_dev *dev, int probe) if (!probe) { pci_block_user_cfg_access(dev); /* block PM suspend, driver probe, etc. */ @@ -369,7 +369,7 @@ index b8eb5e7..73e45f7 100644 } rc = pci_dev_specific_reset(dev, probe); -@@ -2322,7 +2322,7 @@ static int pci_dev_reset(struct pci_dev *dev, int probe) +@@ -2326,7 +2326,7 @@ static int pci_dev_reset(struct pci_dev *dev, int probe) rc = pci_parent_bus_reset(dev, probe); done: if (!probe) { @@ -407,7 +407,7 @@ index 1a4a3c4..263bdc8 100644 /************************ per-device sysfs output ***************************/ diff --git a/drivers/usb/core/driver.c b/drivers/usb/core/driver.c -index d9d0bf5..4a4e7ee 100644 +index 60a45f1..66dc262 100644 --- a/drivers/usb/core/driver.c +++ b/drivers/usb/core/driver.c @@ -470,10 +470,10 @@ void usb_driver_release_interface(struct usb_driver *driver, @@ -424,7 +424,7 @@ index d9d0bf5..4a4e7ee 100644 } EXPORT_SYMBOL_GPL(usb_driver_release_interface); diff --git a/drivers/uwb/umc-bus.c b/drivers/uwb/umc-bus.c -index cdd6c8e..b0efda6 100644 +index cdd6c8e..f063451 100644 --- a/drivers/uwb/umc-bus.c +++ b/drivers/uwb/umc-bus.c @@ -62,12 +62,12 @@ int umc_controller_reset(struct umc_dev *umc) diff --git a/drivers-hwmon-coretemp.c-detect-the-thermal-sensors-.patch b/drivers-hwmon-coretemp.c-detect-the-thermal-sensors-.patch index 03871be..7a50220 100644 --- a/drivers-hwmon-coretemp.c-detect-the-thermal-sensors-.patch +++ b/drivers-hwmon-coretemp.c-detect-the-thermal-sensors-.patch @@ -1,4 +1,4 @@ -From e8bfccab2b96534765b6bd5c3be84a1a5925ba62 Mon Sep 17 00:00:00 2001 +From 4e31d9b5a6bb9d3618e1b44385b472d6c0c8597d Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Mon, 24 May 2010 14:33:39 -0700 Subject: [PATCH] drivers/hwmon/coretemp.c: detect the thermal sensors by CPUID @@ -21,7 +21,7 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c -index cb4290a..9fae7cb 100644 +index 2d7bcee..915dff5 100644 --- a/drivers/hwmon/coretemp.c +++ b/drivers/hwmon/coretemp.c @@ -451,28 +451,20 @@ static int __init coretemp_init(void) diff --git a/drivers-hwmon-coretemp.c-get-TjMax-value-from-MSR.patch b/drivers-hwmon-coretemp.c-get-TjMax-value-from-MSR.patch index 533ad0c..b2d7d28 100644 --- a/drivers-hwmon-coretemp.c-get-TjMax-value-from-MSR.patch +++ b/drivers-hwmon-coretemp.c-get-TjMax-value-from-MSR.patch @@ -1,4 +1,4 @@ -From ab774e8960b7eb5aec4ccaa2fd09b49fbb368d1a Mon Sep 17 00:00:00 2001 +From 8bff8426ecaa0abeb683b12c825d649078745275 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Mon, 24 May 2010 14:33:41 -0700 Subject: [PATCH] drivers/hwmon/coretemp.c: get TjMax value from MSR @@ -21,10 +21,10 @@ Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h -index 4604e6a..9bc0cf8 100644 +index 1cd58cd..1f0002d 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h -@@ -232,6 +232,8 @@ +@@ -230,6 +230,8 @@ #define MSR_IA32_MISC_ENABLE 0x000001a0 @@ -34,7 +34,7 @@ index 4604e6a..9bc0cf8 100644 #define MSR_IA32_MISC_ENABLE_FAST_STRING (1ULL << 0) #define MSR_IA32_MISC_ENABLE_TCC (1ULL << 1) diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c -index 9fae7cb..2988da1 100644 +index 915dff5..be2cf9b 100644 --- a/drivers/hwmon/coretemp.c +++ b/drivers/hwmon/coretemp.c @@ -241,6 +241,55 @@ static int __devinit adjust_tjmax(struct cpuinfo_x86 *c, u32 id, struct device * diff --git a/drivers-macintosh-adb-Do-not-claim-that-the-semaphor.patch b/drivers-macintosh-adb-Do-not-claim-that-the-semaphor.patch index 4a6aba5..1240eb2 100644 --- a/drivers-macintosh-adb-Do-not-claim-that-the-semaphor.patch +++ b/drivers-macintosh-adb-Do-not-claim-that-the-semaphor.patch @@ -1,4 +1,4 @@ -From 9b499baa6a91c12360b69b0402171d760c2b6eb5 Mon Sep 17 00:00:00 2001 +From 17f5c647718e8383e459c6a86a9e82cb64ace93e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:25:18 +0200 Subject: [PATCH] drivers/macintosh/adb: Do not claim that the semaphore is a mutex @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> diff --git a/drivers/macintosh/adb.c b/drivers/macintosh/adb.c -index 23741ce..4d9b203 100644 +index 23741ce..14910a0 100644 --- a/drivers/macintosh/adb.c +++ b/drivers/macintosh/adb.c @@ -83,7 +83,7 @@ static struct adb_driver *adb_controller; diff --git a/drivers-net-Use-disable_irq_nosync-in-8139too.patch b/drivers-net-Use-disable_irq_nosync-in-8139too.patch index 74c9bf3..97f1660 100644 --- a/drivers-net-Use-disable_irq_nosync-in-8139too.patch +++ b/drivers-net-Use-disable_irq_nosync-in-8139too.patch @@ -1,4 +1,4 @@ -From 6c8bc0117209ae448ca6eb3e82caee6340be6254 Mon Sep 17 00:00:00 2001 +From 3948aaad6a3b33e3a11f1c7b9b9b99b458c23b2d Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:24 -0500 Subject: [PATCH] drivers/net: Use disable_irq_nosync() in 8139too @@ -12,7 +12,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c -index 0e2ba21..560c233 100644 +index 25f7339..3b8ff0d 100644 --- a/drivers/net/8139too.c +++ b/drivers/net/8139too.c @@ -2195,7 +2195,11 @@ static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance) diff --git a/drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch b/drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch index 49ddb55..fa5abff 100644 --- a/drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch +++ b/drivers-net-tulip_remove_one-needs-to-call-pci_disab.patch @@ -1,4 +1,4 @@ -From 66982eb8843526b65094640835180acee28707f1 Mon Sep 17 00:00:00 2001 +From 450d743f5efccabeeee0494a69f425e2a5115cc5 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:18 -0500 Subject: [PATCH] drivers/net: tulip_remove_one needs to call pci_disable_device() @@ -11,10 +11,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c -index 99a6364..5889238 100644 +index 20696b5..541a860 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c -@@ -1816,6 +1816,7 @@ static void __devexit tulip_remove_one (struct pci_dev *pdev) +@@ -1837,6 +1837,7 @@ static void __devexit tulip_remove_one (struct pci_dev *pdev) pci_iounmap(pdev, tp->base_addr); free_netdev (dev); pci_release_regions (pdev); diff --git a/drivers-net-vortex-fix-locking-issues.patch b/drivers-net-vortex-fix-locking-issues.patch index 01086c3..6a3fb00 100644 --- a/drivers-net-vortex-fix-locking-issues.patch +++ b/drivers-net-vortex-fix-locking-issues.patch @@ -1,4 +1,4 @@ -From 99c5059eca9de458b1ccd5e1e929d6f27ea56d12 Mon Sep 17 00:00:00 2001 +From 459833e39814ffe6c88be4e8edd3d5b9ef01e098 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Fri, 3 Jul 2009 08:30:00 -0500 Subject: [PATCH] drivers/net: vortex fix locking issues @@ -21,10 +21,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c -index c34aee9..ee071b3 100644 +index 39db0e9..43dcc78 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c -@@ -791,9 +791,9 @@ static void poll_vortex(struct net_device *dev) +@@ -797,9 +797,9 @@ static void poll_vortex(struct net_device *dev) { struct vortex_private *vp = netdev_priv(dev); unsigned long flags; @@ -36,7 +36,7 @@ index c34aee9..ee071b3 100644 } #endif -@@ -1762,6 +1762,7 @@ vortex_timer(unsigned long data) +@@ -1764,6 +1764,7 @@ vortex_timer(unsigned long data) int next_tick = 60*HZ; int ok = 0; int media_status, old_window; @@ -44,7 +44,7 @@ index c34aee9..ee071b3 100644 if (vortex_debug > 2) { pr_debug("%s: Media selection timer tick happened, %s.\n", -@@ -1769,7 +1770,7 @@ vortex_timer(unsigned long data) +@@ -1771,7 +1772,7 @@ vortex_timer(unsigned long data) pr_debug("dev->watchdog_timeo=%d\n", dev->watchdog_timeo); } @@ -53,7 +53,7 @@ index c34aee9..ee071b3 100644 old_window = ioread16(ioaddr + EL3_CMD) >> 13; EL3WINDOW(4); media_status = ioread16(ioaddr + Wn4_Media); -@@ -1792,10 +1793,7 @@ vortex_timer(unsigned long data) +@@ -1794,10 +1795,7 @@ vortex_timer(unsigned long data) case XCVR_MII: case XCVR_NWAY: { ok = 1; @@ -64,7 +64,7 @@ index c34aee9..ee071b3 100644 } break; default: /* Other media types handled by Tx timeouts. */ -@@ -1849,7 +1847,7 @@ leave_media_alone: +@@ -1851,7 +1849,7 @@ leave_media_alone: dev->name, media_tbl[dev->if_port].name); EL3WINDOW(old_window); @@ -73,7 +73,7 @@ index c34aee9..ee071b3 100644 mod_timer(&vp->timer, RUN_AT(next_tick)); if (vp->deferred) iowrite16(FakeIntr, ioaddr + EL3_CMD); -@@ -1883,12 +1881,12 @@ static void vortex_tx_timeout(struct net_device *dev) +@@ -1885,12 +1883,12 @@ static void vortex_tx_timeout(struct net_device *dev) * Block interrupts because vortex_interrupt does a bare spin_lock() */ unsigned long flags; diff --git a/drivers-random-Reduce-preempt-disabled-region.patch b/drivers-random-Reduce-preempt-disabled-region.patch index ec5ba16..2237982 100644 --- a/drivers-random-Reduce-preempt-disabled-region.patch +++ b/drivers-random-Reduce-preempt-disabled-region.patch @@ -1,4 +1,4 @@ -From be791b93a95b8a8808c2f15e1349843aa04e868c Mon Sep 17 00:00:00 2001 +From d7247f625be7fbb17960c14b006d4478a63862df Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:30 -0500 Subject: [PATCH] drivers: random: Reduce preempt disabled region @@ -11,10 +11,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/char/random.c b/drivers/char/random.c -index 8c74448..91cc9c6 100644 +index 2849713..5e54b4b 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c -@@ -623,8 +623,11 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) +@@ -625,8 +625,11 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) preempt_disable(); /* if over the trickle threshold, use only 1 in 4096 samples */ if (input_pool.entropy_count > trickle_thresh && @@ -28,7 +28,7 @@ index 8c74448..91cc9c6 100644 sample.jiffies = jiffies; sample.cycles = get_cycles(); -@@ -666,8 +669,6 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) +@@ -668,8 +671,6 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) credit_entropy_bits(&input_pool, min_t(int, fls(delta>>1), 11)); } diff --git a/drivers-serial-Clean-up-the-locking-for-rt.patch b/drivers-serial-Clean-up-the-locking-for-rt.patch index 260a452..1c104da 100644 --- a/drivers-serial-Clean-up-the-locking-for-rt.patch +++ b/drivers-serial-Clean-up-the-locking-for-rt.patch @@ -1,4 +1,4 @@ -From 295048108ae1c03ede2297c08133526c5a1b6b3b Mon Sep 17 00:00:00 2001 +From 6d60c75c339e44f48c2e88d4aa3d8c1aafdb24be Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:01 -0500 Subject: [PATCH] drivers/serial: Clean up the locking for -rt @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index fb867a9..a1f403e 100644 +index e9b15c3..e348e3c 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -2729,14 +2729,10 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) +@@ -2735,14 +2735,10 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) touch_nmi_watchdog(); @@ -31,7 +31,7 @@ index fb867a9..a1f403e 100644 /* * First save the IER then disable the interrupts -@@ -2768,8 +2764,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) +@@ -2774,8 +2770,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) check_modem_status(up); if (locked) diff --git a/drivers-serial-call-flush_to_ldisc-when-the-irq-is-t.patch b/drivers-serial-call-flush_to_ldisc-when-the-irq-is-t.patch index 77cd3ca..6481609 100644 --- a/drivers-serial-call-flush_to_ldisc-when-the-irq-is-t.patch +++ b/drivers-serial-call-flush_to_ldisc-when-the-irq-is-t.patch @@ -1,4 +1,4 @@ -From 7f36d9deaafb246caadc3a94d785e9d856209e01 Mon Sep 17 00:00:00 2001 +From 0e42d26f9cf75079dae4c99c734dc6e99b7258eb Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:01 -0500 Subject: [PATCH] drivers/serial: call flush_to_ldisc when the irq is threaded @@ -8,10 +8,10 @@ commit 7f36d9deaafb246caadc3a94d785e9d856209e01 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/drivers/char/tty_buffer.c b/drivers/char/tty_buffer.c -index 810ee25..fdd8542 100644 +index 66fa4e1..17dfa02 100644 --- a/drivers/char/tty_buffer.c +++ b/drivers/char/tty_buffer.c -@@ -482,10 +482,14 @@ void tty_flip_buffer_push(struct tty_struct *tty) +@@ -492,10 +492,14 @@ void tty_flip_buffer_push(struct tty_struct *tty) tty->buf.tail->commit = tty->buf.tail->used; spin_unlock_irqrestore(&tty->buf.lock, flags); @@ -27,10 +27,10 @@ index 810ee25..fdd8542 100644 EXPORT_SYMBOL(tty_flip_buffer_push); diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index a1f403e..d4d69e1 100644 +index e348e3c..708b6d9 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -1595,7 +1595,12 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id) +@@ -1598,7 +1598,12 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id) l = l->next; diff --git a/dvb-Convert-mutex-to-semaphore.patch b/dvb-Convert-mutex-to-semaphore.patch index edafe00..3a273cd 100644 --- a/dvb-Convert-mutex-to-semaphore.patch +++ b/dvb-Convert-mutex-to-semaphore.patch @@ -1,4 +1,4 @@ -From 90b1a4a56f1f4b02f260fa19467ed1bb7ad095b0 Mon Sep 17 00:00:00 2001 +From 00b946ce00151f076f71b1213bd8687162f95783 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:05:39 +0200 Subject: [PATCH] dvb: Convert "mutex" to semaphore @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c -index f50ca72..358f497 100644 +index 0746122..e650983 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c -@@ -678,7 +678,7 @@ static void dvb_frontend_stop(struct dvb_frontend *fe) +@@ -694,7 +694,7 @@ static void dvb_frontend_stop(struct dvb_frontend *fe) kthread_stop(fepriv->thread); @@ -24,7 +24,7 @@ index f50ca72..358f497 100644 fepriv->state = FESTATE_IDLE; /* paranoia check in case a signal arrived */ -@@ -1909,7 +1909,7 @@ int dvb_register_frontend(struct dvb_adapter* dvb, +@@ -2054,7 +2054,7 @@ int dvb_register_frontend(struct dvb_adapter* dvb, } fepriv = fe->frontend_priv; diff --git a/fix-undefined-references-to-kernel_sem.patch b/fix-undefined-references-to-kernel_sem.patch index f0de74d..c37d6be 100644 --- a/fix-undefined-references-to-kernel_sem.patch +++ b/fix-undefined-references-to-kernel_sem.patch @@ -1,4 +1,4 @@ -From 9846da2c9d0098bd3bbace16865aec9c463669a3 Mon Sep 17 00:00:00 2001 +From 26392ede3a9d06de9864e47c752cf425bc108be1 Mon Sep 17 00:00:00 2001 From: Olaf Hering <olaf@aepfle.de> Date: Tue, 25 May 2010 00:04:28 +0200 Subject: [PATCH] fix undefined references to kernel_sem @@ -13,7 +13,7 @@ LKML-Reference: <20100524220428.GA17771@aepfle.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/init/main.c b/init/main.c -index a1d74a5..2e9549b 100644 +index 39a4f75..63252e8 100644 --- a/init/main.c +++ b/init/main.c @@ -629,9 +629,13 @@ asmlinkage void __init start_kernel(void) @@ -31,7 +31,7 @@ index a1d74a5..2e9549b 100644 #ifdef CONFIG_BLK_DEV_INITRD diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index 8627512..873f275 100644 +index 1199bda..c74c909 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -3608,8 +3608,10 @@ void lockdep_init(void) diff --git a/fix-up-TASK_STATE-entry.patch b/fix-up-TASK_STATE-entry.patch index 9af9cf6..b8be7c5 100644 --- a/fix-up-TASK_STATE-entry.patch +++ b/fix-up-TASK_STATE-entry.patch @@ -1,4 +1,4 @@ -From c01f5c004e9537b6b71506db4468edb889fc1aa2 Mon Sep 17 00:00:00 2001 +From 70cc1fef135322cee80a38c4b7f2f4b92cfec5a3 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Mon, 17 Jan 2011 19:40:54 -0500 Subject: [PATCH] fix up TASK_STATE entry @@ -25,7 +25,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index d43cfef..3fd5f4d 100644 +index 4883407..c969a10 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -210,8 +210,8 @@ extern struct semaphore kernel_sem; diff --git a/fs-Convert-i_alloc_sem-to-rw_anon_semaphore.patch b/fs-Convert-i_alloc_sem-to-rw_anon_semaphore.patch index 925609a..3224134 100644 --- a/fs-Convert-i_alloc_sem-to-rw_anon_semaphore.patch +++ b/fs-Convert-i_alloc_sem-to-rw_anon_semaphore.patch @@ -1,4 +1,4 @@ -From 1ba88b63648d86291af1887db3eb36bd100c6dd9 Mon Sep 17 00:00:00 2001 +From dd850b2ccb230ada53e5bb63664e0fd53284af38 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 17:38:49 +0200 Subject: [PATCH] fs: Convert i_alloc_sem to rw_anon_semaphore @@ -57,7 +57,7 @@ index e82adc2..45ee3f6 100644 /* diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c -index 2059c34..c16c3b9 100644 +index e119524..89dbb38 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -5768,7 +5768,7 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) @@ -136,10 +136,10 @@ index 43179dd..b3d9d74 100644 if (!err) err = -EIO; diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c -index 4c2a6d2..efce0ed 100644 +index 7e9df11..5d55344 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c -@@ -621,7 +621,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, +@@ -620,7 +620,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, level = ocfs2_iocb_rw_locked_level(iocb); if (!level) @@ -198,7 +198,7 @@ index 558ce03..4394eec 100644 ocfs2_rw_unlock(inode, rw_level); mlog_exit(ret); diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c -index 0392e82..1347e9f 100644 +index 81f09fa..75f4c0b 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c @@ -563,11 +563,11 @@ reiserfs_xattr_set_handle(struct reiserfs_transaction_handle *th, @@ -216,10 +216,10 @@ index 0392e82..1347e9f 100644 } else update_ctime(inode); diff --git a/include/linux/fs.h b/include/linux/fs.h -index 66b0705..5191f49 100644 +index ebb1cd5..590c104 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -746,7 +746,7 @@ struct inode { +@@ -743,7 +743,7 @@ struct inode { umode_t i_mode; spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ struct mutex i_mutex; diff --git a/fs-Make-jbd-assertions-smp-only.patch b/fs-Make-jbd-assertions-smp-only.patch index 944ef88..84478e3 100644 --- a/fs-Make-jbd-assertions-smp-only.patch +++ b/fs-Make-jbd-assertions-smp-only.patch @@ -1,4 +1,4 @@ -From 28303e27fd7d323850dde97b6e06cf727611f348 Mon Sep 17 00:00:00 2001 +From 7300bc94ef8a8200bf02c7c4a3b9c38f6d5a5be2 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:56 -0500 Subject: [PATCH] fs: Make jbd assertions smp only @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c -index c03ac11..e7348c2 100644 +index 006f9ad..873f8e5 100644 --- a/fs/jbd/transaction.c +++ b/fs/jbd/transaction.c -@@ -1576,7 +1576,7 @@ static void __journal_temp_unlink_buffer(struct journal_head *jh) +@@ -1577,7 +1577,7 @@ static void __journal_temp_unlink_buffer(struct journal_head *jh) transaction_t *transaction; struct buffer_head *bh = jh2bh(jh); @@ -21,7 +21,7 @@ index c03ac11..e7348c2 100644 transaction = jh->b_transaction; if (transaction) assert_spin_locked(&transaction->t_journal->j_list_lock); -@@ -2028,7 +2028,7 @@ void __journal_file_buffer(struct journal_head *jh, +@@ -2029,7 +2029,7 @@ void __journal_file_buffer(struct journal_head *jh, int was_dirty = 0; struct buffer_head *bh = jh2bh(jh); @@ -30,7 +30,7 @@ index c03ac11..e7348c2 100644 assert_spin_locked(&transaction->t_journal->j_list_lock); J_ASSERT_JH(jh, jh->b_jlist < BJ_Types); -@@ -2122,7 +2122,7 @@ void __journal_refile_buffer(struct journal_head *jh) +@@ -2123,7 +2123,7 @@ void __journal_refile_buffer(struct journal_head *jh) int was_dirty; struct buffer_head *bh = jh2bh(jh); @@ -40,7 +40,7 @@ index c03ac11..e7348c2 100644 assert_spin_locked(&jh->b_transaction->t_journal->j_list_lock); diff --git a/include/linux/jbd.h b/include/linux/jbd.h -index c624800..ce07056 100644 +index 6cfd69e..19153c0 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h @@ -260,6 +260,15 @@ void buffer_assertion_failure(struct buffer_head *bh); diff --git a/fs-block-preempt-rt-support.patch b/fs-block-preempt-rt-support.patch index ae5e67d..810b1c4 100644 --- a/fs-block-preempt-rt-support.patch +++ b/fs-block-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From 20a83ce7295f897b039a5b0f18c87b840e4e10f7 Mon Sep 17 00:00:00 2001 +From d1f7b1468342aaa0b28123a04a329e0e77ad0311 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:12 -0500 Subject: [PATCH] fs/block: preempt-rt support @@ -57,7 +57,7 @@ index 953173a..116fd33 100644 dentry = sb->s_root; sb->s_root = NULL; diff --git a/fs/exec.c b/fs/exec.c -index 332f781..a379319 100644 +index cce6bbd..9192f7e 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -55,6 +55,7 @@ @@ -139,7 +139,7 @@ index 37ba29f..a9dcf21 100644 } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index 9df34a5..f532ea8 100644 +index f277c4a..da4409e 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -138,8 +138,10 @@ static void *m_start(struct seq_file *m, loff_t *pos) diff --git a/fs-jbd-replace-bh_state-lock.patch b/fs-jbd-replace-bh_state-lock.patch index e97aa0b..aced9b8 100644 --- a/fs-jbd-replace-bh_state-lock.patch +++ b/fs-jbd-replace-bh_state-lock.patch @@ -1,4 +1,4 @@ -From c0dd527e0384535228a01f779dcf993df7d93e18 Mon Sep 17 00:00:00 2001 +From d6734ca3a2e08b80dc0b3a2966a807cc7adbb45d Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Fri, 3 Jul 2009 08:29:55 -0500 Subject: [PATCH] fs: jbd: replace bh_state lock @@ -23,7 +23,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c -index 4fcb2f3..02f758d 100644 +index 1a0363d..b34323c 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -40,7 +40,6 @@ @@ -34,7 +34,7 @@ index 4fcb2f3..02f758d 100644 static int fsync_buffers_list(spinlock_t *lock, struct list_head *list); -@@ -3243,6 +3242,7 @@ struct buffer_head *alloc_buffer_head(gfp_t gfp_flags) +@@ -3263,6 +3262,7 @@ struct buffer_head *alloc_buffer_head(gfp_t gfp_flags) if (ret) { INIT_LIST_HEAD(&ret->b_assoc_buffers); spin_lock_init(&ret->b_uptodate_lock); @@ -42,7 +42,7 @@ index 4fcb2f3..02f758d 100644 get_cpu_var(bh_accounting).nr++; recalc_bh_state(); put_cpu_var(bh_accounting); -@@ -3255,6 +3255,7 @@ void free_buffer_head(struct buffer_head *bh) +@@ -3275,6 +3275,7 @@ void free_buffer_head(struct buffer_head *bh) { BUG_ON(!list_empty(&bh->b_assoc_buffers)); BUG_ON(spin_is_locked(&bh->b_uptodate_lock)); @@ -63,7 +63,7 @@ index cc6a758..a7a7491 100644 /* diff --git a/include/linux/jbd.h b/include/linux/jbd.h -index c2049a0..c624800 100644 +index 331530c..6cfd69e 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h @@ -315,32 +315,32 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh) diff --git a/fs-jbd2-Replace-bit-spinlocks.patch b/fs-jbd2-Replace-bit-spinlocks.patch index f1ccf38..ba071c0 100644 --- a/fs-jbd2-Replace-bit-spinlocks.patch +++ b/fs-jbd2-Replace-bit-spinlocks.patch @@ -1,4 +1,4 @@ -From 216e80982324cc1290350013ada9a7ea0aca501e Mon Sep 17 00:00:00 2001 +From e938bedccc1e39f396af428430fef98b30fe09ac Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 23 Aug 2009 09:29:11 +0200 Subject: [PATCH] fs: jbd2: Replace bit spinlocks @@ -12,10 +12,10 @@ we already did for jdb. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c -index 6213ac7..575d8c0 100644 +index a051270..1de640d 100644 --- a/fs/jbd2/transaction.c +++ b/fs/jbd2/transaction.c -@@ -1451,7 +1451,7 @@ void __jbd2_journal_temp_unlink_buffer(struct journal_head *jh) +@@ -1452,7 +1452,7 @@ void __jbd2_journal_temp_unlink_buffer(struct journal_head *jh) transaction_t *transaction; struct buffer_head *bh = jh2bh(jh); @@ -24,7 +24,7 @@ index 6213ac7..575d8c0 100644 transaction = jh->b_transaction; if (transaction) assert_spin_locked(&transaction->t_journal->j_list_lock); -@@ -1883,7 +1883,7 @@ void __jbd2_journal_file_buffer(struct journal_head *jh, +@@ -1884,7 +1884,7 @@ void __jbd2_journal_file_buffer(struct journal_head *jh, int was_dirty = 0; struct buffer_head *bh = jh2bh(jh); @@ -33,7 +33,7 @@ index 6213ac7..575d8c0 100644 assert_spin_locked(&transaction->t_journal->j_list_lock); J_ASSERT_JH(jh, jh->b_jlist < BJ_Types); -@@ -1971,7 +1971,7 @@ void __jbd2_journal_refile_buffer(struct journal_head *jh) +@@ -1972,7 +1972,7 @@ void __jbd2_journal_refile_buffer(struct journal_head *jh) int was_dirty; struct buffer_head *bh = jh2bh(jh); @@ -43,7 +43,7 @@ index 6213ac7..575d8c0 100644 assert_spin_locked(&jh->b_transaction->t_journal->j_list_lock); diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h -index d97eb65..406d3b5 100644 +index 638ce45..9a46328 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -319,6 +319,15 @@ void buffer_assertion_failure(struct buffer_head *bh); diff --git a/fs-namespace-preemption-fix.patch b/fs-namespace-preemption-fix.patch index 4dba4e6..cd52a30 100644 --- a/fs-namespace-preemption-fix.patch +++ b/fs-namespace-preemption-fix.patch @@ -1,4 +1,4 @@ -From ce5c9d0cfb49aadeac6fe322035c4f73bbc5ef85 Mon Sep 17 00:00:00 2001 +From 92b0ddb74ba34dba91878a346c3c6bf396ffb931 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 19 Jul 2009 08:44:27 -0500 Subject: [PATCH] fs: namespace preemption fix @@ -13,7 +13,7 @@ well. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/fs/namespace.c b/fs/namespace.c -index 277c28a..db47a78 100644 +index c768f73..962fd96 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -264,8 +264,16 @@ int mnt_want_write(struct vfsmount *mnt) diff --git a/fs-ntfs-disable-interrupt-only-on-RT.patch b/fs-ntfs-disable-interrupt-only-on-RT.patch index e65484e..810b659 100644 --- a/fs-ntfs-disable-interrupt-only-on-RT.patch +++ b/fs-ntfs-disable-interrupt-only-on-RT.patch @@ -1,4 +1,4 @@ -From 254dc502154b845db63c6fdb43251a28077caaad Mon Sep 17 00:00:00 2001 +From 5519b60893511db84cd7889c41ecd2f27002d7bd Mon Sep 17 00:00:00 2001 From: Mike Galbraith <efault@gmx.de> Date: Fri, 3 Jul 2009 08:44:12 -0500 Subject: [PATCH] fs: ntfs: disable interrupt only on !RT @@ -39,7 +39,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c -index d4ef8b4..4391e00 100644 +index 8d7118e..2d38d1d 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c @@ -29,6 +29,7 @@ diff --git a/ftrace-Add-latency-histograms-of-missed-timer-offset.patch b/ftrace-Add-latency-histograms-of-missed-timer-offset.patch index fc39504..67d2846 100644 --- a/ftrace-Add-latency-histograms-of-missed-timer-offset.patch +++ b/ftrace-Add-latency-histograms-of-missed-timer-offset.patch @@ -1,4 +1,4 @@ -From 42bb7dad62bb6726de6617e3608ff87b3858ac2a Mon Sep 17 00:00:00 2001 +From 2b9e26d455e61248e467989b2d1cedb75c8e26fe Mon Sep 17 00:00:00 2001 From: Carsten Emde <Carsten.Emde@osadl.org> Date: Mon, 2 Nov 2009 00:59:47 +0100 Subject: [PATCH] ftrace: Add latency histograms of missed timer offsets @@ -236,7 +236,7 @@ index 73b0454..2dc4c70 100644 /* This part must be outside protection */ diff --git a/init/main.c b/init/main.c -index e170aa7..1808da1 100644 +index b90180a..4445c08 100644 --- a/init/main.c +++ b/init/main.c @@ -899,7 +899,15 @@ static int __init kernel_init(void * unused) @@ -267,7 +267,7 @@ index e170aa7..1808da1 100644 printk(KERN_ERR "* CONFIG_DEBUG_SLAB *\n"); #endif diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c -index 5ebd015..c7b903e 100644 +index 720ceb5..e018333 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -49,6 +49,7 @@ @@ -278,7 +278,7 @@ index 5ebd015..c7b903e 100644 /* * The timer bases: -@@ -1412,6 +1413,8 @@ static inline int hrtimer_rt_defer(struct hrtimer *timer) { return 0; } +@@ -1415,6 +1416,8 @@ static inline int hrtimer_rt_defer(struct hrtimer *timer) { return 0; } #ifdef CONFIG_HIGH_RES_TIMERS @@ -287,7 +287,7 @@ index 5ebd015..c7b903e 100644 /* * High resolution timer interrupt * Called with interrupts disabled -@@ -1454,6 +1457,14 @@ retry: +@@ -1457,6 +1460,14 @@ retry: timer = rb_entry(node, struct hrtimer, node); diff --git a/genirq-Cleanup-forced-threading-bits-when-handler-th.patch b/genirq-Cleanup-forced-threading-bits-when-handler-th.patch index 5bee9f6..d06b0ef 100644 --- a/genirq-Cleanup-forced-threading-bits-when-handler-th.patch +++ b/genirq-Cleanup-forced-threading-bits-when-handler-th.patch @@ -1,4 +1,4 @@ -From f0637be038822c32558cd265ac8cf927bb55e26c Mon Sep 17 00:00:00 2001 +From 3945dede0b0339e0e0cee7e772c4d400ece06a86 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 12 Aug 2009 18:32:08 +0200 Subject: [PATCH] genirq: Cleanup forced threading bits when handler thread terminates @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 1d2e133..4d76b5b 100644 +index b6ee643..89345ec 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -544,6 +544,13 @@ again: +@@ -535,6 +535,13 @@ again: return 0; } @@ -30,7 +30,7 @@ index 1d2e133..4d76b5b 100644 static int irq_wait_for_interrupt(struct irq_desc *desc, struct irqaction *action) { -@@ -675,6 +682,8 @@ static int irq_thread(void *data) +@@ -647,6 +654,8 @@ static int irq_thread(void *data) wake_up(&desc->wait_for_threads); } diff --git a/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch b/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch index 8354ee4..9a1f5f6 100644 --- a/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch +++ b/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch @@ -1,4 +1,4 @@ -From e7f530fb40b9f5f07c1d4f192aedd70be4365f0d Mon Sep 17 00:00:00 2001 +From 6116e8d2a20468fc26d0b316fb4f1386c4377206 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 26 Aug 2009 16:17:59 +0200 Subject: [PATCH] genirq: Do not mask edge ONESHOT interrupts @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c -index c60dc89..bfc3640 100644 +index cd58389..ad096ed 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c -@@ -582,7 +582,12 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) +@@ -536,7 +536,12 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) { raw_spin_lock(&desc->lock); diff --git a/genirq-Exclude-PER_CPU-interrupts-from-forced-thread.patch b/genirq-Exclude-PER_CPU-interrupts-from-forced-thread.patch index 10d928d..634ab43 100644 --- a/genirq-Exclude-PER_CPU-interrupts-from-forced-thread.patch +++ b/genirq-Exclude-PER_CPU-interrupts-from-forced-thread.patch @@ -1,4 +1,4 @@ -From fb745a80c47c772ca47f65608e9ccc38113bfea2 Mon Sep 17 00:00:00 2001 +From 5c3463516f72b4bd7b7a9013f3a3e56bd0616066 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 19 Aug 2009 09:18:43 +0200 Subject: [PATCH] genirq: Exclude PER_CPU interrupts from forced threading @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 7ffe6ee..591d065 100644 +index 89345ec..25642d1 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -470,7 +470,7 @@ static irqreturn_t irq_nested_primary_handler(int irq, void *dev_id) diff --git a/genirq-Fix-stale-oneshot-flag.patch b/genirq-Fix-stale-oneshot-flag.patch index 0f113a6..d9aa93d 100644 --- a/genirq-Fix-stale-oneshot-flag.patch +++ b/genirq-Fix-stale-oneshot-flag.patch @@ -1,4 +1,4 @@ -From 5f69bc4afc282081edf1b4128c5ac48ca74f880b Mon Sep 17 00:00:00 2001 +From 8af7a6498641558c7321d39fec6271835f8986d9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 22 Feb 2010 18:12:30 +0100 Subject: [PATCH] genirq: Fix stale oneshot flag. @@ -15,10 +15,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 1568081..9910faf 100644 +index 1efad98..7d108d0 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -679,7 +679,7 @@ static int irq_thread(void *data) +@@ -621,7 +621,7 @@ static int irq_thread(void *data) struct sched_param param = { .sched_priority = MAX_USER_RT_PRIO/2, }; struct irqaction *action = data; struct irq_desc *desc = irq_to_desc(action->irq); @@ -27,7 +27,7 @@ index 1568081..9910faf 100644 sched_setscheduler(current, SCHED_FIFO, ¶m); current->extra_flags |= PFE_HARDIRQ; -@@ -707,7 +707,7 @@ static int irq_thread(void *data) +@@ -649,7 +649,7 @@ static int irq_thread(void *data) action->thread_fn(action->irq, action->dev_id); diff --git a/genirq-Introduce-IRQF_NODELAY-to-disable-forced-thre.patch b/genirq-Introduce-IRQF_NODELAY-to-disable-forced-thre.patch index 33d68c3..ec3f245 100644 --- a/genirq-Introduce-IRQF_NODELAY-to-disable-forced-thre.patch +++ b/genirq-Introduce-IRQF_NODELAY-to-disable-forced-thre.patch @@ -1,4 +1,4 @@ -From c0c5ea6ce299afa1c89261ce454eef794d3f373c Mon Sep 17 00:00:00 2001 +From 40a34592eeeb3c00e3822b16ad8fc47a0427864f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 12:58:11 +0200 Subject: [PATCH] genirq: Introduce IRQF_NODELAY to disable forced threading for an irq @@ -14,7 +14,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 7b43e10..705bd7b 100644 +index 7b43e10..54c9394 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -52,16 +52,20 @@ diff --git a/genirq-disable-irqpoll-on-rt.patch b/genirq-disable-irqpoll-on-rt.patch index b96f65c..6fa9411 100644 --- a/genirq-disable-irqpoll-on-rt.patch +++ b/genirq-disable-irqpoll-on-rt.patch @@ -1,4 +1,4 @@ -From 0e6e7446187add6cbd03c8ff7b12226bffb761c5 Mon Sep 17 00:00:00 2001 +From 36c39487b1868fe8a0e2f3ce46c46bcdd9a7a903 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:57 -0500 Subject: [PATCH] genirq: disable irqpoll on -rt @@ -11,10 +11,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c -index 7e8c573..d8b2df0 100644 +index 4e4a758..a9a6628 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c -@@ -288,6 +288,11 @@ MODULE_PARM_DESC(noirqdebug, "Disable irq lockup detection when true"); +@@ -278,6 +278,11 @@ MODULE_PARM_DESC(noirqdebug, "Disable irq lockup detection when true"); static int __init irqfixup_setup(char *str) { @@ -26,7 +26,7 @@ index 7e8c573..d8b2df0 100644 irqfixup = 1; printk(KERN_WARNING "Misrouted IRQ fixup support enabled.\n"); printk(KERN_WARNING "This may impact system performance.\n"); -@@ -301,6 +306,11 @@ MODULE_PARM_DESC("irqfixup", "0: No fixup, 1: irqfixup mode, 2: irqpoll mode"); +@@ -290,6 +295,11 @@ module_param(irqfixup, int, 0644); static int __init irqpoll_setup(char *str) { diff --git a/genirq-disable-random-call-on-preempt-rt.patch b/genirq-disable-random-call-on-preempt-rt.patch index f96dbab..4ad6676 100644 --- a/genirq-disable-random-call-on-preempt-rt.patch +++ b/genirq-disable-random-call-on-preempt-rt.patch @@ -1,4 +1,4 @@ -From 04479b1c97ac0f63350e1825f7bd12caccc77a35 Mon Sep 17 00:00:00 2001 +From a66796ec43b2a541d725b56a612e4cacfa69b292 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Jul 2009 16:07:37 +0200 Subject: [PATCH] genirq: disable random call on preempt-rt @@ -11,10 +11,10 @@ unused. Disable it for -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c -index e89add4..f05aa88 100644 +index 87bdd6c..5cfebbe 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c -@@ -420,8 +420,11 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) +@@ -443,8 +443,11 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) action = action->next; } while (action); diff --git a/genirq-prevent-interrupt-storm-on-irq-migration.patch b/genirq-prevent-interrupt-storm-on-irq-migration.patch index f6f62a2..f9749fe 100644 --- a/genirq-prevent-interrupt-storm-on-irq-migration.patch +++ b/genirq-prevent-interrupt-storm-on-irq-migration.patch @@ -1,4 +1,4 @@ -From b87daa2884f9b0196621013731b2be2f736c962e Mon Sep 17 00:00:00 2001 +From 708edcc15e55003da67d61157a905b9373f0772c Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:27 -0500 Subject: [PATCH] genirq: prevent interrupt storm on irq migration @@ -12,7 +12,7 @@ threaded handler has not finished yet. Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c -index b1de750..aefad7f 100644 +index 2419622..4817563 100644 --- a/kernel/irq/migration.c +++ b/kernel/irq/migration.c @@ -54,6 +54,7 @@ void move_masked_irq(int irq) diff --git a/genirq-support-forced-threading-of-interrupts.patch b/genirq-support-forced-threading-of-interrupts.patch index 5aad138..308da7c 100644 --- a/genirq-support-forced-threading-of-interrupts.patch +++ b/genirq-support-forced-threading-of-interrupts.patch @@ -1,4 +1,4 @@ -From b23664db5316f231a75007c9cfc3922e797cee2e Mon Sep 17 00:00:00 2001 +From 7161f6f52236eef31069a03e7a73fbba60d024cb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 16 Jul 2009 12:23:12 +0200 Subject: [PATCH] genirq: support forced threading of interrupts @@ -15,7 +15,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 9c30fec..7455a46 100644 +index f89e357..563f51e 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -95,6 +95,7 @@ typedef irqreturn_t (*irq_handler_t)(int, void *); @@ -61,7 +61,7 @@ index 9c30fec..7455a46 100644 asmlinkage void do_softirq(void); asmlinkage void __do_softirq(void); diff --git a/include/linux/irq.h b/include/linux/irq.h -index 4d9b26e..5ed8296 100644 +index 451481c..239c7b3 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -201,6 +201,7 @@ struct irq_desc { @@ -73,10 +73,10 @@ index 4d9b26e..5ed8296 100644 #ifdef CONFIG_PROC_FS struct proc_dir_entry *dir; diff --git a/include/linux/sched.h b/include/linux/sched.h -index 1f4f799..389a494 100644 +index 4807851..ae42b44 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1799,6 +1799,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * +@@ -1797,6 +1797,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * /* Flags in the extra_flags field */ #define PFE_SOFTIRQ 0x00000001 /* softirq context */ @@ -85,10 +85,10 @@ index 1f4f799..389a494 100644 /* * Only the _current_ task can read/write to tsk->flags, but other diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c -index 71eba24..c60dc89 100644 +index ecc3fa2..939c2dd 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c -@@ -309,6 +309,7 @@ static unsigned int default_startup(unsigned int irq) +@@ -275,6 +275,7 @@ static unsigned int default_startup(unsigned int irq) { struct irq_desc *desc = irq_to_desc(irq); @@ -148,7 +148,7 @@ index 814940e..87bdd6c 100644 if (CHECK_IRQ_PER_CPU(desc->status)) { diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 0b23ff7..1d2e133 100644 +index eb6078c..b6ee643 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -280,7 +280,8 @@ void __enable_irq(struct irq_desc *desc, unsigned int irq, bool resume) @@ -244,7 +244,7 @@ index 0b23ff7..1d2e133 100644 { while (!kthread_should_stop()) { set_current_state(TASK_INTERRUPTIBLE); -@@ -555,9 +640,10 @@ static int irq_thread(void *data) +@@ -537,9 +612,10 @@ static int irq_thread(void *data) int wake, oneshot = desc->status & IRQ_ONESHOT; sched_setscheduler(current, SCHED_FIFO, ¶m); @@ -256,7 +256,7 @@ index 0b23ff7..1d2e133 100644 irq_thread_check_affinity(desc, action); -@@ -627,7 +713,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -609,7 +685,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) { struct irqaction *old, **old_ptr; const char *old_name = NULL; @@ -265,17 +265,19 @@ index 0b23ff7..1d2e133 100644 int nested, shared = 0; int ret; -@@ -657,6 +743,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) - if ((new->flags & IRQF_ONESHOT) && (new->flags & IRQF_SHARED)) - return -EINVAL; +@@ -635,9 +711,8 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) + rand_initialize_irq(irq); + } +- /* Oneshot interrupts are not allowed with shared */ +- if ((new->flags & IRQF_ONESHOT) && (new->flags & IRQF_SHARED)) +- return -EINVAL; + /* Preempt-RT setup for forced threading */ + preempt_hardirq_setup(new); -+ + /* * Check whether the interrupt nests into another interrupt - * thread. -@@ -722,12 +811,20 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -704,12 +779,20 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) /* add new interrupt at end of irq queue */ do { @@ -296,17 +298,6 @@ index 0b23ff7..1d2e133 100644 if (!shared) { irq_chip_set_defaults(desc->chip); -@@ -742,10 +743,6 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) - rand_initialize_irq(irq); - } - -- /* Oneshot interrupts are not allowed with shared */ -- if ((new->flags & IRQF_ONESHOT) && (new->flags & IRQF_SHARED)) -- return -EINVAL; -- - /* Preempt-RT setup for forced threading */ - preempt_hardirq_setup(new); - diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c index 4817563..ea0b492 100644 --- a/kernel/irq/migration.c @@ -322,10 +313,10 @@ index 4817563..ea0b492 100644 if (mask) diff --git a/kernel/sched.c b/kernel/sched.c -index c8598a0..a3beb4c 100644 +index b059d2f..05bafd4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5144,7 +5144,8 @@ void account_system_time(struct task_struct *p, int hardirq_offset, +@@ -5123,7 +5123,8 @@ void account_system_time(struct task_struct *p, int hardirq_offset, /* Add system time to cpustat. */ tmp = cputime_to_cputime64(cputime); diff --git a/genirq-use-spin_lock_irqsave-instead-of-open-coding-.patch b/genirq-use-spin_lock_irqsave-instead-of-open-coding-.patch index 0d3680c..72fe1df 100644 --- a/genirq-use-spin_lock_irqsave-instead-of-open-coding-.patch +++ b/genirq-use-spin_lock_irqsave-instead-of-open-coding-.patch @@ -1,4 +1,4 @@ -From 8fefc0fb875f65ec701e8c817dd91c1c6788860e Mon Sep 17 00:00:00 2001 +From e57d29ada8b3bdbe76352094d7f67127ddd00585 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 19 Jul 2009 11:10:50 +0200 Subject: [PATCH] genirq: use spin_lock_irqsave instead of open coding it. @@ -8,7 +8,7 @@ commit 8fefc0fb875f65ec701e8c817dd91c1c6788860e in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c -index 4ee89c9..7e8c573 100644 +index 89fb90a..4e4a758 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c @@ -54,9 +54,9 @@ static int try_one_irq(int irq, struct irq_desc *desc) diff --git a/hfs-Convert-tree_lock-to-mutex.patch b/hfs-Convert-tree_lock-to-mutex.patch index 47a75d2..f73c0f8 100644 --- a/hfs-Convert-tree_lock-to-mutex.patch +++ b/hfs-Convert-tree_lock-to-mutex.patch @@ -1,4 +1,4 @@ -From 5f7f04de50d6b080cabc3dad3c83a1c18cc8d0ae Mon Sep 17 00:00:00 2001 +From 0f489c800016f932adedcbea88d0b9e90782fe3b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:23:39 +0200 Subject: [PATCH] hfs: Convert tree_lock to mutex @@ -33,7 +33,7 @@ index 4129cdb..571abe9 100644 } diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c -index 9b9d639..4452b3a 100644 +index 052f214..edf44d7 100644 --- a/fs/hfs/btree.c +++ b/fs/hfs/btree.c @@ -26,7 +26,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke diff --git a/highmem-atomic-fix.patch b/highmem-atomic-fix.patch index 990ecc6..ddda637 100644 --- a/highmem-atomic-fix.patch +++ b/highmem-atomic-fix.patch @@ -1,4 +1,4 @@ -From 819ab1a56373f040d347411ee311980f295449b7 Mon Sep 17 00:00:00 2001 +From 3e17ccb1e3687a9aad75e965d5f6b6134caae849 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:43:59 -0500 Subject: [PATCH] highmem: atomic fix @@ -11,10 +11,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/mm/filemap.c b/mm/filemap.c -index ccea3b6..769d389 100644 +index 698ea80..01c2711 100644 --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -1890,7 +1890,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, +@@ -1868,7 +1868,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, char *kaddr; size_t copied; diff --git a/hp_sdc-init_MUTEX_LOCKED-sema_init.patch b/hp_sdc-init_MUTEX_LOCKED-sema_init.patch index c71d2e4..b89bcd2 100644 --- a/hp_sdc-init_MUTEX_LOCKED-sema_init.patch +++ b/hp_sdc-init_MUTEX_LOCKED-sema_init.patch @@ -1,4 +1,4 @@ -From c71b006c1fd88654dc03d3a64805df76623c0558 Mon Sep 17 00:00:00 2001 +From 5e68b4b2a6a2e6b151a7c6fdd87080fc52111a83 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 21:09:44 -0500 Subject: [PATCH] hp_sdc: init_MUTEX_LOCKED --> sema_init @@ -25,7 +25,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c -index ff45419..668564f 100644 +index 997f9b6..8c0b51c 100644 --- a/drivers/input/serio/hp_sdc.c +++ b/drivers/input/serio/hp_sdc.c @@ -905,7 +905,7 @@ static int __init hp_sdc_init(void) diff --git a/hpfs-Convert-sbi-hpfs_creation_de-to-mutex.patch b/hpfs-Convert-sbi-hpfs_creation_de-to-mutex.patch index 683b783..fa05d7b 100644 --- a/hpfs-Convert-sbi-hpfs_creation_de-to-mutex.patch +++ b/hpfs-Convert-sbi-hpfs_creation_de-to-mutex.patch @@ -1,4 +1,4 @@ -From f0ce033473ed72d35e6275101d8eed4f71c4673d Mon Sep 17 00:00:00 2001 +From 092e11018704784251cf9b97ad63dc96769fa9ea Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:17:42 +0200 Subject: [PATCH] hpfs: Convert sbi->hpfs_creation_de to mutex @@ -46,10 +46,10 @@ index 701ca54..ed222f5 100644 /*unsigned sb_mounting : 1;*/ int sb_timeshift; diff --git a/fs/hpfs/super.c b/fs/hpfs/super.c -index f2feaa0..fa81510 100644 +index cadc4ce..e13f103 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c -@@ -487,7 +487,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent) +@@ -486,7 +486,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent) sbi->sb_bmp_dir = NULL; sbi->sb_cp_table = NULL; diff --git a/hrtimer-Fix-softirq-device-reprogramming.patch b/hrtimer-Fix-softirq-device-reprogramming.patch index 6547b23..84f3501 100644 --- a/hrtimer-Fix-softirq-device-reprogramming.patch +++ b/hrtimer-Fix-softirq-device-reprogramming.patch @@ -1,4 +1,4 @@ -From b275903a1dc4442383a05137ea6a8985605291e9 Mon Sep 17 00:00:00 2001 +From f0847d1e62b81903ac4eae41797ad4c6ee9bafcb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:32 -0500 Subject: [PATCH] hrtimer: Fix softirq device reprogramming @@ -8,10 +8,10 @@ commit b275903a1dc4442383a05137ea6a8985605291e9 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c -index 62adffd..de59fe0 100644 +index 834e1bc..f05d9ce 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c -@@ -535,7 +535,6 @@ static int hrtimer_reprogram(struct hrtimer *timer, +@@ -563,7 +563,6 @@ static int hrtimer_reprogram(struct hrtimer *timer, WARN_ON_ONCE(hrtimer_get_expires_tv64(timer) < 0); @@ -19,7 +19,7 @@ index 62adffd..de59fe0 100644 /* * When the callback is running, we do not reprogram the clock event * device. The timer callback is either running on a different CPU or -@@ -544,15 +543,6 @@ static int hrtimer_reprogram(struct hrtimer *timer, +@@ -572,15 +571,6 @@ static int hrtimer_reprogram(struct hrtimer *timer, */ if (hrtimer_callback_running(timer)) return 0; @@ -35,7 +35,7 @@ index 62adffd..de59fe0 100644 /* * CLOCK_REALTIME timer might be requested with an absolute -@@ -1242,6 +1232,49 @@ static void __run_hrtimer(struct hrtimer *timer) +@@ -1309,6 +1299,49 @@ static void __run_hrtimer(struct hrtimer *timer, ktime_t *now) #ifdef CONFIG_PREEMPT_RT @@ -85,7 +85,7 @@ index 62adffd..de59fe0 100644 /* * The changes in mainline which removed the callback modes from * hrtimer are not yet working with -rt. The non wakeup_process() -@@ -1281,11 +1314,7 @@ static void hrtimer_rt_run_pending(void) +@@ -1348,11 +1381,7 @@ static void hrtimer_rt_run_pending(void) restart = fn(timer); raw_spin_lock_irq(&cpu_base->lock); @@ -98,7 +98,7 @@ index 62adffd..de59fe0 100644 } } -@@ -1476,7 +1505,6 @@ static inline void __hrtimer_peek_ahead_timers(void) { } +@@ -1553,7 +1582,6 @@ static inline void __hrtimer_peek_ahead_timers(void) { } static void run_hrtimer_softirq(struct softirq_action *h) { diff --git a/hrtimer-fix-reprogram-thinko.patch b/hrtimer-fix-reprogram-thinko.patch index 0062449..0578610 100644 --- a/hrtimer-fix-reprogram-thinko.patch +++ b/hrtimer-fix-reprogram-thinko.patch @@ -1,4 +1,4 @@ -From b3437758512f64526e7a5ce790ad2c1615023be1 Mon Sep 17 00:00:00 2001 +From 7f985ea3e379046e01af6f37ebc9e0d83ca78e8e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:31 -0500 Subject: [PATCH] hrtimer: fix reprogram thinko @@ -8,7 +8,7 @@ commit ea583cb09051aef3a1b2a770caa7e564e7042483 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c -index dcccc7b..5a3795f 100644 +index f22611d..05302de 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c @@ -701,6 +701,9 @@ static inline int hrtimer_enqueue_reprogram(struct hrtimer *timer, diff --git a/hrtimer-fix-rt-compile.patch b/hrtimer-fix-rt-compile.patch index 726767b..4eff168 100644 --- a/hrtimer-fix-rt-compile.patch +++ b/hrtimer-fix-rt-compile.patch @@ -1,4 +1,4 @@ -From ccc00d7be9304cfc38294192db8f63dfd8b42f4e Mon Sep 17 00:00:00 2001 +From 5b1d543cfd6f17bb6efd0fd084ce1caf3ca46fda Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:32 -0500 Subject: [PATCH] hrtimer: fix !rt compile @@ -8,10 +8,10 @@ commit ccc00d7be9304cfc38294192db8f63dfd8b42f4e in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c -index de59fe0..875327a 100644 +index f05d9ce..720ceb5 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c -@@ -736,6 +736,13 @@ static inline int hrtimer_enqueue_reprogram(struct hrtimer *timer, +@@ -776,6 +776,13 @@ static inline int hrtimer_enqueue_reprogram(struct hrtimer *timer, { return 0; } @@ -25,7 +25,7 @@ index de59fe0..875327a 100644 static inline void hrtimer_init_hres(struct hrtimer_cpu_base *base) { } static inline void hrtimer_init_timer_hres(struct hrtimer *timer) { } -@@ -858,7 +865,7 @@ static int enqueue_hrtimer(struct hrtimer *timer, +@@ -914,7 +921,7 @@ static int enqueue_hrtimer(struct hrtimer *timer, return leftmost; } @@ -34,7 +34,7 @@ index de59fe0..875327a 100644 # define wake_up_timer_waiters(b) wake_up(&(b)->wait) /** -@@ -1232,7 +1239,6 @@ static void __run_hrtimer(struct hrtimer *timer) +@@ -1299,7 +1306,6 @@ static void __run_hrtimer(struct hrtimer *timer, ktime_t *now) #ifdef CONFIG_PREEMPT_RT diff --git a/hrtimer-fix-wait_for_hrtimer.patch b/hrtimer-fix-wait_for_hrtimer.patch index 14c0700..68f446d 100644 --- a/hrtimer-fix-wait_for_hrtimer.patch +++ b/hrtimer-fix-wait_for_hrtimer.patch @@ -1,4 +1,4 @@ -From 0f66f95674f33b5b107cc9aef34c61aaf920604f Mon Sep 17 00:00:00 2001 +From 2f0249e2c9e83854cb1e09c6d5dacd9959222b38 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:31 -0500 Subject: [PATCH] hrtimer: fix wait_for_hrtimer @@ -8,10 +8,10 @@ commit 0f66f95674f33b5b107cc9aef34c61aaf920604f in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c -index 3e38b13..62adffd 100644 +index 05302de..834e1bc 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c -@@ -868,7 +868,7 @@ static int enqueue_hrtimer(struct hrtimer *timer, +@@ -924,7 +924,7 @@ static int enqueue_hrtimer(struct hrtimer *timer, return leftmost; } @@ -20,7 +20,7 @@ index 3e38b13..62adffd 100644 # define wake_up_timer_waiters(b) wake_up(&(b)->wait) /** -@@ -885,9 +885,9 @@ void hrtimer_wait_for_timer(const struct hrtimer *timer) +@@ -941,9 +941,9 @@ void hrtimer_wait_for_timer(const struct hrtimer *timer) { struct hrtimer_clock_base *base = timer->base; @@ -32,7 +32,7 @@ index 3e38b13..62adffd 100644 } #else -@@ -1713,7 +1713,7 @@ static void __cpuinit init_hrtimers_cpu(int cpu) +@@ -1791,7 +1791,7 @@ static void __cpuinit init_hrtimers_cpu(int cpu) } hrtimer_init_hres(cpu_base); diff --git a/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch b/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch index 81cab19..9048159 100644 --- a/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch +++ b/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch @@ -1,4 +1,4 @@ -From 23e575debfd9e3e0c64b8d348226e43fcfe6564e Mon Sep 17 00:00:00 2001 +From 2370b7e8776dea01c3be35b92f43b5b91a56983e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:31 -0500 Subject: [PATCH] hrtimer: fixup hrtimer callback changes for preempt-rt @@ -312,7 +312,7 @@ index 93b2df2..f22611d 100644 /** diff --git a/kernel/sched.c b/kernel/sched.c -index bc8f328..83fafcf 100644 +index 4ee1a54..9676d63 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -202,6 +202,7 @@ void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime) diff --git a/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch b/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch index 8c1d9cb..02f53cf 100644 --- a/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch +++ b/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch @@ -1,4 +1,4 @@ -From 3c3016f722b1d18ef73676f115cd1287e02f0b61 Mon Sep 17 00:00:00 2001 +From f23bf0c3c74afb3b24d8defad2234a8624d79376 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Fri, 2 Apr 2010 22:40:19 +0200 Subject: [PATCH] hrtimers: Provide schedule_hrtimeout for CLOCK_REALTIME @@ -34,10 +34,10 @@ index 1cc4577..711ecf3 100644 /* Soft interrupt function to run the hrtimer queues: */ diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c -index 2bf8f85..51168a1 100644 +index e018333..d03433b 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c -@@ -1956,35 +1956,15 @@ void __init hrtimers_init(void) +@@ -1955,35 +1955,15 @@ void __init hrtimers_init(void) } /** @@ -78,7 +78,7 @@ index 2bf8f85..51168a1 100644 { struct hrtimer_sleeper t; -@@ -2006,7 +1986,7 @@ int __sched schedule_hrtimeout_range(ktime_t *expires, unsigned long delta, +@@ -2005,7 +1985,7 @@ int __sched schedule_hrtimeout_range(ktime_t *expires, unsigned long delta, return -EINTR; } @@ -87,7 +87,7 @@ index 2bf8f85..51168a1 100644 hrtimer_set_expires_range_ns(&t.timer, *expires, delta); hrtimer_init_sleeper(&t, current); -@@ -2025,6 +2005,41 @@ int __sched schedule_hrtimeout_range(ktime_t *expires, unsigned long delta, +@@ -2024,6 +2004,41 @@ int __sched schedule_hrtimeout_range(ktime_t *expires, unsigned long delta, return !t.task ? 0 : -EINTR; } diff --git a/hwlat-Fix-Kconfig-and-check-kthread_stop-result.patch b/hwlat-Fix-Kconfig-and-check-kthread_stop-result.patch index 020d513..c544fc0 100644 --- a/hwlat-Fix-Kconfig-and-check-kthread_stop-result.patch +++ b/hwlat-Fix-Kconfig-and-check-kthread_stop-result.patch @@ -1,4 +1,4 @@ -From d9a4a1d04d0b5ba138a6a5b25013187d4614de4d Mon Sep 17 00:00:00 2001 +From 0ef61debf2af0cd6de7743c28a13d232d150a9fd Mon Sep 17 00:00:00 2001 From: Jon Masters <jcm@jonmasters.org> Date: Thu, 22 Oct 2009 19:33:56 +0200 Subject: [PATCH] hwlat: Fix Kconfig and check kthread_stop result @@ -12,10 +12,10 @@ Cc: Clark Williams <williams@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index f51ba7b..d16b79f 100644 +index da77983..9eaa647 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig -@@ -79,7 +79,7 @@ config IBM_ASM +@@ -93,7 +93,7 @@ config IBM_ASM config HWLAT_DETECTOR tristate "Testing module to detect hardware-induced latencies" depends on DEBUG_FS diff --git a/hwlat-Select-RING_BUFFER.patch b/hwlat-Select-RING_BUFFER.patch index 3c133bb..71beb55 100644 --- a/hwlat-Select-RING_BUFFER.patch +++ b/hwlat-Select-RING_BUFFER.patch @@ -1,4 +1,4 @@ -From 7adc5d16e69dea387c2edb32c7fd885badc1ce0f Mon Sep 17 00:00:00 2001 +From 9ac5a75d1fe22d34c6a1e6f15e4eefa6633e693a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 15 Aug 2009 21:26:21 +0200 Subject: [PATCH] hwlat: Select RING_BUFFER @@ -10,10 +10,10 @@ hwlat detector uses the RING_BUFFER so it needs to be selected. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 4448a83..f51ba7b 100644 +index 2eeb595..da77983 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig -@@ -79,6 +79,7 @@ config IBM_ASM +@@ -93,6 +93,7 @@ config IBM_ASM config HWLAT_DETECTOR tristate "Testing module to detect hardware-induced latencies" depends on DEBUG_FS diff --git a/ibmphp-hpc-semaphore-cleanup.patch b/ibmphp-hpc-semaphore-cleanup.patch index aac70fb..664defa 100644 --- a/ibmphp-hpc-semaphore-cleanup.patch +++ b/ibmphp-hpc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 7d5e07fca1f23ab94eb406e89691ab33702cb239 Mon Sep 17 00:00:00 2001 +From a040cf84631b93340f2f01fefd88ccd0b1bd6b30 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:48:47 +0200 Subject: [PATCH] ibmphp-hpc: semaphore cleanup @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@suse.de> diff --git a/drivers/pci/hotplug/ibmphp_hpc.c b/drivers/pci/hotplug/ibmphp_hpc.c -index 83f337c..19e36fa 100644 +index c7084f0..d811661 100644 --- a/drivers/pci/hotplug/ibmphp_hpc.c +++ b/drivers/pci/hotplug/ibmphp_hpc.c @@ -132,8 +132,8 @@ void __init ibmphp_hpc_initvars (void) @@ -28,3 +28,4 @@ index 83f337c..19e36fa 100644 debug ("%s - Exit\n", __func__); -- 1.7.1.1 + diff --git a/ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch b/ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch index 64dc608..6f72137 100644 --- a/ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch +++ b/ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch @@ -1,4 +1,4 @@ -From b2371ff96a577a687fd921dbb214caf79ec7314e Mon Sep 17 00:00:00 2001 +From 14c9f589e987216d8a25ec12ad1aef4f82639ee3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:16 -0500 Subject: [PATCH] ide: Do not disable interrupts for PREEMPT-RT @@ -164,7 +164,7 @@ index 222c1ef..53a085c 100644 /* * Allow status to settle, then read it again. diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c -index 0c11237..0b85714 100644 +index 4d76ba4..5b39ce3 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c @@ -196,10 +196,10 @@ static void do_identify(ide_drive_t *drive, u8 cmd, u16 *id) diff --git a/infiniband-Make-user_mad-semaphore-a-real-one.patch b/infiniband-Make-user_mad-semaphore-a-real-one.patch index 31ff8f9..eed5b8d 100644 --- a/infiniband-Make-user_mad-semaphore-a-real-one.patch +++ b/infiniband-Make-user_mad-semaphore-a-real-one.patch @@ -1,4 +1,4 @@ -From 37be6ed9bf5d50cf2bfa07a4ff8b505e428e6a4c Mon Sep 17 00:00:00 2001 +From 4c50170dd6c16db37aa38d48cd4d929c4f38e2af Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:10:40 +0200 Subject: [PATCH] infiniband: Make user_mad semaphore a real one @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Roland Dreier <rolandd@cisco.com> diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c -index 8c46f22..727776a 100644 +index 7de0296..810a52c 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c -@@ -1003,7 +1003,7 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, +@@ -1004,7 +1004,7 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, port->ib_dev = device; port->port_num = port_num; diff --git a/infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch b/infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch index ad073c6..ff65d72 100644 --- a/infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch +++ b/infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch @@ -1,4 +1,4 @@ -From 343c8c9a395840f5f16557e0ab7d058cfcec9c23 Mon Sep 17 00:00:00 2001 +From 2c356e3e965ba65f36e072700129188c0c199083 Mon Sep 17 00:00:00 2001 From: Sven-Thorsten Dietrich <sdietrich@novell.com> Date: Fri, 3 Jul 2009 08:30:35 -0500 Subject: [PATCH] infiniband: Mellanox IB driver patch use _nort() primitives @@ -18,10 +18,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c -index a0e9753..1dc6446 100644 +index 8763c1e..aeebf74 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c -@@ -773,7 +773,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) +@@ -796,7 +796,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) ipoib_mcast_stop_thread(dev, 0); @@ -30,7 +30,7 @@ index a0e9753..1dc6446 100644 netif_addr_lock(dev); spin_lock(&priv->lock); -@@ -852,7 +852,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) +@@ -880,7 +880,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) spin_unlock(&priv->lock); netif_addr_unlock(dev); diff --git a/init-Fix-config-items-in-debug-reminder-finally.patch b/init-Fix-config-items-in-debug-reminder-finally.patch index a322bfa..5c63548 100644 --- a/init-Fix-config-items-in-debug-reminder-finally.patch +++ b/init-Fix-config-items-in-debug-reminder-finally.patch @@ -1,4 +1,4 @@ -From dc15be1db7a1fd62b4662727f5a07d92213123aa Mon Sep 17 00:00:00 2001 +From c6d2f2c4b5fe5b6ba0cd9b18b78ceb0cf242f2c1 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Sun, 2 May 2010 15:35:12 +0200 Subject: [PATCH] init: Fix config items in debug reminder finally @@ -13,7 +13,7 @@ Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/init/main.c b/init/main.c -index d4b3bf5..a1d74a5 100644 +index aabceff..39a4f75 100644 --- a/init/main.c +++ b/init/main.c @@ -915,7 +915,7 @@ static int __init kernel_init(void * unused) diff --git a/init-emit-preempt-warn-about-tracing.patch b/init-emit-preempt-warn-about-tracing.patch index ab54993..e93b60a 100644 --- a/init-emit-preempt-warn-about-tracing.patch +++ b/init-emit-preempt-warn-about-tracing.patch @@ -1,4 +1,4 @@ -From b22c2ff3f3cf9cbd1cc4c432d0eebbd490cf5538 Mon Sep 17 00:00:00 2001 +From cf232cc5bf1e5a74b4ae5c6bf1395b7aee8b01c8 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:25 -0500 Subject: [PATCH] init: emit preempt warn about tracing @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/init/main.c b/init/main.c -index 03aab77..a04e102 100644 +index 2a09cb6..ed4c511 100644 --- a/init/main.c +++ b/init/main.c -@@ -935,7 +935,7 @@ static int __init kernel_init(void * unused) +@@ -899,7 +899,7 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -21,7 +21,7 @@ index 03aab77..a04e102 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -949,14 +949,17 @@ static int __init kernel_init(void * unused) +@@ -913,14 +913,17 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_DEBUG_RT_MUTEXES printk(KERN_ERR "* CONFIG_DEBUG_RT_MUTEXES *\n"); #endif diff --git a/init-show-enabled-debugs.patch b/init-show-enabled-debugs.patch index 2a90691..9b850a5 100644 --- a/init-show-enabled-debugs.patch +++ b/init-show-enabled-debugs.patch @@ -1,4 +1,4 @@ -From 5dc5e404782f9af2bf3f4b3e924752ad70e687a6 Mon Sep 17 00:00:00 2001 +From f19969c6550ffc869cd6f8577ab5c459ae742ae6 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:13 -0500 Subject: [PATCH] init: show enabled debugs @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/init/main.c b/init/main.c -index 36269aa..9498bf1 100644 +index 650c1ce..2a09cb6 100644 --- a/init/main.c +++ b/init/main.c @@ -413,6 +413,8 @@ static noinline void __init_refok rest_init(void) diff --git a/input-misc-hp_sdc_rtc-semaphore-cleanup.patch b/input-misc-hp_sdc_rtc-semaphore-cleanup.patch index aecf4b6..1586dfe 100644 --- a/input-misc-hp_sdc_rtc-semaphore-cleanup.patch +++ b/input-misc-hp_sdc_rtc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 3afa6eae938150e9f2a76299d047a5abf8629dbe Mon Sep 17 00:00:00 2001 +From c41f85d99c122856a42348ddb985b6c5ade5da47 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:41:29 +0200 Subject: [PATCH] input: misc/hp_sdc_rtc: semaphore cleanup @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dmitry Torokhov <dtor@mail.ru> diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c -index 216a559..a59c141 100644 +index ad730e1..17920a9 100644 --- a/drivers/input/misc/hp_sdc_rtc.c +++ b/drivers/input/misc/hp_sdc_rtc.c -@@ -104,7 +104,7 @@ static int hp_sdc_rtc_do_read_bbrtc (struct rtc_time *rtctm) +@@ -103,7 +103,7 @@ static int hp_sdc_rtc_do_read_bbrtc (struct rtc_time *rtctm) t.endidx = 91; t.seq = tseq; t.act.semaphore = &tsem; @@ -24,7 +24,7 @@ index 216a559..a59c141 100644 if (hp_sdc_enqueue_transaction(&t)) return -1; -@@ -686,7 +686,7 @@ static int __init hp_sdc_rtc_init(void) +@@ -684,7 +684,7 @@ static int __init hp_sdc_rtc_init(void) return -ENODEV; #endif diff --git a/input-serio-hil_mlc-semaphore-cleanup.patch b/input-serio-hil_mlc-semaphore-cleanup.patch index 45f5108..9b710fd 100644 --- a/input-serio-hil_mlc-semaphore-cleanup.patch +++ b/input-serio-hil_mlc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From e77305e4cec50e7b0d3091b037042b667ee919a4 Mon Sep 17 00:00:00 2001 +From bcbf31b1aebe1b1d30b62eb2c307cf29430dae0d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:43:27 +0200 Subject: [PATCH] input: serio/hil_mlc: semaphore cleanup @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dmitry Torokhov <dtor@mail.ru> diff --git a/drivers/input/serio/hil_mlc.c b/drivers/input/serio/hil_mlc.c -index 7ba9f2b..17f3641 100644 +index 6cd03eb..290b648 100644 --- a/drivers/input/serio/hil_mlc.c +++ b/drivers/input/serio/hil_mlc.c @@ -914,15 +914,15 @@ int hil_mlc_register(hil_mlc *mlc) diff --git a/input-serio-hp_sdc-semaphore-cleanup.patch b/input-serio-hp_sdc-semaphore-cleanup.patch index 206bc46..fa691d1 100644 --- a/input-serio-hp_sdc-semaphore-cleanup.patch +++ b/input-serio-hp_sdc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From ef32f03646610285ed8cbb9f65a50fe9837d1780 Mon Sep 17 00:00:00 2001 +From 32ec601633c47b3867190d89f9ca005d6c08f3b2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:44:20 +0200 Subject: [PATCH] input: serio/hp_sdc: semaphore cleanup @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dmitry Torokhov <dtor@mail.ru> diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c -index 1c9410d..14b7ccb 100644 +index bcc2d30..ff45419 100644 --- a/drivers/input/serio/hp_sdc.c +++ b/drivers/input/serio/hp_sdc.c @@ -1039,7 +1039,7 @@ static int __init hp_sdc_register(void) diff --git a/ipc-Make-the-ipc-code-rt-aware.patch b/ipc-Make-the-ipc-code-rt-aware.patch index 7163407..5b699be 100644 --- a/ipc-Make-the-ipc-code-rt-aware.patch +++ b/ipc-Make-the-ipc-code-rt-aware.patch @@ -1,4 +1,4 @@ -From ba5ef7730db86638c4f7062bbd9f31c7a2d5babc Mon Sep 17 00:00:00 2001 +From 3162cdd49621d5207529dd1f3839f9a205847d56 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:12 -0500 Subject: [PATCH] ipc: Make the ipc code -rt aware @@ -18,10 +18,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/ipc/mqueue.c b/ipc/mqueue.c -index 04985a7..73ef4c4 100644 +index c79bd57..02ee4ff 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c -@@ -817,12 +817,17 @@ static inline void pipelined_send(struct mqueue_inode_info *info, +@@ -818,12 +818,17 @@ static inline void pipelined_send(struct mqueue_inode_info *info, struct msg_msg *message, struct ext_wait_queue *receiver) { diff --git a/ipc-fix-rt-non_rt-imbalance.patch b/ipc-fix-rt-non_rt-imbalance.patch index 519b486..6bdc5ad 100644 --- a/ipc-fix-rt-non_rt-imbalance.patch +++ b/ipc-fix-rt-non_rt-imbalance.patch @@ -1,4 +1,4 @@ -From 1920d618c37ee53bb424a32f26076af2fa5b2a8b Mon Sep 17 00:00:00 2001 +From 522ecd1cf18899a6c436421d8c5eb4684fdcc2f1 Mon Sep 17 00:00:00 2001 From: John Kacur <jkacur@redhat.com> Date: Thu, 15 Oct 2009 21:09:32 +0200 Subject: [PATCH] ipc: fix rt/non_rt imbalance @@ -16,10 +16,10 @@ Signed-off-by: John Kacur <jkacur@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/ipc/mqueue.c b/ipc/mqueue.c -index 63a47f7..ab4df36 100644 +index 02ee4ff..5bcb571 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c -@@ -830,7 +830,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, +@@ -828,7 +828,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, wake_up_process(receiver->task); smp_wmb(); receiver->state = STATE_READY; diff --git a/irq-chip-apply-mask-if-IRQ_ONESHOT-is-set.patch b/irq-chip-apply-mask-if-IRQ_ONESHOT-is-set.patch index 21aa6cd..fa5d78c 100644 --- a/irq-chip-apply-mask-if-IRQ_ONESHOT-is-set.patch +++ b/irq-chip-apply-mask-if-IRQ_ONESHOT-is-set.patch @@ -1,4 +1,4 @@ -From d300be757c7752517c2f71c42da0f2f546e76c1e Mon Sep 17 00:00:00 2001 +From f2ffdc70e84b8dc8a9f0e639a468806dfe855e14 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 22:33:07 -0500 Subject: [PATCH] irq chip: apply mask if IRQ_ONESHOT is set @@ -31,10 +31,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c -index 4f7c856..bc9d058 100644 +index 939c2dd..cd58389 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c -@@ -544,6 +544,9 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) +@@ -496,6 +496,9 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) goto out; } diff --git a/kmap-atomic-i386-fix.patch b/kmap-atomic-i386-fix.patch index 3f6b0ed..da99a7d 100644 --- a/kmap-atomic-i386-fix.patch +++ b/kmap-atomic-i386-fix.patch @@ -1,4 +1,4 @@ -From 751675d74ac83053714021896601a3cde294a6ff Mon Sep 17 00:00:00 2001 +From dfcef64dff309968a1dd3f50a652dea73f847417 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:38 -0500 Subject: [PATCH] kmap: atomic i386 fix @@ -27,7 +27,7 @@ index d1c2886..42f2449 100644 #else # define kmap_atomic_prot(page, type, prot) __kmap_atomic_prot(page, type, prot) diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c -index 15f5ac4..8c1bebc 100644 +index 856a2a3..419d8f6 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c @@ -4,9 +4,9 @@ diff --git a/kthreads-fix-softirq-startup-hang.patch b/kthreads-fix-softirq-startup-hang.patch index c139dec..3aed708 100644 --- a/kthreads-fix-softirq-startup-hang.patch +++ b/kthreads-fix-softirq-startup-hang.patch @@ -1,4 +1,4 @@ -From 0dc6c39e33b193bdf9bfab265c24a03108526bff Mon Sep 17 00:00:00 2001 +From e9046c88a629dec6e3aa31fdc459ee14438b1314 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Jul 2009 16:03:38 +0200 Subject: [PATCH] kthreads: fix softirq startup hang @@ -12,10 +12,10 @@ softirq has not been started yet. Use schedule_hrtimeout() instead Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 45157fd..1c99551 100644 +index c19ddb3..b859b1e 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2156,7 +2156,10 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) +@@ -2219,7 +2219,10 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) * yield - it could be a while. */ if (unlikely(on_rq)) { diff --git a/kvm-use-raw_smp_processor_id-in-make_all_cpus_reques.patch b/kvm-use-raw_smp_processor_id-in-make_all_cpus_reques.patch index 53a795b..9a0efa7 100644 --- a/kvm-use-raw_smp_processor_id-in-make_all_cpus_reques.patch +++ b/kvm-use-raw_smp_processor_id-in-make_all_cpus_reques.patch @@ -1,4 +1,4 @@ -From 9d4dc52779f357c6173f043f96dbfdc6b98a86af Mon Sep 17 00:00:00 2001 +From cc7d03f85d1ef316b718dbf4dde534e0e1b4062f Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 14:18:48 -0500 Subject: [PATCH] kvm: use raw_smp_processor_id in make_all_cpus_request @@ -31,7 +31,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c -index 9dd98cb..a4153cb 100644 +index a944be3..a51ba60 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -137,7 +137,7 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req) diff --git a/latencytop-Convert-latency_lock-to-raw_spinlock.patch b/latencytop-Convert-latency_lock-to-raw_spinlock.patch index 80bd847..4415ca0 100644 --- a/latencytop-Convert-latency_lock-to-raw_spinlock.patch +++ b/latencytop-Convert-latency_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 0dfea57f1f486188303e598f96f0f92995bf9276 Mon Sep 17 00:00:00 2001 +From d8defb39290487080a8df2b32283b6b7cca1f8c2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 17 Sep 2009 17:31:09 +0200 Subject: [PATCH] latencytop: Convert latency_lock to raw_spinlock @@ -11,7 +11,7 @@ be a real spinlock on RT. convert it to raw_spinlock. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/latencytop.c b/kernel/latencytop.c -index ca07c5c..34311e1 100644 +index ca07c5c..2b462ef 100644 --- a/kernel/latencytop.c +++ b/kernel/latencytop.c @@ -59,7 +59,7 @@ diff --git a/lockdep-RT-recursion-limit-fix.patch b/lockdep-RT-recursion-limit-fix.patch index f088696..ad74383 100644 --- a/lockdep-RT-recursion-limit-fix.patch +++ b/lockdep-RT-recursion-limit-fix.patch @@ -1,4 +1,4 @@ -From a003179084aebec40f6eb8114fc9b322f6c647c0 Mon Sep 17 00:00:00 2001 +From 026888d186defa1fe305dd47c30345a98f87058e Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Fri, 3 Jul 2009 08:44:07 -0500 Subject: [PATCH] lockdep: RT recursion limit fix @@ -31,7 +31,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index 493a0ef..fb60f8b 100644 +index c62ec14..cf6db46 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -1337,6 +1337,7 @@ print_shortest_lock_dependencies(struct lock_list *leaf, diff --git a/lockdep-Reduce-stack_trace-usage.patch b/lockdep-Reduce-stack_trace-usage.patch index a417dc5..38d4643 100644 --- a/lockdep-Reduce-stack_trace-usage.patch +++ b/lockdep-Reduce-stack_trace-usage.patch @@ -1,4 +1,4 @@ -From 77cb7c1cad611fa43172f5229de62512dab21824 Mon Sep 17 00:00:00 2001 +From dfcce6fe107bcf034351226b0a3c557f62310c16 Mon Sep 17 00:00:00 2001 From: Yong Zhang <yong.zhang@windriver.com> Date: Tue, 4 May 2010 14:16:48 +0800 Subject: [PATCH] lockdep: Reduce stack_trace usage @@ -30,7 +30,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index 873f275..6724a8b 100644 +index c74c909..3e3c8f4 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -834,7 +834,8 @@ static struct lock_list *alloc_list_entry(void) diff --git a/lockdep-add-no_validate-class.patch b/lockdep-add-no_validate-class.patch index d4cf11d..2c0bf14 100644 --- a/lockdep-add-no_validate-class.patch +++ b/lockdep-add-no_validate-class.patch @@ -1,4 +1,4 @@ -From 155977af2cad0e263ac18cfc576254352bc64184 Mon Sep 17 00:00:00 2001 +From f299b2c1c7057482c34f44fe41a051ae437adcc7 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 14:43:36 -0500 Subject: [PATCH] lockdep: add no_validate class @@ -29,6 +29,18 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +diff --git a/drivers/base/core.c b/drivers/base/core.c +index 004302c..5e2950a 100644 +--- a/drivers/base/core.c ++++ b/drivers/base/core.c +@@ -564,6 +564,7 @@ void device_initialize(struct device *dev) + kobject_init(&dev->kobj, &device_ktype); + INIT_LIST_HEAD(&dev->dma_pools); + mutex_init(&dev->mutex); ++ lockdep_set_novalidate_class(&dev->mutex); + spin_lock_init(&dev->devres_lock); + INIT_LIST_HEAD(&dev->devres_head); + device_init_wakeup(dev, 0); diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 9ccf0e2..528620e 100644 --- a/include/linux/lockdep.h @@ -63,7 +75,7 @@ index 9ccf0e2..528620e 100644 * We don't define lockdep_match_class() and lockdep_match_key() for !LOCKDEP * case since the result is not well defined and the caller should rather diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index 81b74aa..6724a8b 100644 +index cf6db46..1199bda 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c @@ -805,6 +805,12 @@ out_unlock_set: @@ -79,7 +91,7 @@ index 81b74aa..6724a8b 100644 #ifdef CONFIG_PROVE_LOCKING /* * Allocate a lockdep entry. (assumes the graph_lock held, returns -@@ -2731,6 +2737,8 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name, +@@ -2718,6 +2724,8 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name, } EXPORT_SYMBOL_GPL(lockdep_init_map); @@ -88,7 +100,7 @@ index 81b74aa..6724a8b 100644 /* * This gets called for every mutex_lock*()/spin_lock*() operation. * We maintain the dependency maps and validate the locking attempt: -@@ -2765,6 +2773,9 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, +@@ -2752,6 +2760,9 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, return 0; } @@ -98,7 +110,7 @@ index 81b74aa..6724a8b 100644 if (!subclass) class = lock->class_cache; /* -@@ -3597,6 +3597,9 @@ void lockdep_init(void) +@@ -3597,6 +3608,9 @@ void lockdep_init(void) for (i = 0; i < CHAINHASH_SIZE; i++) INIT_LIST_HEAD(chainhash_table + i); @@ -107,19 +119,7 @@ index 81b74aa..6724a8b 100644 + lockdep_initialized = 1; } - -diff --git a/drivers/base/core.c b/drivers/base/core.c -index f06a097..fe5f4d1 100644 ---- a/drivers/base/core.c -+++ b/drivers/base/core.c -@@ -564,6 +564,7 @@ void device_initialize(struct device *dev) - kobject_init(&dev->kobj, &device_ktype); - INIT_LIST_HEAD(&dev->dma_pools); - mutex_init(&dev->mutex); -+ lockdep_set_novalidate_class(&dev->mutex); - spin_lock_init(&dev->devres_lock); - INIT_LIST_HEAD(&dev->devres_head); - device_init_wakeup(dev, 0); + -- 1.7.1.1 diff --git a/locking-selftest-add-RT-workarounds.patch b/locking-selftest-add-RT-workarounds.patch index 43ad45e..228df15 100644 --- a/locking-selftest-add-RT-workarounds.patch +++ b/locking-selftest-add-RT-workarounds.patch @@ -1,4 +1,4 @@ -From 7ca940eb809786cb0c45af7340c25b5864662de9 Mon Sep 17 00:00:00 2001 +From b04af1be28e4f489dbf8dec6069e028af1dc1224 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 15:37:33 -0500 Subject: [PATCH] locking selftest: add RT workarounds. @@ -28,7 +28,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/init/main.c b/init/main.c -index 1808da1..3bf758a 100644 +index 4445c08..8f95889 100644 --- a/init/main.c +++ b/init/main.c @@ -623,7 +623,16 @@ asmlinkage void __init start_kernel(void) diff --git a/make-takeover_delayed_drop-depend-on-HOTPLUG_CPU.patch b/make-takeover_delayed_drop-depend-on-HOTPLUG_CPU.patch index 47e120f..2dc1abd 100644 --- a/make-takeover_delayed_drop-depend-on-HOTPLUG_CPU.patch +++ b/make-takeover_delayed_drop-depend-on-HOTPLUG_CPU.patch @@ -1,4 +1,4 @@ -From 2aab5fbd169d940df8201ecac671fc858479d09b Mon Sep 17 00:00:00 2001 +From 47dd96605da943fe8d5867a60a86d448213da9e6 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 13:00:04 -0500 Subject: [PATCH] make takeover_delayed_drop depend on HOTPLUG_CPU @@ -30,10 +30,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/fork.c b/kernel/fork.c -index 686a3ec..ebe00ba 100644 +index f9cb88c..6dc8e27 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1842,6 +1842,7 @@ void __mmdrop_delayed(struct mm_struct *mm) +@@ -1844,6 +1844,7 @@ void __mmdrop_delayed(struct mm_struct *mm) put_cpu_var(delayed_drop_list); } @@ -41,7 +41,7 @@ index 686a3ec..ebe00ba 100644 static void takeover_delayed_drop(int hotcpu) { struct list_head *head = &per_cpu(delayed_drop_list, hotcpu); -@@ -1854,6 +1855,7 @@ static void takeover_delayed_drop(int hotcpu) +@@ -1856,6 +1857,7 @@ static void takeover_delayed_drop(int hotcpu) __mmdrop_delayed(mm); } } diff --git a/mips-Prepare-decoupling-page-fault-logic-from-preemp.patch b/mips-Prepare-decoupling-page-fault-logic-from-preemp.patch index f9e3ae4..f3caef8 100644 --- a/mips-Prepare-decoupling-page-fault-logic-from-preemp.patch +++ b/mips-Prepare-decoupling-page-fault-logic-from-preemp.patch @@ -1,4 +1,4 @@ -From 6408db29f29fe5a2f6d385a9957b113ac766a921 Mon Sep 17 00:00:00 2001 +From c2dd6ba895528e08d5c82dcbcabaac47ae9d5fc9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 15:23:27 +0200 Subject: [PATCH] mips: Prepare decoupling page-fault logic from preempt-count @@ -8,10 +8,10 @@ commit 6408db29f29fe5a2f6d385a9957b113ac766a921 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c -index 6751ce9..894927f 100644 +index e97a7a2..589f1b9 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c -@@ -69,7 +69,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, +@@ -75,7 +75,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, * If we're in an interrupt or have no user * context, we must not take the fault.. */ @@ -21,10 +21,10 @@ index 6751ce9..894927f 100644 down_read(&mm->mmap_sem); diff --git a/arch/mips/mm/highmem.c b/arch/mips/mm/highmem.c -index e274fda..c0c038b 100644 +index 127d732..384159b 100644 --- a/arch/mips/mm/highmem.c +++ b/arch/mips/mm/highmem.c -@@ -45,7 +45,7 @@ void *__kmap_atomic(struct page *page, enum km_type type) +@@ -46,7 +46,7 @@ void *__kmap_atomic(struct page *page, enum km_type type) enum fixed_addresses idx; unsigned long vaddr; @@ -33,7 +33,7 @@ index e274fda..c0c038b 100644 pagefault_disable(); if (!PageHighMem(page)) return page_address(page); -@@ -71,6 +71,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type) +@@ -72,6 +72,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type) if (vaddr < FIXADDR_START) { // FIXME pagefault_enable(); @@ -41,7 +41,7 @@ index e274fda..c0c038b 100644 return; } -@@ -85,6 +86,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type) +@@ -86,6 +87,7 @@ void __kunmap_atomic(void *kvaddr, enum km_type type) #endif pagefault_enable(); @@ -49,7 +49,7 @@ index e274fda..c0c038b 100644 } EXPORT_SYMBOL(__kunmap_atomic); -@@ -97,6 +99,7 @@ void *kmap_atomic_pfn(unsigned long pfn, enum km_type type) +@@ -98,6 +100,7 @@ void *kmap_atomic_pfn(unsigned long pfn, enum km_type type) enum fixed_addresses idx; unsigned long vaddr; diff --git a/mm-Allow-only-slab-on-RT.patch b/mm-Allow-only-slab-on-RT.patch index 6ef2389..b530326 100644 --- a/mm-Allow-only-slab-on-RT.patch +++ b/mm-Allow-only-slab-on-RT.patch @@ -1,4 +1,4 @@ -From 8214e2fa9466234119ede2378403f065733d67f2 Mon Sep 17 00:00:00 2001 +From 27fc123267a6cf8479088c5fbfbe160a7f1558ee Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:03 -0500 Subject: [PATCH] mm: Allow only slab on RT @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/init/Kconfig b/init/Kconfig -index c6035d4..28d331f 100644 +index 9a50980..5cc0442 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1032,6 +1032,7 @@ config SLAB +@@ -1072,6 +1072,7 @@ config SLAB config SLUB bool "SLUB (Unqueued Allocator)" diff --git a/mm-Fix-the-non-RT-version-of-swap_get_cpu_var.patch b/mm-Fix-the-non-RT-version-of-swap_get_cpu_var.patch index afdaf9f..82e293f 100644 --- a/mm-Fix-the-non-RT-version-of-swap_get_cpu_var.patch +++ b/mm-Fix-the-non-RT-version-of-swap_get_cpu_var.patch @@ -1,4 +1,4 @@ -From edc1a1c366af0d1c755f159b3ac503812e166173 Mon Sep 17 00:00:00 2001 +From 9aff13a2d72afa6e5cfe232ff3e82e960ee117e7 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Fri, 4 Sep 2009 11:22:02 +0800 Subject: [PATCH] mm: Fix the non-RT version of swap_get_cpu_var @@ -118,7 +118,7 @@ LKML-Reference: <1252034522-32653-1-git-send-email-wuzhangjin@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/mm/swap.c b/mm/swap.c -index a981acd..c2dfe5f 100644 +index 608bce3..a4de467 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -95,12 +95,13 @@ static DEFINE_PER_CPU(struct pagevec, lru_rotate_pvecs); diff --git a/mm-More-lock-breaks-in-slab.c.patch b/mm-More-lock-breaks-in-slab.c.patch index b13d242..49eb318 100644 --- a/mm-More-lock-breaks-in-slab.c.patch +++ b/mm-More-lock-breaks-in-slab.c.patch @@ -1,4 +1,4 @@ -From 4672c44017f4f0545122dfefd09cdd68c0c848ff Mon Sep 17 00:00:00 2001 +From d088d25ae924b8ae99f5483b61d79337065907de Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri, 3 Jul 2009 08:44:43 -0500 Subject: [PATCH] mm: More lock breaks in slab.c @@ -12,7 +12,7 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/mm/slab.c b/mm/slab.c -index 64198d9..a4bd906 100644 +index b99df7f..4641c47 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -180,28 +180,46 @@ static void slab_irq_disable_GFP_WAIT(gfp_t flags, int *cpu) @@ -67,7 +67,7 @@ index 64198d9..a4bd906 100644 } # define slab_irq_save(flags, cpu) \ -@@ -1507,6 +1525,12 @@ void __init kmem_cache_init(void) +@@ -1520,6 +1538,12 @@ void __init kmem_cache_init(void) int order; int node; @@ -80,7 +80,7 @@ index 64198d9..a4bd906 100644 if (num_possible_nodes() == 1) use_alien_caches = 0; -@@ -1781,12 +1805,14 @@ static void *kmem_getpages(struct kmem_cache *cachep, gfp_t flags, int nodeid) +@@ -1794,12 +1818,14 @@ static void *kmem_getpages(struct kmem_cache *cachep, gfp_t flags, int nodeid) /* * Interface to system's page release. */ @@ -97,7 +97,7 @@ index 64198d9..a4bd906 100644 kmemcheck_free_shadow(page, cachep->gfporder); if (cachep->flags & SLAB_RECLAIM_ACCOUNT) -@@ -1795,6 +1821,7 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) +@@ -1808,6 +1834,7 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) else sub_zone_page_state(page_zone(page), NR_SLAB_UNRECLAIMABLE, nr_freed); @@ -105,7 +105,7 @@ index 64198d9..a4bd906 100644 while (i--) { BUG_ON(!PageSlab(page)); __ClearPageSlab(page); -@@ -1802,6 +1829,13 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) +@@ -1815,6 +1842,13 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) } if (current->reclaim_state) current->reclaim_state->reclaimed_slab += nr_freed; @@ -119,7 +119,7 @@ index 64198d9..a4bd906 100644 free_pages((unsigned long)addr, cachep->gfporder); } -@@ -1810,7 +1844,7 @@ static void kmem_rcu_free(struct rcu_head *head) +@@ -1823,7 +1857,7 @@ static void kmem_rcu_free(struct rcu_head *head) struct slab_rcu *slab_rcu = (struct slab_rcu *)head; struct kmem_cache *cachep = slab_rcu->cachep; @@ -128,7 +128,7 @@ index 64198d9..a4bd906 100644 if (OFF_SLAB(cachep)) kmem_cache_free(cachep->slabp_cache, slab_rcu); } -@@ -2047,7 +2081,7 @@ slab_destroy(struct kmem_cache *cachep, struct slab *slabp, int *this_cpu) +@@ -2060,7 +2094,7 @@ slab_destroy(struct kmem_cache *cachep, struct slab *slabp, int *this_cpu) slab_rcu->addr = addr; call_rcu(&slab_rcu->head, kmem_rcu_free); } else { @@ -137,7 +137,7 @@ index 64198d9..a4bd906 100644 if (OFF_SLAB(cachep)) { if (this_cpu) __cache_free(cachep->slabp_cache, slabp, this_cpu); -@@ -2583,9 +2617,9 @@ slab_on_each_cpu(void (*func)(void *arg, int this_cpu), void *arg) +@@ -2598,9 +2632,9 @@ slab_on_each_cpu(void (*func)(void *arg, int this_cpu), void *arg) check_irq_on(); for_each_online_cpu(i) { @@ -149,7 +149,7 @@ index 64198d9..a4bd906 100644 } } #else -@@ -2976,7 +3010,7 @@ static int cache_grow(struct kmem_cache *cachep, gfp_t flags, int nodeid, +@@ -2991,7 +3025,7 @@ static int cache_grow(struct kmem_cache *cachep, gfp_t flags, int nodeid, spin_unlock(&l3->list_lock); return 1; opps1: diff --git a/mm-Prepare-decoupling-the-page-fault-disabling-logic.patch b/mm-Prepare-decoupling-the-page-fault-disabling-logic.patch index 1cb5cd8..1599371 100644 --- a/mm-Prepare-decoupling-the-page-fault-disabling-logic.patch +++ b/mm-Prepare-decoupling-the-page-fault-disabling-logic.patch @@ -1,4 +1,4 @@ -From 62e55136eb88552c00682723869c9313eced60fd Mon Sep 17 00:00:00 2001 +From c75b8f0fad2de7ac65ee096748b56798254c3588 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:37 -0500 Subject: [PATCH] mm: Prepare decoupling the page fault disabling logic @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 045bf09..bfa8420 100644 +index 7d22297..dfdeb99 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1441,6 +1441,7 @@ struct task_struct { +@@ -1438,6 +1438,7 @@ struct task_struct { /* mutex deadlock detection */ struct mutex_waiter *blocked_on; #endif @@ -70,7 +70,7 @@ index d512d98..9c7e38a 100644 #ifndef ARCH_HAS_NOCACHE_UACCESS diff --git a/kernel/fork.c b/kernel/fork.c -index 0f87f85..6402406 100644 +index f88bd98..fe228fd 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1118,6 +1118,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, diff --git a/mm-Remove-preempt-count-from-pagefault-disable-enabl.patch b/mm-Remove-preempt-count-from-pagefault-disable-enabl.patch index 079a906..bd2fb2e 100644 --- a/mm-Remove-preempt-count-from-pagefault-disable-enabl.patch +++ b/mm-Remove-preempt-count-from-pagefault-disable-enabl.patch @@ -1,4 +1,4 @@ -From e34d6077d0c482847728eea55ecdb1eb715042b1 Mon Sep 17 00:00:00 2001 +From 23f9f103d00003bfb007edc9a08aca7bee6e5be5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 22:06:27 +0200 Subject: [PATCH] mm: Remove preempt count from pagefault disable/enable @@ -10,10 +10,10 @@ Now that all users are cleaned up, we can remove the preemption count. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/mm/memory.c b/mm/memory.c -index b65fb84..03c2417 100644 +index 2c58057..fef5225 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -2957,7 +2957,6 @@ unlock: +@@ -3013,7 +3013,6 @@ unlock: void pagefault_disable(void) { @@ -21,7 +21,7 @@ index b65fb84..03c2417 100644 current->pagefault_disabled++; /* * make sure to have issued the store before a pagefault -@@ -2975,12 +2974,6 @@ void pagefault_enable(void) +@@ -3031,12 +3030,6 @@ void pagefault_enable(void) */ barrier(); current->pagefault_disabled--; diff --git a/mm-Restructure-slab-to-use-percpu-locked-data-struct.patch b/mm-Restructure-slab-to-use-percpu-locked-data-struct.patch index 4008f73..2e518e6 100644 --- a/mm-Restructure-slab-to-use-percpu-locked-data-struct.patch +++ b/mm-Restructure-slab-to-use-percpu-locked-data-struct.patch @@ -1,4 +1,4 @@ -From cf275523b5708b596929830d850332d366c95132 Mon Sep 17 00:00:00 2001 +From c9648d74893628a12dd677e871f763b92abb357b Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:11 -0500 Subject: [PATCH] mm: Restructure slab to use percpu locked data structures @@ -18,7 +18,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/mm/slab.c b/mm/slab.c -index ff44eb2..c456667 100644 +index 7451bda..b99df7f 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -121,6 +121,120 @@ @@ -207,7 +207,7 @@ index ff44eb2..c456667 100644 static struct array_cache **alloc_alien_cache(int node, int limit, gfp_t gfp) { -@@ -1012,7 +1128,8 @@ static void free_alien_cache(struct array_cache **ac_ptr) +@@ -1014,7 +1130,8 @@ static void free_alien_cache(struct array_cache **ac_ptr) } static void __drain_alien_cache(struct kmem_cache *cachep, @@ -217,7 +217,7 @@ index ff44eb2..c456667 100644 { struct kmem_list3 *rl3 = cachep->nodelists[node]; -@@ -1026,7 +1143,7 @@ static void __drain_alien_cache(struct kmem_cache *cachep, +@@ -1028,7 +1145,7 @@ static void __drain_alien_cache(struct kmem_cache *cachep, if (rl3->shared) transfer_objects(rl3->shared, ac, ac->limit); @@ -226,7 +226,7 @@ index ff44eb2..c456667 100644 ac->avail = 0; spin_unlock(&rl3->list_lock); } -@@ -1035,38 +1152,42 @@ static void __drain_alien_cache(struct kmem_cache *cachep, +@@ -1037,38 +1154,42 @@ static void __drain_alien_cache(struct kmem_cache *cachep, /* * Called from cache_reap() to regularly drain alien caches round robin. */ @@ -277,7 +277,7 @@ index ff44eb2..c456667 100644 { struct slab *slabp = virt_to_slab(objp); int nodeid = slabp->nodeid; -@@ -1074,7 +1195,7 @@ static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) +@@ -1076,7 +1197,7 @@ static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) struct array_cache *alien = NULL; int node; @@ -286,7 +286,7 @@ index ff44eb2..c456667 100644 /* * Make sure we are not freeing a object from another node to the array -@@ -1090,20 +1211,20 @@ static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) +@@ -1092,20 +1213,20 @@ static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) spin_lock(&alien->lock); if (unlikely(alien->avail == alien->limit)) { STATS_INC_ACOVERFLOW(cachep); @@ -310,7 +310,7 @@ index ff44eb2..c456667 100644 { struct kmem_cache *cachep; struct kmem_list3 *l3 = NULL; -@@ -1114,6 +1235,7 @@ static void __cpuinit cpuup_canceled(long cpu) +@@ -1116,6 +1237,7 @@ static void __cpuinit cpuup_canceled(long cpu) struct array_cache *nc; struct array_cache *shared; struct array_cache **alien; @@ -318,7 +318,7 @@ index ff44eb2..c456667 100644 /* cpu is dead; no one can alloc from it. */ nc = cachep->array[cpu]; -@@ -1128,7 +1250,7 @@ static void __cpuinit cpuup_canceled(long cpu) +@@ -1130,7 +1252,7 @@ static void __cpuinit cpuup_canceled(long cpu) /* Free limit for this kmem_list3 */ l3->free_limit -= cachep->batchcount; if (nc) @@ -327,7 +327,7 @@ index ff44eb2..c456667 100644 if (!cpumask_empty(mask)) { spin_unlock_irq(&l3->list_lock); -@@ -1138,7 +1260,7 @@ static void __cpuinit cpuup_canceled(long cpu) +@@ -1140,7 +1262,7 @@ static void __cpuinit cpuup_canceled(long cpu) shared = l3->shared; if (shared) { free_block(cachep, shared->entry, @@ -336,7 +336,7 @@ index ff44eb2..c456667 100644 l3->shared = NULL; } -@@ -1154,6 +1276,7 @@ static void __cpuinit cpuup_canceled(long cpu) +@@ -1156,6 +1278,7 @@ static void __cpuinit cpuup_canceled(long cpu) } free_array_cache: kfree(nc); @@ -344,7 +344,7 @@ index ff44eb2..c456667 100644 } /* * In the previous loop, all the objects were freed to -@@ -1168,7 +1291,7 @@ free_array_cache: +@@ -1170,7 +1293,7 @@ free_array_cache: } } @@ -353,7 +353,7 @@ index ff44eb2..c456667 100644 { struct kmem_cache *cachep; struct kmem_list3 *l3 = NULL; -@@ -1278,10 +1401,19 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, +@@ -1280,10 +1403,19 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, long cpu = (long)hcpu; int err = 0; @@ -373,7 +373,7 @@ index ff44eb2..c456667 100644 err = cpuup_prepare(cpu); mutex_unlock(&cache_chain_mutex); break; -@@ -1321,10 +1453,14 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, +@@ -1323,10 +1455,14 @@ static int __cpuinit cpuup_callback(struct notifier_block *nfb, case CPU_UP_CANCELED: case CPU_UP_CANCELED_FROZEN: mutex_lock(&cache_chain_mutex); @@ -388,7 +388,7 @@ index ff44eb2..c456667 100644 return err ? NOTIFY_BAD : NOTIFY_OK; } -@@ -1511,32 +1647,34 @@ void __init kmem_cache_init(void) +@@ -1513,32 +1649,34 @@ void __init kmem_cache_init(void) /* 4) Replace the bootstrap head arrays */ { struct array_cache *ptr; @@ -430,7 +430,7 @@ index ff44eb2..c456667 100644 } /* 5) Replace the bootstrap kmem_list3's */ { -@@ -1703,7 +1841,7 @@ static void store_stackinfo(struct kmem_cache *cachep, unsigned long *addr, +@@ -1705,7 +1843,7 @@ static void store_stackinfo(struct kmem_cache *cachep, unsigned long *addr, *addr++ = 0x12345678; *addr++ = caller; @@ -439,7 +439,7 @@ index ff44eb2..c456667 100644 size -= 3 * sizeof(unsigned long); { unsigned long *sptr = &caller; -@@ -1893,6 +2031,10 @@ static void slab_destroy_debugcheck(struct kmem_cache *cachep, struct slab *slab +@@ -1895,6 +2033,10 @@ static void slab_destroy_debugcheck(struct kmem_cache *cachep, struct slab *slab } #endif @@ -450,7 +450,7 @@ index ff44eb2..c456667 100644 /** * slab_destroy - destroy and release all objects in a slab * @cachep: cache pointer being destroyed -@@ -1902,7 +2044,8 @@ static void slab_destroy_debugcheck(struct kmem_cache *cachep, struct slab *slab +@@ -1904,7 +2046,8 @@ static void slab_destroy_debugcheck(struct kmem_cache *cachep, struct slab *slab * Before calling the slab must have been unlinked from the cache. The * cache-lock is not held/needed. */ @@ -460,7 +460,7 @@ index ff44eb2..c456667 100644 { void *addr = slabp->s_mem - slabp->colouroff; -@@ -1916,8 +2059,12 @@ static void slab_destroy(struct kmem_cache *cachep, struct slab *slabp) +@@ -1918,8 +2061,12 @@ static void slab_destroy(struct kmem_cache *cachep, struct slab *slabp) call_rcu(&slab_rcu->head, kmem_rcu_free); } else { kmem_freepages(cachep, addr); @@ -475,7 +475,7 @@ index ff44eb2..c456667 100644 } } -@@ -2014,6 +2161,8 @@ static size_t calculate_slab_order(struct kmem_cache *cachep, +@@ -2016,6 +2163,8 @@ static size_t calculate_slab_order(struct kmem_cache *cachep, static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp) { @@ -484,7 +484,7 @@ index ff44eb2..c456667 100644 if (g_cpucache_up == FULL) return enable_cpucache(cachep, gfp); -@@ -2057,10 +2206,12 @@ static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp) +@@ -2059,10 +2208,12 @@ static int __init_refok setup_cpu_cache(struct kmem_cache *cachep, gfp_t gfp) jiffies + REAPTIMEOUT_LIST3 + ((unsigned long)cachep) % REAPTIMEOUT_LIST3; @@ -501,7 +501,7 @@ index ff44eb2..c456667 100644 cachep->batchcount = 1; cachep->limit = BOOT_CPUCACHE_ENTRIES; return 0; -@@ -2372,19 +2523,19 @@ EXPORT_SYMBOL(kmem_cache_create); +@@ -2374,19 +2525,19 @@ EXPORT_SYMBOL(kmem_cache_create); #if DEBUG static void check_irq_off(void) { @@ -528,7 +528,7 @@ index ff44eb2..c456667 100644 #endif } -@@ -2399,34 +2550,67 @@ static void check_spinlock_acquired_node(struct kmem_cache *cachep, int node) +@@ -2401,34 +2552,67 @@ static void check_spinlock_acquired_node(struct kmem_cache *cachep, int node) #else #define check_irq_off() do { } while(0) #define check_irq_on() do { } while(0) @@ -603,7 +603,7 @@ index ff44eb2..c456667 100644 check_irq_on(); for_each_online_node(node) { l3 = cachep->nodelists[node]; -@@ -2451,16 +2635,16 @@ static int drain_freelist(struct kmem_cache *cache, +@@ -2453,16 +2637,16 @@ static int drain_freelist(struct kmem_cache *cache, struct kmem_list3 *l3, int tofree) { struct list_head *p; @@ -623,7 +623,7 @@ index ff44eb2..c456667 100644 goto out; } -@@ -2469,13 +2653,9 @@ static int drain_freelist(struct kmem_cache *cache, +@@ -2471,13 +2655,9 @@ static int drain_freelist(struct kmem_cache *cache, BUG_ON(slabp->inuse); #endif list_del(&slabp->list); @@ -639,7 +639,7 @@ index ff44eb2..c456667 100644 nr_freed++; } out: -@@ -2739,8 +2919,8 @@ static void slab_map_pages(struct kmem_cache *cache, struct slab *slab, +@@ -2741,8 +2921,8 @@ static void slab_map_pages(struct kmem_cache *cache, struct slab *slab, * Grow (by 1) the number of slabs within a cache. This is called by * kmem_cache_alloc() when there are no active objs left in a cache. */ @@ -650,7 +650,7 @@ index ff44eb2..c456667 100644 { struct slab *slabp; size_t offset; -@@ -2768,8 +2948,7 @@ static int cache_grow(struct kmem_cache *cachep, +@@ -2770,8 +2950,7 @@ static int cache_grow(struct kmem_cache *cachep, offset *= cachep->colour_off; @@ -660,7 +660,7 @@ index ff44eb2..c456667 100644 /* * The test for missing atomic flag is performed here, rather than -@@ -2798,8 +2977,8 @@ static int cache_grow(struct kmem_cache *cachep, +@@ -2800,8 +2979,8 @@ static int cache_grow(struct kmem_cache *cachep, cache_init_objs(cachep, slabp); @@ -671,7 +671,7 @@ index ff44eb2..c456667 100644 check_irq_off(); spin_lock(&l3->list_lock); -@@ -2812,8 +2991,7 @@ static int cache_grow(struct kmem_cache *cachep, +@@ -2814,8 +2993,7 @@ static int cache_grow(struct kmem_cache *cachep, opps1: kmem_freepages(cachep, objp); failed: @@ -681,7 +681,7 @@ index ff44eb2..c456667 100644 return 0; } -@@ -2935,7 +3113,8 @@ bad: +@@ -2937,7 +3115,8 @@ bad: #define check_slabp(x,y) do { } while(0) #endif @@ -691,7 +691,7 @@ index ff44eb2..c456667 100644 { int batchcount; struct kmem_list3 *l3; -@@ -2945,7 +3124,7 @@ static void *cache_alloc_refill(struct kmem_cache *cachep, gfp_t flags) +@@ -2947,7 +3126,7 @@ static void *cache_alloc_refill(struct kmem_cache *cachep, gfp_t flags) retry: check_irq_off(); node = numa_node_id(); @@ -700,7 +700,7 @@ index ff44eb2..c456667 100644 batchcount = ac->batchcount; if (!ac->touched && batchcount > BATCHREFILL_LIMIT) { /* -@@ -2955,7 +3134,7 @@ retry: +@@ -2957,7 +3136,7 @@ retry: */ batchcount = BATCHREFILL_LIMIT; } @@ -709,7 +709,7 @@ index ff44eb2..c456667 100644 BUG_ON(ac->avail > 0 || !l3); spin_lock(&l3->list_lock); -@@ -2978,7 +3157,7 @@ retry: +@@ -2980,7 +3159,7 @@ retry: slabp = list_entry(entry, struct slab, list); check_slabp(cachep, slabp); @@ -718,7 +718,7 @@ index ff44eb2..c456667 100644 /* * The slab was either on partial or free list so -@@ -2992,8 +3171,9 @@ retry: +@@ -2994,8 +3173,9 @@ retry: STATS_INC_ACTIVE(cachep); STATS_SET_HIGH(cachep); @@ -730,7 +730,7 @@ index ff44eb2..c456667 100644 } check_slabp(cachep, slabp); -@@ -3012,10 +3192,10 @@ alloc_done: +@@ -3014,10 +3194,10 @@ alloc_done: if (unlikely(!ac->avail)) { int x; @@ -743,7 +743,7 @@ index ff44eb2..c456667 100644 if (!x && ac->avail == 0) /* no objects in sight? abort */ return NULL; -@@ -3102,26 +3282,27 @@ static bool slab_should_failslab(struct kmem_cache *cachep, gfp_t flags) +@@ -3104,26 +3284,27 @@ static bool slab_should_failslab(struct kmem_cache *cachep, gfp_t flags) return should_failslab(obj_size(cachep), flags); } @@ -775,7 +775,7 @@ index ff44eb2..c456667 100644 } /* * To avoid a false negative, if an object that is in one of the -@@ -3140,7 +3321,8 @@ static inline void *____cache_alloc(struct kmem_cache *cachep, gfp_t flags) +@@ -3142,7 +3323,8 @@ static inline void *____cache_alloc(struct kmem_cache *cachep, gfp_t flags) * If we are in_interrupt, then process context, including cpusets and * mempolicy, may not apply and should not be used for allocation policy. */ @@ -785,7 +785,7 @@ index ff44eb2..c456667 100644 { int nid_alloc, nid_here; -@@ -3152,7 +3334,7 @@ static void *alternate_node_alloc(struct kmem_cache *cachep, gfp_t flags) +@@ -3154,7 +3336,7 @@ static void *alternate_node_alloc(struct kmem_cache *cachep, gfp_t flags) else if (current->mempolicy) nid_alloc = slab_node(current->mempolicy); if (nid_alloc != nid_here) @@ -794,7 +794,7 @@ index ff44eb2..c456667 100644 return NULL; } -@@ -3164,7 +3346,7 @@ static void *alternate_node_alloc(struct kmem_cache *cachep, gfp_t flags) +@@ -3166,7 +3348,7 @@ static void *alternate_node_alloc(struct kmem_cache *cachep, gfp_t flags) * allocator to do its reclaim / fallback magic. We then insert the * slab into the proper nodelist and then allocate from it. */ @@ -803,7 +803,7 @@ index ff44eb2..c456667 100644 { struct zonelist *zonelist; gfp_t local_flags; -@@ -3192,7 +3374,8 @@ retry: +@@ -3194,7 +3376,8 @@ retry: cache->nodelists[nid] && cache->nodelists[nid]->free_objects) { obj = ____cache_alloc_node(cache, @@ -813,7 +813,7 @@ index ff44eb2..c456667 100644 if (obj) break; } -@@ -3205,20 +3388,21 @@ retry: +@@ -3207,20 +3390,21 @@ retry: * We may trigger various forms of reclaim on the allowed * set and go into memory reserves if necessary. */ @@ -842,7 +842,7 @@ index ff44eb2..c456667 100644 if (!obj) /* * Another processor may allocate the -@@ -3239,7 +3423,7 @@ retry: +@@ -3241,7 +3425,7 @@ retry: * A interface to enable slab creation on nodeid */ static void *____cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, @@ -851,7 +851,7 @@ index ff44eb2..c456667 100644 { struct list_head *entry; struct slab *slabp; -@@ -3287,11 +3471,11 @@ retry: +@@ -3289,11 +3473,11 @@ retry: must_grow: spin_unlock(&l3->list_lock); @@ -865,7 +865,7 @@ index ff44eb2..c456667 100644 done: return obj; -@@ -3314,6 +3498,7 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, +@@ -3316,6 +3500,7 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, void *caller) { unsigned long save_flags; @@ -873,7 +873,7 @@ index ff44eb2..c456667 100644 void *ptr; flags &= gfp_allowed_mask; -@@ -3324,32 +3509,33 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, +@@ -3326,32 +3511,33 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, return NULL; cache_alloc_debugcheck_before(cachep, flags); @@ -914,7 +914,7 @@ index ff44eb2..c456667 100644 ptr = cache_alloc_debugcheck_after(cachep, flags, ptr, caller); kmemleak_alloc_recursive(ptr, obj_size(cachep), 1, cachep->flags, flags); -@@ -3364,33 +3550,33 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, +@@ -3366,33 +3552,33 @@ __cache_alloc_node(struct kmem_cache *cachep, gfp_t flags, int nodeid, } static __always_inline void * @@ -956,7 +956,7 @@ index ff44eb2..c456667 100644 } #endif /* CONFIG_NUMA */ -@@ -3399,6 +3585,7 @@ static __always_inline void * +@@ -3401,6 +3587,7 @@ static __always_inline void * __cache_alloc(struct kmem_cache *cachep, gfp_t flags, void *caller) { unsigned long save_flags; @@ -964,7 +964,7 @@ index ff44eb2..c456667 100644 void *objp; flags &= gfp_allowed_mask; -@@ -3409,9 +3596,9 @@ __cache_alloc(struct kmem_cache *cachep, gfp_t flags, void *caller) +@@ -3411,9 +3598,9 @@ __cache_alloc(struct kmem_cache *cachep, gfp_t flags, void *caller) return NULL; cache_alloc_debugcheck_before(cachep, flags); @@ -977,7 +977,7 @@ index ff44eb2..c456667 100644 objp = cache_alloc_debugcheck_after(cachep, flags, objp, caller); kmemleak_alloc_recursive(objp, obj_size(cachep), 1, cachep->flags, flags); -@@ -3430,7 +3617,7 @@ __cache_alloc(struct kmem_cache *cachep, gfp_t flags, void *caller) +@@ -3432,7 +3619,7 @@ __cache_alloc(struct kmem_cache *cachep, gfp_t flags, void *caller) * Caller needs to acquire correct kmem_list's list_lock */ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, @@ -986,7 +986,7 @@ index ff44eb2..c456667 100644 { int i; struct kmem_list3 *l3; -@@ -3459,7 +3646,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, +@@ -3461,7 +3648,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, * a different cache, refer to comments before * alloc_slabmgmt. */ @@ -995,7 +995,7 @@ index ff44eb2..c456667 100644 } else { list_add(&slabp->list, &l3->slabs_free); } -@@ -3473,11 +3660,12 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, +@@ -3475,11 +3662,12 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, } } @@ -1010,7 +1010,7 @@ index ff44eb2..c456667 100644 batchcount = ac->batchcount; #if DEBUG -@@ -3499,7 +3687,7 @@ static void cache_flusharray(struct kmem_cache *cachep, struct array_cache *ac) +@@ -3501,7 +3689,7 @@ static void cache_flusharray(struct kmem_cache *cachep, struct array_cache *ac) } } @@ -1019,7 +1019,7 @@ index ff44eb2..c456667 100644 free_done: #if STATS { -@@ -3528,9 +3716,9 @@ free_done: +@@ -3530,9 +3718,9 @@ free_done: * Release an obj back to its cache. If the obj has a constructed state, it must * be in this state _before_ it is released. Called with disabled ints. */ @@ -1031,7 +1031,7 @@ index ff44eb2..c456667 100644 check_irq_off(); kmemleak_free_recursive(objp, cachep->flags); -@@ -3545,7 +3733,7 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp) +@@ -3547,7 +3735,7 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp) * variable to skip the call, which is mostly likely to be present in * the cache. */ @@ -1040,7 +1040,7 @@ index ff44eb2..c456667 100644 return; if (likely(ac->avail < ac->limit)) { -@@ -3554,7 +3742,7 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp) +@@ -3556,7 +3744,7 @@ static inline void __cache_free(struct kmem_cache *cachep, void *objp) return; } else { STATS_INC_FREEMISS(cachep); @@ -1049,7 +1049,7 @@ index ff44eb2..c456667 100644 ac->entry[ac->avail++] = objp; } } -@@ -3753,13 +3941,14 @@ EXPORT_SYMBOL(__kmalloc); +@@ -3755,13 +3943,14 @@ EXPORT_SYMBOL(__kmalloc); void kmem_cache_free(struct kmem_cache *cachep, void *objp) { unsigned long flags; @@ -1067,7 +1067,7 @@ index ff44eb2..c456667 100644 trace_kmem_cache_free(_RET_IP_, objp); } -@@ -3778,18 +3967,19 @@ void kfree(const void *objp) +@@ -3780,18 +3969,19 @@ void kfree(const void *objp) { struct kmem_cache *c; unsigned long flags; @@ -1090,7 +1090,7 @@ index ff44eb2..c456667 100644 } EXPORT_SYMBOL(kfree); -@@ -3810,7 +4000,7 @@ EXPORT_SYMBOL_GPL(kmem_cache_name); +@@ -3812,7 +4002,7 @@ EXPORT_SYMBOL_GPL(kmem_cache_name); */ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) { @@ -1099,7 +1099,7 @@ index ff44eb2..c456667 100644 struct kmem_list3 *l3; struct array_cache *new_shared; struct array_cache **new_alien = NULL; -@@ -3838,11 +4028,11 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) +@@ -3840,11 +4030,11 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) if (l3) { struct array_cache *shared = l3->shared; @@ -1113,7 +1113,7 @@ index ff44eb2..c456667 100644 l3->shared = new_shared; if (!l3->alien) { -@@ -3851,7 +4041,7 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) +@@ -3853,7 +4043,7 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) } l3->free_limit = (1 + nr_cpus_node(node)) * cachep->batchcount + cachep->num; @@ -1122,7 +1122,7 @@ index ff44eb2..c456667 100644 kfree(shared); free_alien_cache(new_alien); continue; -@@ -3898,24 +4088,36 @@ struct ccupdate_struct { +@@ -3900,24 +4090,36 @@ struct ccupdate_struct { struct array_cache *new[NR_CPUS]; }; @@ -1164,7 +1164,7 @@ index ff44eb2..c456667 100644 new = kzalloc(sizeof(*new), gfp); if (!new) -@@ -3933,7 +4135,7 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, +@@ -3935,7 +4137,7 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, } new->cachep = cachep; @@ -1173,7 +1173,7 @@ index ff44eb2..c456667 100644 check_irq_on(); cachep->batchcount = batchcount; -@@ -3944,9 +4146,12 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, +@@ -3946,9 +4148,12 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, struct array_cache *ccold = new->new[i]; if (!ccold) continue; @@ -1189,7 +1189,7 @@ index ff44eb2..c456667 100644 kfree(ccold); } kfree(new); -@@ -4011,29 +4216,31 @@ static int enable_cpucache(struct kmem_cache *cachep, gfp_t gfp) +@@ -4013,29 +4218,31 @@ static int enable_cpucache(struct kmem_cache *cachep, gfp_t gfp) * Drain an array if it contains any elements taking the l3 lock only if * necessary. Note that the l3 listlock also protects the array_cache * if drain_array() is used on the shared array. @@ -1228,7 +1228,7 @@ index ff44eb2..c456667 100644 } /** -@@ -4050,10 +4257,11 @@ void drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, +@@ -4052,10 +4259,11 @@ void drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, */ static void cache_reap(struct work_struct *w) { @@ -1241,7 +1241,7 @@ index ff44eb2..c456667 100644 if (!mutex_trylock(&cache_chain_mutex)) /* Give up. Setup the next iteration. */ -@@ -4069,9 +4277,12 @@ static void cache_reap(struct work_struct *w) +@@ -4071,9 +4279,12 @@ static void cache_reap(struct work_struct *w) */ l3 = searchp->nodelists[node]; @@ -1256,7 +1256,7 @@ index ff44eb2..c456667 100644 /* * These are racy checks but it does not matter -@@ -4082,7 +4293,7 @@ static void cache_reap(struct work_struct *w) +@@ -4084,7 +4295,7 @@ static void cache_reap(struct work_struct *w) l3->next_reap = jiffies + REAPTIMEOUT_LIST3; @@ -1265,7 +1265,7 @@ index ff44eb2..c456667 100644 if (l3->free_touched) l3->free_touched = 0; -@@ -4101,7 +4312,8 @@ next: +@@ -4103,7 +4314,8 @@ next: next_reap_node(); out: /* Set up the next iteration */ @@ -1275,7 +1275,7 @@ index ff44eb2..c456667 100644 } #ifdef CONFIG_SLABINFO -@@ -4160,7 +4372,7 @@ static int s_show(struct seq_file *m, void *p) +@@ -4162,7 +4374,7 @@ static int s_show(struct seq_file *m, void *p) unsigned long num_slabs, free_objects = 0, shared_avail = 0; const char *name; char *error = NULL; @@ -1284,7 +1284,7 @@ index ff44eb2..c456667 100644 struct kmem_list3 *l3; active_objs = 0; -@@ -4171,7 +4383,7 @@ static int s_show(struct seq_file *m, void *p) +@@ -4173,7 +4385,7 @@ static int s_show(struct seq_file *m, void *p) continue; check_irq_on(); @@ -1293,7 +1293,7 @@ index ff44eb2..c456667 100644 list_for_each_entry(slabp, &l3->slabs_full, list) { if (slabp->inuse != cachep->num && !error) -@@ -4196,7 +4408,7 @@ static int s_show(struct seq_file *m, void *p) +@@ -4198,7 +4410,7 @@ static int s_show(struct seq_file *m, void *p) if (l3->shared) shared_avail += l3->shared->avail; @@ -1302,7 +1302,7 @@ index ff44eb2..c456667 100644 } num_slabs += active_slabs; num_objs = num_slabs * cachep->num; -@@ -4406,7 +4618,7 @@ static int leaks_show(struct seq_file *m, void *p) +@@ -4408,7 +4620,7 @@ static int leaks_show(struct seq_file *m, void *p) struct kmem_list3 *l3; const char *name; unsigned long *n = m->private; @@ -1311,7 +1311,7 @@ index ff44eb2..c456667 100644 int i; if (!(cachep->flags & SLAB_STORE_USER)) -@@ -4424,13 +4636,13 @@ static int leaks_show(struct seq_file *m, void *p) +@@ -4426,13 +4638,13 @@ static int leaks_show(struct seq_file *m, void *p) continue; check_irq_on(); diff --git a/mm-convert-swap-to-percpu-locked.patch b/mm-convert-swap-to-percpu-locked.patch index 351bc03..6f36cb7 100644 --- a/mm-convert-swap-to-percpu-locked.patch +++ b/mm-convert-swap-to-percpu-locked.patch @@ -1,4 +1,4 @@ -From f8382688911469d60a31cb2b1ebe378d46dc790e Mon Sep 17 00:00:00 2001 +From 991a6ebd8ac0814f903f4451e04c4f59b6c23833 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:51 -0500 Subject: [PATCH] mm: convert swap to percpu locked @@ -9,7 +9,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/mm/swap.c b/mm/swap.c -index cb29ae5..a981acd 100644 +index 308e57d..608bce3 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -30,15 +30,92 @@ diff --git a/mm-kmap-scale-fix.patch b/mm-kmap-scale-fix.patch index 46927c5..b5e5983 100644 --- a/mm-kmap-scale-fix.patch +++ b/mm-kmap-scale-fix.patch @@ -1,4 +1,4 @@ -From 1844e3567606eeacbb97f029af83a6d96eed44fb Mon Sep 17 00:00:00 2001 +From cb08ce512495154b3075d6f7fa05801b89749997 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:43:55 -0500 Subject: [PATCH] mm: kmap scale fix @@ -18,10 +18,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 5285793..c4197ee 100644 +index f743779..1552624 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1841,6 +1841,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * +@@ -1839,6 +1839,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * #define PF_EXITING 0x00000004 /* getting shut down */ #define PF_EXITPIDONE 0x00000008 /* pi exit done on shut down */ #define PF_VCPU 0x00000010 /* I'm a virtual CPU */ diff --git a/mm-memcontrol-preemption-fix.patch b/mm-memcontrol-preemption-fix.patch index 64e4a71..9322d7d 100644 --- a/mm-memcontrol-preemption-fix.patch +++ b/mm-memcontrol-preemption-fix.patch @@ -1,4 +1,4 @@ -From c2f294e03240ba0bbeafe656dd98e79f71d104b1 Mon Sep 17 00:00:00 2001 +From 155501b42e8b163b27609a5076615eed44e3faca Mon Sep 17 00:00:00 2001 From: Carsten Emde <c.emde@osadl.org> Date: Tue, 21 Jul 2009 18:58:20 +0200 Subject: [PATCH] mm: memcontrol preemption fix @@ -29,7 +29,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index dff3379..e5f611d 100644 +index 954032b..d3e716f 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1258,13 +1258,15 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) diff --git a/mm-memory-rt.patch b/mm-memory-rt.patch index d98f6a2..4e8fe4b 100644 --- a/mm-memory-rt.patch +++ b/mm-memory-rt.patch @@ -1,4 +1,4 @@ -From 8a56ce758d645882ffbc920efd1d409c4ff83641 Mon Sep 17 00:00:00 2001 +From 77583d0c191f2897c2a44cbbce0c4dec050fb3ae Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:13 -0500 Subject: [PATCH] mm-memory-rt @@ -12,10 +12,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/mm/memory.c b/mm/memory.c -index 6521619..f83ae36 100644 +index 09e4b1b..3e88b30 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -922,10 +922,13 @@ static unsigned long unmap_page_range(struct mmu_gather *tlb, +@@ -974,10 +974,13 @@ static unsigned long unmap_page_range(struct mmu_gather *tlb, return addr; } diff --git a/mm-realtime-support.patch b/mm-realtime-support.patch index 94a757c..cb99459 100644 --- a/mm-realtime-support.patch +++ b/mm-realtime-support.patch @@ -1,4 +1,4 @@ -From 1792fc1f1996fface73d4eb54a6fb3a6a21aacfa Mon Sep 17 00:00:00 2001 +From b1efb0a78957befe9a871455a77505764e5ef4b9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:13 -0500 Subject: [PATCH] mm: realtime support @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/fs/exec.c b/fs/exec.c -index 83d1d3a..3bb9631 100644 +index 9192f7e..2bcb327 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -503,7 +503,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) diff --git a/mm-remove-kmap_lock.patch b/mm-remove-kmap_lock.patch index 497f5a3..a855052 100644 --- a/mm-remove-kmap_lock.patch +++ b/mm-remove-kmap_lock.patch @@ -1,4 +1,4 @@ -From b38cb5ad333d0f84adf1825cf24929707ffce57d Mon Sep 17 00:00:00 2001 +From 0f8fca28f1876cb884b9254fc30fb6f95321f306 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri, 3 Jul 2009 08:30:39 -0500 Subject: [PATCH] mm: remove kmap_lock @@ -19,10 +19,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/mm.h b/include/linux/mm.h -index fb2a7e9..1f631fc 100644 +index fc0f76f..9fb57fa 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -602,23 +602,39 @@ static __always_inline void *lowmem_page_address(struct page *page) +@@ -597,23 +597,39 @@ static __always_inline void *lowmem_page_address(struct page *page) #endif #if defined(WANT_PAGE_VIRTUAL) @@ -71,7 +71,7 @@ index fb2a7e9..1f631fc 100644 #endif diff --git a/mm/highmem.c b/mm/highmem.c -index 25878cc..31dd16e 100644 +index 9c1e627..b8a833a 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -14,6 +14,11 @@ diff --git a/mm-shrink-the-page-frame-to-rt-size.patch b/mm-shrink-the-page-frame-to-rt-size.patch index fcef809..e4fa583 100644 --- a/mm-shrink-the-page-frame-to-rt-size.patch +++ b/mm-shrink-the-page-frame-to-rt-size.patch @@ -1,4 +1,4 @@ -From 27909c87933670deead6ab74274cf61ebffad5ac Mon Sep 17 00:00:00 2001 +From 436816bc3897ca0d8b5d486453013dc0e6ffbbdb Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Fri, 3 Jul 2009 08:44:54 -0500 Subject: [PATCH] mm: shrink the page frame to !-rt size @@ -15,10 +15,10 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/mm.h b/include/linux/mm.h -index e52dfbb..fb2a7e9 100644 +index 9817658..fc0f76f 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -938,27 +938,85 @@ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long a +@@ -947,27 +947,85 @@ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long a * overflow into the next struct page (as it might with DEBUG_SPINLOCK). * When freeing, reset page->mapping so free_pages_check won't complain. */ @@ -112,7 +112,7 @@ index e52dfbb..fb2a7e9 100644 { pte_lock_deinit(page); diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index bd79936..2b208da 100644 +index b1a31eb..bd17761 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -69,7 +69,11 @@ struct page { diff --git a/mm-vmscan-do-not-disable-interrupts-on-RT.patch b/mm-vmscan-do-not-disable-interrupts-on-RT.patch index 8e3237c..e15c57a 100644 --- a/mm-vmscan-do-not-disable-interrupts-on-RT.patch +++ b/mm-vmscan-do-not-disable-interrupts-on-RT.patch @@ -1,4 +1,4 @@ -From c3c340d84cdd0d940784f3e27bccb8a43286ecfb Mon Sep 17 00:00:00 2001 +From 6b61726bf7e10eaec841d6d24b4f89d516dfb4b2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 18:07:22 +0200 Subject: [PATCH] mm: vmscan: do not disable interrupts on -RT @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/mm/vmscan.c b/mm/vmscan.c -index c26986c..a6f0ee7 100644 +index c26986c..f055abc 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -1196,7 +1197,7 @@ static unsigned long shrink_inactive_list(unsigned long max_scan, +@@ -1196,7 +1196,7 @@ static unsigned long shrink_inactive_list(unsigned long max_scan, nr_reclaimed += nr_freed; diff --git a/mmc-Convert-mutex-to-semaphore.patch b/mmc-Convert-mutex-to-semaphore.patch index 642d09c..e795f59 100644 --- a/mmc-Convert-mutex-to-semaphore.patch +++ b/mmc-Convert-mutex-to-semaphore.patch @@ -1,4 +1,4 @@ -From 2df1b4c934fa64822f4c97be12702a3033757076 Mon Sep 17 00:00:00 2001 +From 9674928f6825220b8501e82a9ea93e97a52ed75c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:04:05 +0200 Subject: [PATCH] mmc: Convert "mutex" to semaphore @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Pierre Ossman <drzeus@drzeus.cx> diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c -index 49e5823..8df561b 100644 +index c5a7a85..5bef6a9 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c -@@ -194,7 +194,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock +@@ -195,7 +195,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock sg_init_table(mq->sg, host->max_phys_segs); } diff --git a/mmu_context-add-preempt_disable-to-use_mm.patch b/mmu_context-add-preempt_disable-to-use_mm.patch index 290ed3c..7d7c8cd 100644 --- a/mmu_context-add-preempt_disable-to-use_mm.patch +++ b/mmu_context-add-preempt_disable-to-use_mm.patch @@ -1,4 +1,4 @@ -From e74793bba22260b5fdc04059ea9324cf866788a9 Mon Sep 17 00:00:00 2001 +From 15f311fd0fd20ab3458062d284bb9c7663c3a122 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Wed, 19 Jan 2011 22:52:26 -0500 Subject: [PATCH] mmu_context: add preempt_disable to use_mm() @@ -28,9 +28,6 @@ are not from any other "normal" commit. But in this case there are, so break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> ---- - mm/mmu_context.c | 2 ++ - 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/mm/mmu_context.c b/mm/mmu_context.c index ded9081..fa3d693 100644 @@ -53,5 +50,5 @@ index ded9081..fa3d693 100644 if (active_mm != mm) -- -1.7.1 +1.7.1.1 diff --git a/mqueue-Convert-message-queue-timeout-to-use-hrtimers.patch b/mqueue-Convert-message-queue-timeout-to-use-hrtimers.patch index d4df6b1..a3d33ee 100644 --- a/mqueue-Convert-message-queue-timeout-to-use-hrtimers.patch +++ b/mqueue-Convert-message-queue-timeout-to-use-hrtimers.patch @@ -1,4 +1,4 @@ -From b2c877a071309fcd610db0de71a40375b295f141 Mon Sep 17 00:00:00 2001 +From c2c9c2005264b5c28e968d955297c0115de108b7 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Fri, 2 Apr 2010 22:40:20 +0200 Subject: [PATCH] mqueue: Convert message queue timeout to use hrtimers @@ -22,7 +22,7 @@ LKML-Reference: <20100402204331.715783034@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/ipc/mqueue.c b/ipc/mqueue.c -index 60d4df2..01582e5 100644 +index 5bcb571..e904f80 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -428,7 +428,7 @@ static void wq_add(struct mqueue_inode_info *info, int sr, @@ -84,7 +84,7 @@ index 60d4df2..01582e5 100644 } static void remove_notification(struct mqueue_inode_info *info) -@@ -859,22 +845,21 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, +@@ -860,22 +846,21 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, struct ext_wait_queue *receiver; struct msg_msg *msg_ptr; struct mqueue_inode_info *info; @@ -114,7 +114,7 @@ index 60d4df2..01582e5 100644 ret = -EBADF; filp = fget(mqdes); -@@ -911,9 +896,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, +@@ -912,9 +897,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, if (filp->f_flags & O_NONBLOCK) { spin_unlock(&info->lock); ret = -EAGAIN; @@ -124,7 +124,7 @@ index 60d4df2..01582e5 100644 } else { wait.task = current; wait.msg = (void *) msg_ptr; -@@ -946,24 +928,23 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, +@@ -947,24 +929,23 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, size_t, msg_len, unsigned int __user *, u_msg_prio, const struct timespec __user *, u_abs_timeout) { @@ -156,7 +156,7 @@ index 60d4df2..01582e5 100644 ret = -EBADF; filp = fget(mqdes); -@@ -990,11 +971,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, +@@ -991,11 +972,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, if (filp->f_flags & O_NONBLOCK) { spin_unlock(&info->lock); ret = -EAGAIN; diff --git a/net-3c527-semaphore-cleanup.patch b/net-3c527-semaphore-cleanup.patch index 1edfc8e..fb429c4 100644 --- a/net-3c527-semaphore-cleanup.patch +++ b/net-3c527-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From a7817b3f22ff50d7f1728cd4420ee6e9e2d390f5 Mon Sep 17 00:00:00 2001 +From ef3db24f352ebad0f8d8470abd1a3fcb470aa56c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:45:13 +0200 Subject: [PATCH] net: 3c527: semaphore cleanup @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Miller <davem@davemloft.net> diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c -index aaa8a9f..4b98884 100644 +index 36c4191..ca43ce6 100644 --- a/drivers/net/3c527.c +++ b/drivers/net/3c527.c -@@ -521,7 +521,7 @@ static int __init mc32_probe1(struct net_device *dev, int slot) +@@ -522,7 +522,7 @@ static int __init mc32_probe1(struct net_device *dev, int slot) lp->tx_len = lp->exec_box->data[9]; /* Transmit list count */ lp->rx_len = lp->exec_box->data[11]; /* Receive list count */ diff --git a/net-Convert-netfilter-to-percpu_locked.patch b/net-Convert-netfilter-to-percpu_locked.patch index 67f4fbd..e2a50bd 100644 --- a/net-Convert-netfilter-to-percpu_locked.patch +++ b/net-Convert-netfilter-to-percpu_locked.patch @@ -1,4 +1,4 @@ -From 75f82937350a5e223e3887c0343446f83d19bdae Mon Sep 17 00:00:00 2001 +From 2afdaea9d435bd15c0af5b983525dc8d5abfd746 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:53 -0500 Subject: [PATCH] net: Convert netfilter to percpu_locked @@ -100,7 +100,7 @@ index 9601587..f032d1c 100644 if (atomic_dec_and_test(&info->cpuleft)) complete(&info->completion); diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c -index 7505dff..ecec583 100644 +index 90203e1..d480acc 100644 --- a/net/ipv4/netfilter/arp_tables.c +++ b/net/ipv4/netfilter/arp_tables.c @@ -261,7 +261,7 @@ unsigned int arpt_do_table(struct sk_buff *skb, @@ -112,7 +112,7 @@ index 7505dff..ecec583 100644 e = get_entry(table_base, private->hook_entry[hook]); back = get_entry(table_base, private->underflow[hook]); -@@ -1183,7 +1183,7 @@ static int do_add_counters(struct net *net, void __user *user, unsigned int len, +@@ -1201,7 +1201,7 @@ static int do_add_counters(struct net *net, void __user *user, unsigned int len, i = 0; /* Choose the copy that is on our node */ diff --git a/net-Fix-netfilter-percpu-assumptions-for-real.patch b/net-Fix-netfilter-percpu-assumptions-for-real.patch index 614785c..e5db4dc 100644 --- a/net-Fix-netfilter-percpu-assumptions-for-real.patch +++ b/net-Fix-netfilter-percpu-assumptions-for-real.patch @@ -1,4 +1,4 @@ -From 00ef66ebb37437ca205d06224e7b956d205f7886 Mon Sep 17 00:00:00 2001 +From 8235981b53ef005a68e3c0b975121bb0c8d53f38 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 4 Oct 2009 16:58:07 +0200 Subject: [PATCH] net: Fix netfilter percpu assumptions for real @@ -12,10 +12,10 @@ thread context and can be preempted and migrated on -RT. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h -index f7ab3f9..a3f5427 100644 +index 979c1cb..e173ef5 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h -@@ -468,22 +468,35 @@ DECLARE_PER_CPU(struct xt_info_lock, xt_info_locks); +@@ -457,22 +457,35 @@ DECLARE_PER_CPU(struct xt_info_lock, xt_info_locks); * _Only_ that special combination of being per-cpu and never getting * re-entered asynchronously means that the count is safe. */ @@ -58,7 +58,7 @@ index f7ab3f9..a3f5427 100644 } diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c -index 2c4b93e..40b5120 100644 +index 22c0477..aeaf948 100644 --- a/net/ipv4/netfilter/arp_tables.c +++ b/net/ipv4/netfilter/arp_tables.c @@ -252,6 +252,7 @@ unsigned int arpt_do_table(struct sk_buff *skb, @@ -91,10 +91,10 @@ index 2c4b93e..40b5120 100644 if (hotdrop) return NF_DROP; diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c -index 5e6e773..4bce8ec 100644 +index c412d06..afeadce 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c -@@ -325,6 +325,7 @@ ipt_do_table(struct sk_buff *skb, +@@ -320,6 +320,7 @@ ipt_do_table(struct sk_buff *skb, struct xt_table_info *private; struct xt_match_param mtpar; struct xt_target_param tgpar; @@ -102,7 +102,7 @@ index 5e6e773..4bce8ec 100644 /* Initialization */ ip = ip_hdr(skb); -@@ -346,9 +347,9 @@ ipt_do_table(struct sk_buff *skb, +@@ -340,9 +341,9 @@ ipt_do_table(struct sk_buff *skb, mtpar.hooknum = tgpar.hooknum = hook; IP_NF_ASSERT(table->valid_hooks & (1 << hook)); @@ -114,7 +114,7 @@ index 5e6e773..4bce8ec 100644 e = get_entry(table_base, private->hook_entry[hook]); -@@ -435,7 +436,7 @@ ipt_do_table(struct sk_buff *skb, +@@ -427,7 +428,7 @@ ipt_do_table(struct sk_buff *skb, /* Verdict */ break; } while (!hotdrop); @@ -124,10 +124,10 @@ index 5e6e773..4bce8ec 100644 #ifdef DEBUG_ALLOW_ALL return NF_ACCEPT; diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c -index 2683fd1..ca367b7 100644 +index 05eca5d..9238a5a 100644 --- a/net/ipv6/netfilter/ip6_tables.c +++ b/net/ipv6/netfilter/ip6_tables.c -@@ -355,6 +355,7 @@ ip6t_do_table(struct sk_buff *skb, +@@ -350,6 +350,7 @@ ip6t_do_table(struct sk_buff *skb, struct xt_table_info *private; struct xt_match_param mtpar; struct xt_target_param tgpar; @@ -135,7 +135,7 @@ index 2683fd1..ca367b7 100644 /* Initialization */ indev = in ? in->name : nulldevname; -@@ -373,9 +374,9 @@ ip6t_do_table(struct sk_buff *skb, +@@ -368,9 +369,9 @@ ip6t_do_table(struct sk_buff *skb, IP_NF_ASSERT(table->valid_hooks & (1 << hook)); @@ -147,7 +147,7 @@ index 2683fd1..ca367b7 100644 e = get_entry(table_base, private->hook_entry[hook]); -@@ -464,7 +465,7 @@ ip6t_do_table(struct sk_buff *skb, +@@ -459,7 +460,7 @@ ip6t_do_table(struct sk_buff *skb, #ifdef CONFIG_NETFILTER_DEBUG tb_comefrom = NETFILTER_LINK_POISON; #endif diff --git a/net-NOHZ-local_softirq_pending-with-tickless.patch b/net-NOHZ-local_softirq_pending-with-tickless.patch index b04e68e..5f1f691 100644 --- a/net-NOHZ-local_softirq_pending-with-tickless.patch +++ b/net-NOHZ-local_softirq_pending-with-tickless.patch @@ -1,4 +1,4 @@ -From b6ecb93388d2dea47182a7afe3a4f4de80a6d0e6 Mon Sep 17 00:00:00 2001 +From a749523d49988c978f9c0a7ec9a842f7f77464bc Mon Sep 17 00:00:00 2001 From: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Date: Fri, 3 Jul 2009 08:30:10 -0500 Subject: [PATCH] net: NOHZ: local_softirq_pending with tickless @@ -25,10 +25,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/net/core/dev.c b/net/core/dev.c -index 64bf541..e9b06a7 100644 +index 7dd1d06..e96dccf 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2879,7 +2879,7 @@ out: +@@ -3050,7 +3050,7 @@ out: softnet_break: __get_cpu_var(netdev_rx_stat).time_squeeze++; diff --git a/net-Reduce-preempt-disabled-region.patch b/net-Reduce-preempt-disabled-region.patch index 5ef65f5..453daa6 100644 --- a/net-Reduce-preempt-disabled-region.patch +++ b/net-Reduce-preempt-disabled-region.patch @@ -1,4 +1,4 @@ -From 5a90027b0f8c9b872a7f51a4d5bbc63f5a8716cb Mon Sep 17 00:00:00 2001 +From f9ad797b40b26ab9cb5b9233f0c6ccad414f256b Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:53 -0500 Subject: [PATCH] net: Reduce preempt disabled region @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/net/core/dev.c b/net/core/dev.c -index 70c27e0..93d016d 100644 +index ec87421..516f8a3 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -1995,8 +1995,8 @@ int netif_rx_ni(struct sk_buff *skb) +@@ -2173,8 +2173,8 @@ int netif_rx_ni(struct sk_buff *skb) { int err; diff --git a/net-at91_ether-Make-mdio-protection-rt-safe.patch b/net-at91_ether-Make-mdio-protection-rt-safe.patch index f129c60..66bbfa8 100644 --- a/net-at91_ether-Make-mdio-protection-rt-safe.patch +++ b/net-at91_ether-Make-mdio-protection-rt-safe.patch @@ -1,4 +1,4 @@ -From 05d5f5080a2e3fbbc0f762875b66721588f5e251 Mon Sep 17 00:00:00 2001 +From 51af17335eb28fac0d218a47304e6889c028998d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 17 Nov 2009 12:02:43 +0100 Subject: [PATCH] net: at91_ether: Make mdio protection -rt safe @@ -18,7 +18,7 @@ at91_check_ether() which serializes the access on -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c -index 5041d10..32399b6 100644 +index c8bc60a..42230fc 100644 --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c @@ -198,7 +198,9 @@ static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id) diff --git a/net-detect-recursive-calls-to-dev_queue_xmit-on-RT.patch b/net-detect-recursive-calls-to-dev_queue_xmit-on-RT.patch index b993a1a..3ed1440 100644 --- a/net-detect-recursive-calls-to-dev_queue_xmit-on-RT.patch +++ b/net-detect-recursive-calls-to-dev_queue_xmit-on-RT.patch @@ -1,4 +1,4 @@ -From 7cccfa307cc1639cac9e6cbec816529fdb1ca9c1 Mon Sep 17 00:00:00 2001 +From 0da0c26b3a7ee5ab582a117a1b7bc80cdccc98a5 Mon Sep 17 00:00:00 2001 From: mbeauch <mbeauch@cox.net> Date: Fri, 3 Jul 2009 08:30:10 -0500 Subject: [PATCH] net: detect recursive calls to dev_queue_xmit() on RT @@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c -index a555c90..25f9e18 100644 +index 65df1de..ef2b781 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -2863,7 +2863,7 @@ bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) @@ -73,7 +73,7 @@ index 2aed2b3..324d3ec 100644 (niu_tx_avail(rp) > NIU_TX_WAKEUP_THRESH(rp))) netif_tx_wake_queue(txq); diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index bbba0aa..afe9761 100644 +index c77360e..787be1e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -508,7 +508,7 @@ struct netdev_queue { @@ -187,10 +187,10 @@ index bbba0aa..afe9761 100644 __netif_tx_unlock(txq); } diff --git a/net/core/dev.c b/net/core/dev.c -index 8f6bc15..6c8c272 100644 +index e96dccf..ae8ca82 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2069,13 +2069,9 @@ gso: +@@ -2067,13 +2067,9 @@ gso: /* * No need to check for recursion with threaded interrupts: */ @@ -206,7 +206,7 @@ index 8f6bc15..6c8c272 100644 if (!netif_tx_queue_stopped(txq)) { rc = dev_hard_start_xmit(skb, dev, txq); -@@ -4886,7 +4882,7 @@ static void __netdev_init_queue_locks_one(struct net_device *dev, +@@ -4882,7 +4878,7 @@ static void __netdev_init_queue_locks_one(struct net_device *dev, { spin_lock_init(&dev_queue->_xmit_lock); netdev_set_xmit_lockdep_class(&dev_queue->_xmit_lock, dev->type); diff --git a/net-fix-the-xtables-smp_processor_id-assumptions-for.patch b/net-fix-the-xtables-smp_processor_id-assumptions-for.patch index 044d148..48cc0e8 100644 --- a/net-fix-the-xtables-smp_processor_id-assumptions-for.patch +++ b/net-fix-the-xtables-smp_processor_id-assumptions-for.patch @@ -1,4 +1,4 @@ -From 21ece08cde53262625c46bd64eb66a81be5b458c Mon Sep 17 00:00:00 2001 +From ac04a5f8329f00943440fd90581036a822b795fa Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 12:23:12 +0200 Subject: [PATCH] net: fix the xtables smp_processor_id assumptions for -rt @@ -8,10 +8,10 @@ commit 21ece08cde53262625c46bd64eb66a81be5b458c in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h -index 1030b75..f7ab3f9 100644 +index 378f27a..979c1cb 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h -@@ -473,14 +473,14 @@ static inline void xt_info_rdlock_bh(void) +@@ -462,14 +462,14 @@ static inline void xt_info_rdlock_bh(void) struct xt_info_lock *lock; local_bh_disable(); @@ -29,10 +29,10 @@ index 1030b75..f7ab3f9 100644 if (likely(!--lock->readers)) spin_unlock(&lock->lock); diff --git a/net/ipv4/netfilter/arp_tables.c b/net/ipv4/netfilter/arp_tables.c -index ecec583..2c4b93e 100644 +index d480acc..22c0477 100644 --- a/net/ipv4/netfilter/arp_tables.c +++ b/net/ipv4/netfilter/arp_tables.c -@@ -709,7 +709,7 @@ static void get_counters(const struct xt_table_info *t, +@@ -727,7 +727,7 @@ static void get_counters(const struct xt_table_info *t, { unsigned int cpu; unsigned int i; @@ -41,7 +41,7 @@ index ecec583..2c4b93e 100644 /* Instead of clearing (by a previous call to memset()) * the counters and using adds, we set the counters -@@ -719,6 +719,7 @@ static void get_counters(const struct xt_table_info *t, +@@ -737,6 +737,7 @@ static void get_counters(const struct xt_table_info *t, * if new softirq were to run and call ipt_do_table */ local_bh_disable(); @@ -49,7 +49,7 @@ index ecec583..2c4b93e 100644 curcpu = smp_processor_id(); i = 0; -@@ -727,7 +728,7 @@ static void get_counters(const struct xt_table_info *t, +@@ -745,7 +746,7 @@ static void get_counters(const struct xt_table_info *t, set_entry_to_counter, counters, &i); @@ -59,10 +59,10 @@ index ecec583..2c4b93e 100644 if (cpu == curcpu) continue; diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c -index fdefae6..5e6e773 100644 +index 3ce53cf..c412d06 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c -@@ -348,7 +348,7 @@ ipt_do_table(struct sk_buff *skb, +@@ -342,7 +342,7 @@ ipt_do_table(struct sk_buff *skb, IP_NF_ASSERT(table->valid_hooks & (1 << hook)); xt_info_rdlock_bh(); private = table->private; @@ -71,7 +71,7 @@ index fdefae6..5e6e773 100644 e = get_entry(table_base, private->hook_entry[hook]); -@@ -892,7 +892,7 @@ get_counters(const struct xt_table_info *t, +@@ -906,7 +906,7 @@ get_counters(const struct xt_table_info *t, { unsigned int cpu; unsigned int i; @@ -80,7 +80,7 @@ index fdefae6..5e6e773 100644 /* Instead of clearing (by a previous call to memset()) * the counters and using adds, we set the counters -@@ -902,6 +902,7 @@ get_counters(const struct xt_table_info *t, +@@ -916,6 +916,7 @@ get_counters(const struct xt_table_info *t, * if new softirq were to run and call ipt_do_table */ local_bh_disable(); @@ -88,7 +88,7 @@ index fdefae6..5e6e773 100644 curcpu = smp_processor_id(); i = 0; -@@ -910,7 +911,7 @@ get_counters(const struct xt_table_info *t, +@@ -924,7 +925,7 @@ get_counters(const struct xt_table_info *t, set_entry_to_counter, counters, &i); @@ -97,7 +97,7 @@ index fdefae6..5e6e773 100644 for_each_possible_cpu(cpu) { if (cpu == curcpu) continue; -@@ -1391,7 +1392,7 @@ do_add_counters(struct net *net, void __user *user, unsigned int len, int compat +@@ -1405,7 +1406,7 @@ do_add_counters(struct net *net, void __user *user, unsigned int len, int compat i = 0; /* Choose the copy that is on our node */ @@ -107,10 +107,10 @@ index fdefae6..5e6e773 100644 xt_info_wrlock(curcpu); IPT_ENTRY_ITERATE(loc_cpu_entry, diff --git a/net/ipv6/netfilter/ip6_tables.c b/net/ipv6/netfilter/ip6_tables.c -index 69fba02..2683fd1 100644 +index 4e3794a..05eca5d 100644 --- a/net/ipv6/netfilter/ip6_tables.c +++ b/net/ipv6/netfilter/ip6_tables.c -@@ -921,7 +921,7 @@ get_counters(const struct xt_table_info *t, +@@ -938,7 +938,7 @@ get_counters(const struct xt_table_info *t, { unsigned int cpu; unsigned int i; @@ -119,7 +119,7 @@ index 69fba02..2683fd1 100644 /* Instead of clearing (by a previous call to memset()) * the counters and using adds, we set the counters -@@ -931,6 +931,8 @@ get_counters(const struct xt_table_info *t, +@@ -948,6 +948,8 @@ get_counters(const struct xt_table_info *t, * if new softirq were to run and call ipt_do_table */ local_bh_disable(); @@ -128,7 +128,7 @@ index 69fba02..2683fd1 100644 curcpu = smp_processor_id(); i = 0; -@@ -939,7 +941,7 @@ get_counters(const struct xt_table_info *t, +@@ -956,7 +958,7 @@ get_counters(const struct xt_table_info *t, set_entry_to_counter, counters, &i); @@ -137,7 +137,7 @@ index 69fba02..2683fd1 100644 for_each_possible_cpu(cpu) { if (cpu == curcpu) continue; -@@ -960,12 +962,13 @@ static struct xt_counters *alloc_counters(struct xt_table *table) +@@ -977,12 +979,13 @@ static struct xt_counters *alloc_counters(struct xt_table *table) unsigned int countersize; struct xt_counters *counters; struct xt_table_info *private = table->private; @@ -152,7 +152,7 @@ index 69fba02..2683fd1 100644 if (counters == NULL) return ERR_PTR(-ENOMEM); -@@ -1423,7 +1426,7 @@ do_add_counters(struct net *net, void __user *user, unsigned int len, +@@ -1440,7 +1443,7 @@ do_add_counters(struct net *net, void __user *user, unsigned int len, i = 0; /* Choose the copy that is on our node */ diff --git a/net-loopback-realtime-fix.patch b/net-loopback-realtime-fix.patch index 0e6cb4d..49f083c 100644 --- a/net-loopback-realtime-fix.patch +++ b/net-loopback-realtime-fix.patch @@ -1,4 +1,4 @@ -From 56c1457848714e720b1ac800656400a5ce61ca4f Mon Sep 17 00:00:00 2001 +From fee79f3ecbcb4cedbd671143cf89a66dc00e7565 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:11 -0500 Subject: [PATCH] net: loopback: realtime fix @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c -index 9415a97..15c6599 100644 +index 1da4954..1c072ae 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c -@@ -86,7 +86,7 @@ static int loopback_xmit(struct sk_buff *skb, struct net_device *dev) +@@ -87,7 +87,7 @@ static netdev_tx_t loopback_xmit(struct sk_buff *skb, skb->protocol = eth_type_trans(skb, dev); len = skb->len; diff --git a/net-netlink-workaround-silly-yield.patch b/net-netlink-workaround-silly-yield.patch index 64bb88a..b4f3e47 100644 --- a/net-netlink-workaround-silly-yield.patch +++ b/net-netlink-workaround-silly-yield.patch @@ -1,4 +1,4 @@ -From bf794775e976c2a059d8d88ef12715c91985a6c4 Mon Sep 17 00:00:00 2001 +From 322d2f049391405403eaf5ecc93717120b9b3825 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 13:16:27 -0500 Subject: [PATCH] net: netlink workaround silly yield() @@ -21,10 +21,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c -index 2936fa3..f4e94fb 100644 +index 4c5972b..95826e0 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1061,7 +1061,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, +@@ -1074,7 +1074,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, return -ENOBUFS; if (info.delivered) { diff --git a/net-plug-a-few-races.patch b/net-plug-a-few-races.patch index 5d01ba3..37cad14 100644 --- a/net-plug-a-few-races.patch +++ b/net-plug-a-few-races.patch @@ -1,4 +1,4 @@ -From 586a63770ab951230db869892deae1d09f839fdf Mon Sep 17 00:00:00 2001 +From 86c9d99236b5a9713b08098f0f573b5c7539a9aa Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:07 -0500 Subject: [PATCH] net: plug a few races @@ -18,7 +18,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/net/core/skbuff.c b/net/core/skbuff.c -index 9e0597d..27d2eb2 100644 +index 93c4e06..68c401c 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -395,7 +395,7 @@ static void skb_release_head_state(struct sk_buff *skb) @@ -31,10 +31,10 @@ index 9e0597d..27d2eb2 100644 } #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) diff --git a/net/core/sock.c b/net/core/sock.c -index bbb25be..04dbb0c 100644 +index e1f6f22..f852c18 100644 --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -2080,8 +2080,9 @@ static DECLARE_BITMAP(proto_inuse_idx, PROTO_INUSE_NR); +@@ -2123,8 +2123,9 @@ static DECLARE_BITMAP(proto_inuse_idx, PROTO_INUSE_NR); #ifdef CONFIG_NET_NS void sock_prot_inuse_add(struct net *net, struct proto *prot, int val) { @@ -45,7 +45,7 @@ index bbb25be..04dbb0c 100644 } EXPORT_SYMBOL_GPL(sock_prot_inuse_add); -@@ -2127,7 +2128,9 @@ static DEFINE_PER_CPU(struct prot_inuse, prot_inuse); +@@ -2170,7 +2171,9 @@ static DEFINE_PER_CPU(struct prot_inuse, prot_inuse); void sock_prot_inuse_add(struct net *net, struct proto *prot, int val) { diff --git a/net-suppress-warning-of-smp_processor_id-use.patch b/net-suppress-warning-of-smp_processor_id-use.patch index 041e407..a0be09e 100644 --- a/net-suppress-warning-of-smp_processor_id-use.patch +++ b/net-suppress-warning-of-smp_processor_id-use.patch @@ -1,4 +1,4 @@ -From 7e6a731d1e5896d498dd4f69b2920d66de9952ec Mon Sep 17 00:00:00 2001 +From e16f1d7efaa6c66bd3603c52059ae8ded55d2193 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:28 -0500 Subject: [PATCH] net: suppress warning of smp_processor_id use. @@ -18,10 +18,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 88c55a9..98d22ca 100644 +index 0a18bbe..bf7f50e 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -97,7 +97,9 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, +@@ -95,7 +95,9 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, * Another cpu is holding lock, requeue & delay xmits for * some time. */ diff --git a/net-trivial-cast-fix-in-ipv4-route.c.patch b/net-trivial-cast-fix-in-ipv4-route.c.patch index b0dad8b..1725d7f 100644 --- a/net-trivial-cast-fix-in-ipv4-route.c.patch +++ b/net-trivial-cast-fix-in-ipv4-route.c.patch @@ -1,4 +1,4 @@ -From 39bf3f0996d3be9919739eb98ab88b4e5cd42615 Mon Sep 17 00:00:00 2001 +From 0c1ccf689fbd1cb95a858f47d5d18a3fc6d52111 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:40 -0500 Subject: [PATCH] net: trivial cast fix in ipv4/route.c @@ -11,7 +11,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/net/ipv4/route.c b/net/ipv4/route.c -index 278f46f..5682708 100644 +index d62b05d..ac5dc6a 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -242,7 +242,7 @@ static __init void rt_hash_lock_init(void) diff --git a/net-trivial-tcp-preempt-fix-for-rt.patch b/net-trivial-tcp-preempt-fix-for-rt.patch index 2e4a669..dbb0fb3 100644 --- a/net-trivial-tcp-preempt-fix-for-rt.patch +++ b/net-trivial-tcp-preempt-fix-for-rt.patch @@ -1,4 +1,4 @@ -From e06f3b2d479a0f2ddbabda7f0333345f364b14b5 Mon Sep 17 00:00:00 2001 +From 3724d1b909c8015d6f29221662b9743e39c53ab0 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:39 -0500 Subject: [PATCH] net: trivial tcp preempt fix for -rt @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c -index 9114524..ccf3323 100644 +index b0a26bb..02bebfe 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c -@@ -1365,11 +1365,11 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, +@@ -1405,11 +1405,11 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, (len > sysctl_tcp_dma_copybreak) && !(flags & MSG_PEEK) && !sysctl_tcp_low_latency && dma_find_channel(DMA_MEMCPY)) { diff --git a/net-use-a-rcu-callback-for-nf_conntrack_destroy.patch b/net-use-a-rcu-callback-for-nf_conntrack_destroy.patch index c9eb830..32616c6 100644 --- a/net-use-a-rcu-callback-for-nf_conntrack_destroy.patch +++ b/net-use-a-rcu-callback-for-nf_conntrack_destroy.patch @@ -1,4 +1,4 @@ -From 1eba80024f931c61851363662f9b2922307114ae Mon Sep 17 00:00:00 2001 +From d8b5b73b74b25e986ba99381b143022cb6b87e41 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:35 -0500 Subject: [PATCH] net: use a rcu callback for nf_conntrack_destroy @@ -13,7 +13,7 @@ Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index f2c69a2..313f09d 100644 +index ae836fd..45552a4 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -98,6 +98,9 @@ struct pipe_inode_info; @@ -27,7 +27,7 @@ index f2c69a2..313f09d 100644 #endif diff --git a/net/netfilter/core.c b/net/netfilter/core.c -index 5bb3473..9fce0a4 100644 +index 60ec4e4..978dd44 100644 --- a/net/netfilter/core.c +++ b/net/netfilter/core.c @@ -233,7 +233,7 @@ EXPORT_SYMBOL(nf_ct_attach); diff --git a/net-xmit-lock-owner-cleanup.patch b/net-xmit-lock-owner-cleanup.patch index f437035..9e661f9 100644 --- a/net-xmit-lock-owner-cleanup.patch +++ b/net-xmit-lock-owner-cleanup.patch @@ -1,4 +1,4 @@ -From 9409f5eb0158e3eb33ce3a7fae454d714820ac98 Mon Sep 17 00:00:00 2001 +From 356d32bec945c68aa111fa01ef40b098de658a05 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:11 -0500 Subject: [PATCH] net: xmit lock owner cleanup @@ -15,7 +15,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c -index 25f9e18..9be990b 100644 +index ef2b781..d0bf40d 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c @@ -2863,7 +2863,7 @@ bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) @@ -85,7 +85,7 @@ index 324d3ec..1cd2408 100644 (niu_tx_avail(rp) > NIU_TX_WAKEUP_THRESH(rp))) netif_tx_wake_queue(txq); diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h -index afe9761..2814636 100644 +index 787be1e..a3cbe54 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1745,10 +1745,18 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) @@ -158,10 +158,10 @@ index afe9761..2814636 100644 __netif_tx_unlock(txq); } diff --git a/net/core/dev.c b/net/core/dev.c -index 6c8c272..cecf4c1 100644 +index ae8ca82..6a867ce 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2069,9 +2069,9 @@ gso: +@@ -2067,9 +2067,9 @@ gso: /* * No need to check for recursion with threaded interrupts: */ diff --git a/oom-Add-missing-rcu-protection-of-__task_cred-in-dum.patch b/oom-Add-missing-rcu-protection-of-__task_cred-in-dum.patch index 5acb90e..76dbaa0 100644 --- a/oom-Add-missing-rcu-protection-of-__task_cred-in-dum.patch +++ b/oom-Add-missing-rcu-protection-of-__task_cred-in-dum.patch @@ -1,4 +1,4 @@ -From 57bba6a44244a9c7cef5951041bdd3f747b28ed0 Mon Sep 17 00:00:00 2001 +From c3d39745906c93ddd69dadf2e47614b41ac4a823 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 9 Dec 2009 22:25:28 +0100 Subject: [PATCH] oom: Add missing rcu protection of __task_cred() in dump_tasks @@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux-mm@kvack.org diff --git a/mm/oom_kill.c b/mm/oom_kill.c -index f52481b..c1fbaf5 100644 +index 2370504..9210595 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -349,7 +349,7 @@ static void dump_tasks(const struct mem_cgroup *mem) diff --git a/oprofile-Convert-to-raw_spinlock.patch b/oprofile-Convert-to-raw_spinlock.patch index 9d21104..38cd692 100644 --- a/oprofile-Convert-to-raw_spinlock.patch +++ b/oprofile-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 5b5b5522edeeed6912bb64dbc7163b5b3cf46267 Mon Sep 17 00:00:00 2001 +From d9d0b4f7d466cb1ff91865663bc2fd08c8aef905 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:18:34 +0200 Subject: [PATCH] oprofile: Convert to raw_spinlock @@ -25,10 +25,10 @@ index 3fcd752..54a182b 100644 } diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c -index 2c505ee..18929a8 100644 +index 3347f69..5db38f1 100644 --- a/arch/x86/oprofile/nmi_int.c +++ b/arch/x86/oprofile/nmi_int.c -@@ -322,10 +322,10 @@ static void nmi_cpu_setup(void *dummy) +@@ -321,10 +321,10 @@ static void nmi_cpu_setup(void *dummy) int cpu = smp_processor_id(); struct op_msrs *msrs = &per_cpu(cpu_msrs, cpu); nmi_cpu_save_registers(msrs); diff --git a/parport-semaphore-cleanup.patch b/parport-semaphore-cleanup.patch index 65270df..7820b48 100644 --- a/parport-semaphore-cleanup.patch +++ b/parport-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 11b532d62e4cbc14f9b934405f459e402e6c80c9 Mon Sep 17 00:00:00 2001 +From e53e13c82eb1651ab69c07d6f9f96a3f1a3f2f92 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:47:57 +0200 Subject: [PATCH] parport: semaphore cleanup @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> diff --git a/drivers/parport/share.c b/drivers/parport/share.c -index dffa5d4..3b1fac1 100644 +index dffa5d4..a2d9d1e 100644 --- a/drivers/parport/share.c +++ b/drivers/parport/share.c @@ -306,7 +306,7 @@ struct parport *parport_register_port(unsigned long base, int irq, int dma, diff --git a/pci-Convert-pci_lock-to-raw_spinlock.patch b/pci-Convert-pci_lock-to-raw_spinlock.patch index b3ef1b5..54531e2 100644 --- a/pci-Convert-pci_lock-to-raw_spinlock.patch +++ b/pci-Convert-pci_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From b68d8890994c099f089ab36eb55302fdc1884612 Mon Sep 17 00:00:00 2001 +From 4e8a4c3e223f32d0c52b151eb7a35e7202eaea6c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:14:47 +0200 Subject: [PATCH] pci: Convert pci_lock to raw_spinlock @@ -8,7 +8,7 @@ commit b68d8890994c099f089ab36eb55302fdc1884612 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/pci/access.c b/drivers/pci/access.c -index db23200..fddeb63 100644 +index db23200..0691dbb 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c @@ -12,7 +12,7 @@ diff --git a/percpu_counter-Convert-to-raw_spinlock.patch b/percpu_counter-Convert-to-raw_spinlock.patch index 338d0de..4500117 100644 --- a/percpu_counter-Convert-to-raw_spinlock.patch +++ b/percpu_counter-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 609368d881acb7c5bcf5560cb4098a202f2e0ba6 Mon Sep 17 00:00:00 2001 +From 3495180164c23344c95999ebca971b79265e17fa Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:21:48 +0200 Subject: [PATCH] percpu_counter: Convert to raw_spinlock @@ -8,7 +8,7 @@ commit 609368d881acb7c5bcf5560cb4098a202f2e0ba6 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h -index a7684a5..fafe0a6 100644 +index a7684a5..7823c33 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h @@ -16,7 +16,7 @@ @@ -21,7 +21,7 @@ index a7684a5..fafe0a6 100644 #ifdef CONFIG_HOTPLUG_CPU struct list_head list; /* All percpu_counters are on a list */ diff --git a/lib/percpu_counter.c b/lib/percpu_counter.c -index aeaa6d7..e63af9a 100644 +index aeaa6d7..10fb740 100644 --- a/lib/percpu_counter.c +++ b/lib/percpu_counter.c @@ -16,13 +16,13 @@ void percpu_counter_set(struct percpu_counter *fbc, s64 amount) diff --git a/perf-Fix-errors-path-in-perf_output_begin.patch b/perf-Fix-errors-path-in-perf_output_begin.patch index 0b5d616..485a6dc 100644 --- a/perf-Fix-errors-path-in-perf_output_begin.patch +++ b/perf-Fix-errors-path-in-perf_output_begin.patch @@ -1,4 +1,4 @@ -From ea2d2a0d32a1f98d5c1be461b715009ca7774156 Mon Sep 17 00:00:00 2001 +From 873f3ba5d222ac2b0aa60ef0dc647fc9d9c0e7a3 Mon Sep 17 00:00:00 2001 From: Stephane Eranian <eranian@google.com> Date: Mon, 17 May 2010 12:46:01 +0200 Subject: [PATCH] perf: Fix errors path in perf_output_begin() @@ -28,10 +28,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/perf_event.c b/kernel/perf_event.c -index 43c1dfb..e353be2 100644 +index ee1d0ab..395369a 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c -@@ -2933,7 +2933,7 @@ int perf_output_begin(struct perf_output_handle *handle, +@@ -2881,7 +2881,7 @@ int perf_output_begin(struct perf_output_handle *handle, handle->sample = sample; if (!data->nr_pages) diff --git a/perf-Use-kmap_atomic_direct.patch b/perf-Use-kmap_atomic_direct.patch index c9ae558..60128e4 100644 --- a/perf-Use-kmap_atomic_direct.patch +++ b/perf-Use-kmap_atomic_direct.patch @@ -1,4 +1,4 @@ -From ddeca6231cbdebd0fa0f1bac816f1e1e6eae485b Mon Sep 17 00:00:00 2001 +From 311347f3adeaf9c32ac0a7b00ceaf345d0c58aa9 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Fri, 27 Aug 2010 11:54:52 +0200 Subject: [PATCH] perf: Use kmap_atomic_direct @@ -17,10 +17,10 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c -index 16307ff..4c178c3 100644 +index 8c1c070..1f409ef 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c -@@ -2480,9 +2480,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n) +@@ -2378,9 +2378,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n) offset = addr & (PAGE_SIZE - 1); size = min(PAGE_SIZE - offset, n - len); diff --git a/perf_events-defer-poll-wakeups-to-softirq-on-RT.patch b/perf_events-defer-poll-wakeups-to-softirq-on-RT.patch index 6cc96f8..dafffb6 100644 --- a/perf_events-defer-poll-wakeups-to-softirq-on-RT.patch +++ b/perf_events-defer-poll-wakeups-to-softirq-on-RT.patch @@ -1,4 +1,4 @@ -From f1e35c23c21ec71f646bf271cb97dbe939155adb Mon Sep 17 00:00:00 2001 +From 54d71a2b4bbe887691fb9223c8ffd678132679f2 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Tue, 25 Aug 2009 15:51:05 +0200 Subject: [PATCH] perf_events: defer poll() wakeups to softirq on RT @@ -28,10 +28,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h -index 41f977b..aba276a 100644 +index a177698..f57b3ab 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h -@@ -644,6 +644,9 @@ struct perf_event { +@@ -645,6 +645,9 @@ struct perf_event { int pending_kill; int pending_disable; struct perf_pending_entry pending; @@ -41,7 +41,7 @@ index 41f977b..aba276a 100644 atomic_t event_limit; -@@ -752,6 +755,7 @@ extern void perf_event_exit_task(struct task_struct *child); +@@ -753,6 +756,7 @@ extern void perf_event_exit_task(struct task_struct *child); extern void perf_event_free_task(struct task_struct *task); extern void set_perf_event_pending(void); extern void perf_event_do_pending(void); @@ -49,7 +49,7 @@ index 41f977b..aba276a 100644 extern void perf_event_print_debug(void); extern void __perf_disable(void); extern bool __perf_enable(void); -@@ -889,6 +893,7 @@ static inline int perf_event_init_task(struct task_struct *child) { return 0; } +@@ -883,6 +887,7 @@ static inline int perf_event_init_task(struct task_struct *child) { return 0; } static inline void perf_event_exit_task(struct task_struct *child) { } static inline void perf_event_free_task(struct task_struct *task) { } static inline void perf_event_do_pending(void) { } @@ -58,10 +58,10 @@ index 41f977b..aba276a 100644 static inline void perf_disable(void) { } static inline void perf_enable(void) { } diff --git a/kernel/perf_event.c b/kernel/perf_event.c -index e928e1a..43c1dfb 100644 +index 2ae7409..ee1d0ab 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c -@@ -2612,11 +2612,26 @@ static void perf_pending_event(struct perf_pending_entry *entry) +@@ -2560,11 +2560,26 @@ static void perf_pending_event(struct perf_pending_entry *entry) __perf_event_disable(event); } @@ -88,7 +88,7 @@ index e928e1a..43c1dfb 100644 #define PENDING_TAIL ((struct perf_pending_entry *)-1UL) -@@ -2624,33 +2639,42 @@ static DEFINE_PER_CPU(struct perf_pending_entry *, perf_pending_head) = { +@@ -2572,33 +2587,42 @@ static DEFINE_PER_CPU(struct perf_pending_entry *, perf_pending_head) = { PENDING_TAIL, }; @@ -140,7 +140,7 @@ index e928e1a..43c1dfb 100644 while (list != PENDING_TAIL) { void (*func)(struct perf_pending_entry *); struct perf_pending_entry *entry = list; -@@ -2680,7 +2704,8 @@ static inline int perf_not_pending(struct perf_event *event) +@@ -2628,7 +2652,8 @@ static inline int perf_not_pending(struct perf_event *event) * need to wait. */ get_cpu(); @@ -150,7 +150,7 @@ index e928e1a..43c1dfb 100644 put_cpu(); /* -@@ -2698,7 +2723,13 @@ static void perf_pending_sync(struct perf_event *event) +@@ -2646,7 +2671,13 @@ static void perf_pending_sync(struct perf_event *event) void perf_event_do_pending(void) { @@ -165,7 +165,7 @@ index e928e1a..43c1dfb 100644 } /* -@@ -2736,12 +2767,18 @@ static void perf_output_wakeup(struct perf_output_handle *handle) +@@ -2684,12 +2715,18 @@ static void perf_output_wakeup(struct perf_output_handle *handle) { atomic_set(&handle->data->poll, POLL_IN); diff --git a/posix-timers-Prevent-broadcast-signals.patch b/posix-timers-Prevent-broadcast-signals.patch index 91ab76d..f05023c 100644 --- a/posix-timers-Prevent-broadcast-signals.patch +++ b/posix-timers-Prevent-broadcast-signals.patch @@ -1,4 +1,4 @@ -From f736e04057fae4b720d333255876c9491e9ed14d Mon Sep 17 00:00:00 2001 +From d0dc8368b608d766e784c56da37f5fbc6d870f65 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:29:20 -0500 Subject: [PATCH] posix-timers: Prevent broadcast signals @@ -11,10 +11,10 @@ signals. Prevent it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c -index 052ec4d..d90211c 100644 +index 4954407..2114ed0 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c -@@ -420,6 +420,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer) +@@ -462,6 +462,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer) static struct pid *good_sigevent(sigevent_t * event) { struct task_struct *rtn = current->group_leader; @@ -22,7 +22,7 @@ index 052ec4d..d90211c 100644 if ((event->sigev_notify & SIGEV_THREAD_ID ) && (!(rtn = find_task_by_vpid(event->sigev_notify_thread_id)) || -@@ -428,7 +429,8 @@ static struct pid *good_sigevent(sigevent_t * event) +@@ -470,7 +471,8 @@ static struct pid *good_sigevent(sigevent_t * event) return NULL; if (((event->sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE) && diff --git a/posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch b/posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch index 89d0bb6..b60ccee 100644 --- a/posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch +++ b/posix-timers-Shorten-posix_cpu_timers-CPU-kernel-thr.patch @@ -1,4 +1,4 @@ -From 80e7149966ee8fb4a12fa9eb7a4c7dc99d38d979 Mon Sep 17 00:00:00 2001 +From a23ca20c7d19e5d1ffccb58e50625afa4984b2af Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo <acme@redhat.com> Date: Fri, 3 Jul 2009 08:30:00 -0500 Subject: [PATCH] posix-timers: Shorten posix_cpu_timers/<CPU> kernel thread names @@ -15,10 +15,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c -index a129701..dbc388e 100644 +index 36994bc..c35bfa3 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c -@@ -1542,7 +1542,7 @@ static int posix_cpu_thread_call(struct notifier_block *nfb, +@@ -1552,7 +1552,7 @@ static int posix_cpu_thread_call(struct notifier_block *nfb, switch (action) { case CPU_UP_PREPARE: p = kthread_create(posix_cpu_timers_thread, hcpu, diff --git a/posix-timers-avoid-wakeups-when-no-timers-are-active.patch b/posix-timers-avoid-wakeups-when-no-timers-are-active.patch index 8cc1296..b41e53f 100644 --- a/posix-timers-avoid-wakeups-when-no-timers-are-active.patch +++ b/posix-timers-avoid-wakeups-when-no-timers-are-active.patch @@ -1,4 +1,4 @@ -From 4aef9893f48ad8905a35b2fbe2cc78662c0fa441 Mon Sep 17 00:00:00 2001 +From d816c531fa641629410e3b63270efd37f777ebe9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:44 -0500 Subject: [PATCH] posix-timers: avoid wakeups when no timers are active @@ -10,10 +10,10 @@ Waking the thread even when no timers are scheduled is useless. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c -index dbc388e..6071430 100644 +index c35bfa3..3dd9218 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c -@@ -1499,6 +1499,21 @@ wait_to_die: +@@ -1509,6 +1509,21 @@ wait_to_die: return 0; } @@ -35,7 +35,7 @@ index dbc388e..6071430 100644 void run_posix_cpu_timers(struct task_struct *tsk) { unsigned long cpu = smp_processor_id(); -@@ -1511,7 +1526,7 @@ void run_posix_cpu_timers(struct task_struct *tsk) +@@ -1521,7 +1536,7 @@ void run_posix_cpu_timers(struct task_struct *tsk) tasklist = per_cpu(posix_timer_tasklist, cpu); /* check to see if we're already queued */ @@ -44,7 +44,7 @@ index dbc388e..6071430 100644 get_task_struct(tsk); if (tasklist) { tsk->posix_timer_list = tasklist; -@@ -1523,9 +1538,9 @@ void run_posix_cpu_timers(struct task_struct *tsk) +@@ -1533,9 +1548,9 @@ void run_posix_cpu_timers(struct task_struct *tsk) tsk->posix_timer_list = tsk; } per_cpu(posix_timer_tasklist, cpu) = tsk; diff --git a/posix-timers-thread-posix-cpu-timers-on-rt.patch b/posix-timers-thread-posix-cpu-timers-on-rt.patch index 280f92e..16af5cf 100644 --- a/posix-timers-thread-posix-cpu-timers-on-rt.patch +++ b/posix-timers-thread-posix-cpu-timers-on-rt.patch @@ -1,4 +1,4 @@ -From fade9b2cfbffa9a18e4d514354603ea891d55ef0 Mon Sep 17 00:00:00 2001 +From 9fd9af20640d4da2a4bd7311ffee1b5c7bd7b88f Mon Sep 17 00:00:00 2001 From: John Stultz <johnstul@us.ibm.com> Date: Fri, 3 Jul 2009 08:29:58 -0500 Subject: [PATCH] posix-timers: thread posix-cpu-timers on -rt @@ -25,10 +25,10 @@ index e93b8cd..cae32ed 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 917ea9e..d58389e 100644 +index 7e50287..7b23ee4 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1372,6 +1372,8 @@ struct task_struct { +@@ -1370,6 +1370,8 @@ struct task_struct { struct task_cputime cputime_expires; struct list_head cpu_timers[3]; @@ -38,7 +38,7 @@ index 917ea9e..d58389e 100644 const struct cred *real_cred; /* objective and real subjective task * credentials (COW) */ diff --git a/init/main.c b/init/main.c -index 2a75d39..36269aa 100644 +index edabbff..650c1ce 100644 --- a/init/main.c +++ b/init/main.c @@ -36,6 +36,7 @@ @@ -50,7 +50,7 @@ index 2a75d39..36269aa 100644 #include <linux/kallsyms.h> #include <linux/writeback.h> diff --git a/kernel/fork.c b/kernel/fork.c -index 9d3ac2a..459fb8d 100644 +index bab0a66..334ebe7 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1090,7 +1090,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, diff --git a/powerpc-Annotate-atomic_locks.patch b/powerpc-Annotate-atomic_locks.patch index 58a1359..52f2b01 100644 --- a/powerpc-Annotate-atomic_locks.patch +++ b/powerpc-Annotate-atomic_locks.patch @@ -1,4 +1,4 @@ -From 69f55751d5afdb69ef213c843fa96d1933462ae1 Mon Sep 17 00:00:00 2001 +From 7bdf1ee7e9269dd936a69d23cefeb02930711442 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:51 -0500 Subject: [PATCH] powerpc: Annotate atomic_locks @@ -35,10 +35,10 @@ index 877c35a..00eedc5 100644 extern u32 __iomem *uninorth_base; diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c -index dee83b8..28483d1 100644 +index 9040330..01a1216 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c -@@ -468,7 +468,7 @@ void do_softirq(void) +@@ -474,7 +474,7 @@ void do_softirq(void) */ static LIST_HEAD(irq_hosts); @@ -47,7 +47,7 @@ index dee83b8..28483d1 100644 static unsigned int revmap_trees_allocated; static DEFINE_MUTEX(revmap_trees_mutex); struct irq_map_entry irq_map[NR_IRQS]; -@@ -514,14 +514,14 @@ struct irq_host *irq_alloc_host(struct device_node *of_node, +@@ -520,14 +520,14 @@ struct irq_host *irq_alloc_host(struct device_node *of_node, if (host->ops->match == NULL) host->ops->match = default_irq_host_match; @@ -64,7 +64,7 @@ index dee83b8..28483d1 100644 /* If we are early boot, we can't free the structure, * too bad... * this will be fixed once slab is made available early -@@ -535,7 +535,7 @@ struct irq_host *irq_alloc_host(struct device_node *of_node, +@@ -541,7 +541,7 @@ struct irq_host *irq_alloc_host(struct device_node *of_node, } list_add(&host->link, &irq_hosts); @@ -73,7 +73,7 @@ index dee83b8..28483d1 100644 /* Additional setups per revmap type */ switch(revmap_type) { -@@ -586,13 +586,13 @@ struct irq_host *irq_find_host(struct device_node *node) +@@ -592,13 +592,13 @@ struct irq_host *irq_find_host(struct device_node *node) * the absence of a device node. This isn't a problem so far * yet though... */ @@ -89,7 +89,7 @@ index dee83b8..28483d1 100644 return found; } EXPORT_SYMBOL_GPL(irq_find_host); -@@ -961,7 +961,7 @@ unsigned int irq_alloc_virt(struct irq_host *host, +@@ -967,7 +967,7 @@ unsigned int irq_alloc_virt(struct irq_host *host, if (count == 0 || count > (irq_virq_count - NUM_ISA_INTERRUPTS)) return NO_IRQ; @@ -98,7 +98,7 @@ index dee83b8..28483d1 100644 /* Use hint for 1 interrupt if any */ if (count == 1 && hint >= NUM_ISA_INTERRUPTS && -@@ -985,7 +985,7 @@ unsigned int irq_alloc_virt(struct irq_host *host, +@@ -991,7 +991,7 @@ unsigned int irq_alloc_virt(struct irq_host *host, } } if (found == NO_IRQ) { @@ -107,7 +107,7 @@ index dee83b8..28483d1 100644 return NO_IRQ; } hint_found: -@@ -994,7 +994,7 @@ unsigned int irq_alloc_virt(struct irq_host *host, +@@ -1000,7 +1000,7 @@ unsigned int irq_alloc_virt(struct irq_host *host, smp_wmb(); irq_map[i].host = host; } @@ -116,7 +116,7 @@ index dee83b8..28483d1 100644 return found; } -@@ -1006,7 +1006,7 @@ void irq_free_virt(unsigned int virq, unsigned int count) +@@ -1012,7 +1012,7 @@ void irq_free_virt(unsigned int virq, unsigned int count) WARN_ON (virq < NUM_ISA_INTERRUPTS); WARN_ON (count == 0 || (virq + count) > irq_virq_count); @@ -125,7 +125,7 @@ index dee83b8..28483d1 100644 for (i = virq; i < (virq + count); i++) { struct irq_host *host; -@@ -1019,7 +1019,7 @@ void irq_free_virt(unsigned int virq, unsigned int count) +@@ -1025,7 +1025,7 @@ void irq_free_virt(unsigned int virq, unsigned int count) smp_wmb(); irq_map[i].host = NULL; } diff --git a/powerpc-Disable-preemption-across-hypervisor-call.patch b/powerpc-Disable-preemption-across-hypervisor-call.patch index c277367..1488d95 100644 --- a/powerpc-Disable-preemption-across-hypervisor-call.patch +++ b/powerpc-Disable-preemption-across-hypervisor-call.patch @@ -1,4 +1,4 @@ -From 2126c312a6267cbf1f85f604dbc781af252279b3 Mon Sep 17 00:00:00 2001 +From 5124d403e0389e577e04dea7adbccb1cde7e3219 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:52 -0500 Subject: [PATCH] powerpc: Disable preemption across hypervisor call @@ -10,10 +10,10 @@ Otherwise the HV magic gets confused if we are preempted. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/powerpc/lib/locks.c b/arch/powerpc/lib/locks.c -index 79d0fa3..106d6a5 100644 +index 58e14fb..55c7908 100644 --- a/arch/powerpc/lib/locks.c +++ b/arch/powerpc/lib/locks.c -@@ -86,8 +86,10 @@ void __raw_spin_unlock_wait(raw_spinlock_t *lock) +@@ -86,8 +86,10 @@ void arch_spin_unlock_wait(arch_spinlock_t *lock) { while (lock->slock) { HMT_low(); diff --git a/powerpc-decouple-page-fault-logic.patch.patch b/powerpc-decouple-page-fault-logic.patch.patch index 728d9cc..2a5d323 100644 --- a/powerpc-decouple-page-fault-logic.patch.patch +++ b/powerpc-decouple-page-fault-logic.patch.patch @@ -1,4 +1,4 @@ -From ce0f1eef1522853a936e998da5de5d54fc201555 Mon Sep 17 00:00:00 2001 +From 73eaac693eab409b6db9950b7d15e5020624258f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 15:26:05 +0200 Subject: [PATCH] powerpc-decouple-page-fault-logic.patch @@ -8,7 +8,7 @@ commit ce0f1eef1522853a936e998da5de5d54fc201555 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c -index 830bef0..03c4343 100644 +index 26fb6b9..d89a78a 100644 --- a/arch/powerpc/mm/fault.c +++ b/arch/powerpc/mm/fault.c @@ -159,7 +159,7 @@ int __kprobes do_page_fault(struct pt_regs *regs, unsigned long address, diff --git a/printk-Convert-logbuf_lock-to-raw_spinlock.patch b/printk-Convert-logbuf_lock-to-raw_spinlock.patch index 6319ab3..b99ede5 100644 --- a/printk-Convert-logbuf_lock-to-raw_spinlock.patch +++ b/printk-Convert-logbuf_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 2f6dd10d6cc8444f9e3159c90966186ba84923c9 Mon Sep 17 00:00:00 2001 +From 4b9dbd4180a4c6b98b3940eaddde326ebdb458f4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 17:50:36 +0200 Subject: [PATCH] printk: Convert logbuf_lock to raw_spinlock @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/printk.c b/kernel/printk.c -index 8ae415b..0802818 100644 +index 8ae415b..31871ef 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -102,7 +102,7 @@ static int console_locked, console_suspended; @@ -152,7 +152,7 @@ index 8ae415b..0802818 100644 } release_console_sem(); -@@ -1530,10 +1530,10 @@ void kmsg_dump(enum kmsg_dump_reason reason) +@@ -1497,10 +1497,10 @@ void kmsg_dump(enum kmsg_dump_reason reason) /* Theoretically, the log could move on after we do this, but there's not a lot we can do about that. The new messages will overwrite the start of what we dump. */ diff --git a/printk-Make-console_sem-a-semaphore-not-a-pseudo-mut.patch b/printk-Make-console_sem-a-semaphore-not-a-pseudo-mut.patch index 879e57d..ca1a954 100644 --- a/printk-Make-console_sem-a-semaphore-not-a-pseudo-mut.patch +++ b/printk-Make-console_sem-a-semaphore-not-a-pseudo-mut.patch @@ -1,4 +1,4 @@ -From c94aff2e932748c416c6b70d708b9f146bcf86c9 Mon Sep 17 00:00:00 2001 +From 9868cc33e569ae8b78f7859e74f245f979a20a1f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:35:13 +0200 Subject: [PATCH] printk: Make console_sem a semaphore not a pseudo mutex @@ -11,10 +11,10 @@ mutex, but that needs more thought and investigation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/printk.c b/kernel/printk.c -index b4d97b5..f8cee21 100644 +index 1751c45..8ae415b 100644 --- a/kernel/printk.c +++ b/kernel/printk.c -@@ -73,7 +73,7 @@ EXPORT_SYMBOL(oops_in_progress); +@@ -83,7 +83,7 @@ EXPORT_SYMBOL(oops_in_progress); * provides serialisation for access to the entire console * driver system. */ @@ -23,7 +23,7 @@ index b4d97b5..f8cee21 100644 struct console *console_drivers; EXPORT_SYMBOL_GPL(console_drivers); -@@ -529,7 +529,7 @@ static void zap_locks(void) +@@ -544,7 +544,7 @@ static void zap_locks(void) /* If a crash is occurring, make sure we can't deadlock */ spin_lock_init(&logbuf_lock); /* And make sure that we print immediately */ diff --git a/printk-convert-console_sem-to-console_mutex.patch b/printk-convert-console_sem-to-console_mutex.patch index 8c666bb..b9f4556 100644 --- a/printk-convert-console_sem-to-console_mutex.patch +++ b/printk-convert-console_sem-to-console_mutex.patch @@ -1,4 +1,4 @@ -From 65c94ab81057274e96e8fdf3022ae3ab26d7030f Mon Sep 17 00:00:00 2001 +From 8af80f98f33d039f667099539e7eeaf37afd947d Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 19:42:30 -0500 Subject: [PATCH] printk: convert console_sem to console_mutex @@ -889,10 +889,10 @@ index da3b93b..4ea27a4 100644 nouveau_fbcon_zfill(dev); diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c -index 509ba3f..727a462 100644 +index 768b150..f76ae34 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c -@@ -789,9 +789,9 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) +@@ -781,9 +781,9 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) pci_disable_device(dev->pdev); pci_set_power_state(dev->pdev, PCI_D3hot); } @@ -904,7 +904,7 @@ index 509ba3f..727a462 100644 return 0; } -@@ -799,11 +799,11 @@ int radeon_resume_kms(struct drm_device *dev) +@@ -791,11 +791,11 @@ int radeon_resume_kms(struct drm_device *dev) { struct radeon_device *rdev = dev->dev_private; @@ -918,7 +918,7 @@ index 509ba3f..727a462 100644 return -1; } pci_set_master(dev->pdev); -@@ -812,7 +812,7 @@ int radeon_resume_kms(struct drm_device *dev) +@@ -804,7 +804,7 @@ int radeon_resume_kms(struct drm_device *dev) radeon_resume(rdev); radeon_restore_bios_scratch_regs(rdev); fb_set_suspend(rdev->fbdev_info, 0); diff --git a/printk-dont-bug-on-sched.patch b/printk-dont-bug-on-sched.patch index 429d579..6d5d23a 100644 --- a/printk-dont-bug-on-sched.patch +++ b/printk-dont-bug-on-sched.patch @@ -1,4 +1,4 @@ -From 537b86b6c059b7b0a46979cc144134050d1da511 Mon Sep 17 00:00:00 2001 +From b216e3f5d23abb650960b3ea02e826f456d28d92 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:13 -0500 Subject: [PATCH] printk: dont bug on sched @@ -9,7 +9,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 153d6fc..4270925 100644 +index dfbae19..ec2273b 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -20,6 +20,7 @@ diff --git a/printk-in_atomic-fix.patch b/printk-in_atomic-fix.patch index 79d0cbd..3245a9f 100644 --- a/printk-in_atomic-fix.patch +++ b/printk-in_atomic-fix.patch @@ -1,4 +1,4 @@ -From b5cb96197cd98953c4001b86d9168e6c9b8f5603 Mon Sep 17 00:00:00 2001 +From 3f5cba66e7d077e07897a1e490b4d0b6200a0c74 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:16 -0500 Subject: [PATCH] printk: in_atomic fix @@ -67,7 +67,7 @@ index 7c2c9ae..81651ad 100644 struct console { char name[16]; diff --git a/kernel/printk.c b/kernel/printk.c -index 6586161..37cd7c3 100644 +index 34adc5f..539b8ce 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -430,8 +430,9 @@ static void __call_console_drivers(unsigned start, unsigned end) diff --git a/printk-might-sleep-workaround.patch b/printk-might-sleep-workaround.patch index 2bfc531..9561393 100644 --- a/printk-might-sleep-workaround.patch +++ b/printk-might-sleep-workaround.patch @@ -1,4 +1,4 @@ -From a15ae739936d903f17c0e5f550ed2443f6b0e8b5 Mon Sep 17 00:00:00 2001 +From d66b51582f975cab5a77f81a3f062356e5783e94 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:02 -0500 Subject: [PATCH] printk: might sleep workaround @@ -23,10 +23,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index b78e3a7..6485990 100644 +index 1552624..5ceabb5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1638,11 +1638,24 @@ struct task_struct { +@@ -1636,11 +1636,24 @@ struct task_struct { unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif @@ -52,7 +52,7 @@ index b78e3a7..6485990 100644 * Priority of a process goes from 0..MAX_PRIO-1, valid RT * priority is 0..MAX_RT_PRIO-1, and SCHED_NORMAL/SCHED_BATCH diff --git a/kernel/printk.c b/kernel/printk.c -index 281a454..6586161 100644 +index 6c97e02..34adc5f 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -431,8 +431,11 @@ static void __call_console_drivers(unsigned start, unsigned end) @@ -69,7 +69,7 @@ index 281a454..6586161 100644 } diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 4479f9d..ddf5cd8 100644 +index 900f11c..dfbae19 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -678,7 +678,9 @@ static inline void diff --git a/printk-rt-support.patch b/printk-rt-support.patch index 73b5f25..f67111d 100644 --- a/printk-rt-support.patch +++ b/printk-rt-support.patch @@ -1,4 +1,4 @@ -From e59abbce60454c8d5618e3f2c698fc3278c222e7 Mon Sep 17 00:00:00 2001 +From 43daa3910e3fcc33273b9b2940fb9f87b3986330 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:19 -0500 Subject: [PATCH] printk: rt support @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/printk.c b/kernel/printk.c -index 0802818..b29d5b0 100644 +index 31871ef..6c97e02 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -35,6 +35,7 @@ @@ -115,7 +115,7 @@ index 0802818..b29d5b0 100644 if (wake_klogd) wake_up_klogd(); } -@@ -1407,6 +1429,21 @@ bool printk_timed_ratelimit(unsigned long *caller_jiffies, +@@ -1407,6 +1430,21 @@ bool printk_timed_ratelimit(unsigned long *caller_jiffies, } EXPORT_SYMBOL(printk_timed_ratelimit); diff --git a/proc-Add-missing-rcu-protection-for-__task_cred-in-t.patch b/proc-Add-missing-rcu-protection-for-__task_cred-in-t.patch index 5e18a7b..d00b693 100644 --- a/proc-Add-missing-rcu-protection-for-__task_cred-in-t.patch +++ b/proc-Add-missing-rcu-protection-for-__task_cred-in-t.patch @@ -1,4 +1,4 @@ -From ccb8c76757e3a3d20265965ab5d94ba66be2b116 Mon Sep 17 00:00:00 2001 +From 846077767a5cbb4a5d87509265c120ec6e944c5e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 9 Dec 2009 22:14:21 +0100 Subject: [PATCH] proc: Add missing rcu protection for __task_cred() in task_sig() @@ -19,7 +19,7 @@ Cc: linux-security-module@vger.kernel.org Cc: Al Viro <viro@zeniv.linux.org.uk> diff --git a/fs/proc/array.c b/fs/proc/array.c -index 91e2ae1..3dc9016 100644 +index 90dac9b..382f0ff 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c @@ -271,7 +271,9 @@ static inline void task_sig(struct seq_file *m, struct task_struct *p) diff --git a/proportions-Convert-to-raw_spinlck.patch b/proportions-Convert-to-raw_spinlck.patch index 5639509..6bef51d 100644 --- a/proportions-Convert-to-raw_spinlck.patch +++ b/proportions-Convert-to-raw_spinlck.patch @@ -1,4 +1,4 @@ -From 0fc7741cfd53c5c5ca710e075e05808e1bf9be71 Mon Sep 17 00:00:00 2001 +From 5231dbb6b0f74d1cf7b22094b170e6a105e13ea8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:43:30 +0200 Subject: [PATCH] proportions: Convert to raw_spinlck @@ -8,7 +8,7 @@ commit 0fc7741cfd53c5c5ca710e075e05808e1bf9be71 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/proportions.h b/include/linux/proportions.h -index cf793bb..de2e447 100644 +index cf793bb..ef35bb7 100644 --- a/include/linux/proportions.h +++ b/include/linux/proportions.h @@ -58,7 +58,7 @@ struct prop_local_percpu { @@ -35,7 +35,7 @@ index cf793bb..de2e447 100644 int prop_local_init_single(struct prop_local_single *pl); diff --git a/lib/proportions.c b/lib/proportions.c -index d50746a..ff347dc 100644 +index d50746a..05df848 100644 --- a/lib/proportions.c +++ b/lib/proportions.c @@ -190,7 +190,7 @@ prop_adjust_shift(int *pl_shift, unsigned long *pl_period, int new_shift) diff --git a/rcu-fix-deadlock-in-TREE_PREEMPT_RCU-CPU-stall-detec.patch b/rcu-fix-deadlock-in-TREE_PREEMPT_RCU-CPU-stall-detec.patch index 6620f0b..bb4e41c 100644 --- a/rcu-fix-deadlock-in-TREE_PREEMPT_RCU-CPU-stall-detec.patch +++ b/rcu-fix-deadlock-in-TREE_PREEMPT_RCU-CPU-stall-detec.patch @@ -1,4 +1,4 @@ -From bf89569f3f8bd8598a33e07b7571684d6693dd3e Mon Sep 17 00:00:00 2001 +From 9b2dca3b79205b3ec35dc86ee9e108dfe86d9b28 Mon Sep 17 00:00:00 2001 From: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Date: Mon, 22 Feb 2010 17:47:45 -0800 Subject: [PATCH] rcu: fix deadlock in TREE_PREEMPT_RCU CPU stall detection @@ -20,7 +20,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/rcutree.c b/kernel/rcutree.c -index 53ae959..6f652f1 100644 +index 586ba1d..0b4905b 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c @@ -458,7 +458,9 @@ static void print_other_cpu_stall(struct rcu_state *rsp) @@ -34,7 +34,7 @@ index 53ae959..6f652f1 100644 continue; for (cpu = 0; cpu <= rnp->grphi - rnp->grplo; cpu++) diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h -index 37fbccd..e31cda7 100644 +index 0533408..518aca9 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h @@ -306,18 +306,15 @@ EXPORT_SYMBOL_GPL(__rcu_read_unlock); diff --git a/rcu-frequency-tweaks.patch b/rcu-frequency-tweaks.patch index 51f086e..e9c64c1 100644 --- a/rcu-frequency-tweaks.patch +++ b/rcu-frequency-tweaks.patch @@ -1,4 +1,4 @@ -From 8da6474dbbf2c2ac733842f28094bf3cc14bef8a Mon Sep 17 00:00:00 2001 +From f765443c73487e54764e14faa6a5017f7423b533 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:00 -0500 Subject: [PATCH] rcu: frequency tweaks @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c -index 9b4a975..7a4e912 100644 +index 9bb5217..81a32e4 100644 --- a/kernel/rcutorture.c +++ b/kernel/rcutorture.c -@@ -752,7 +752,7 @@ rcu_torture_reader(void *arg) +@@ -806,7 +806,7 @@ rcu_torture_reader(void *arg) if (p == NULL) { /* Wait for rcu_torture_writer to get underway */ cur_ops->readunlock(idx); diff --git a/rcu-upgrade-locks-to-rawlocks.patch b/rcu-upgrade-locks-to-rawlocks.patch index c5f4b22..d7a54e2 100644 --- a/rcu-upgrade-locks-to-rawlocks.patch +++ b/rcu-upgrade-locks-to-rawlocks.patch @@ -1,4 +1,4 @@ -From d933214485a8d70a3666ff263c02f985b417e535 Mon Sep 17 00:00:00 2001 +From 4c57528251ea864748db8f66b6632be3ef787cc6 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Mon, 17 Jan 2011 20:44:59 -0500 Subject: [PATCH] rcu: upgrade locks to rawlocks @@ -33,7 +33,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/rcutree.c b/kernel/rcutree.c -index 6f652f1..0b4905b 100644 +index 53ae959..586ba1d 100644 --- a/kernel/rcutree.c +++ b/kernel/rcutree.c @@ -66,11 +66,11 @@ static struct lock_class_key rcu_node_class[NUM_RCU_LVLS]; @@ -72,7 +72,7 @@ index 6f652f1..0b4905b 100644 /* OK, time to rat on our buddy... */ -@@ -483,11 +483,11 @@ static void print_cpu_stall(struct rcu_state *rsp) +@@ -481,11 +481,11 @@ static void print_cpu_stall(struct rcu_state *rsp) smp_processor_id(), jiffies - rsp->gp_start); trigger_all_cpu_backtrace(); @@ -86,7 +86,7 @@ index 6f652f1..0b4905b 100644 set_need_resched(); /* kick ourselves to get things going. */ } -@@ -547,12 +547,12 @@ static void note_new_gpnum(struct rcu_state *rsp, struct rcu_data *rdp) +@@ -545,12 +545,12 @@ static void note_new_gpnum(struct rcu_state *rsp, struct rcu_data *rdp) local_irq_save(flags); rnp = rdp->mynode; if (rdp->gpnum == ACCESS_ONCE(rnp->gpnum) || /* outside lock. */ @@ -101,7 +101,7 @@ index 6f652f1..0b4905b 100644 } /* -@@ -611,12 +611,12 @@ rcu_process_gp_end(struct rcu_state *rsp, struct rcu_data *rdp) +@@ -609,12 +609,12 @@ rcu_process_gp_end(struct rcu_state *rsp, struct rcu_data *rdp) local_irq_save(flags); rnp = rdp->mynode; if (rdp->completed == ACCESS_ONCE(rnp->completed) || /* outside lock. */ @@ -116,7 +116,7 @@ index 6f652f1..0b4905b 100644 } /* -@@ -663,10 +663,10 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) +@@ -661,10 +661,10 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) if (!cpu_needs_another_gp(rsp, rdp)) { if (rnp->completed == rsp->completed) { @@ -129,7 +129,7 @@ index 6f652f1..0b4905b 100644 /* * Propagate new ->completed value to rcu_node structures -@@ -674,9 +674,9 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) +@@ -672,9 +672,9 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) * of the next grace period to process their callbacks. */ rcu_for_each_node_breadth_first(rsp, rnp) { @@ -141,7 +141,7 @@ index 6f652f1..0b4905b 100644 } local_irq_restore(flags); return; -@@ -697,15 +697,15 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) +@@ -695,15 +695,15 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) rnp->completed = rsp->completed; rsp->signaled = RCU_SIGNAL_INIT; /* force_quiescent_state OK. */ rcu_start_gp_per_cpu(rsp, rnp, rdp); @@ -160,7 +160,7 @@ index 6f652f1..0b4905b 100644 /* * Set the quiescent-state-needed bits in all the rcu_node -@@ -725,21 +725,21 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) +@@ -723,21 +723,21 @@ rcu_start_gp(struct rcu_state *rsp, unsigned long flags) * irqs disabled. */ rcu_for_each_node_breadth_first(rsp, rnp) { @@ -187,7 +187,7 @@ index 6f652f1..0b4905b 100644 } /* -@@ -778,14 +778,14 @@ rcu_report_qs_rnp(unsigned long mask, struct rcu_state *rsp, +@@ -776,14 +776,14 @@ rcu_report_qs_rnp(unsigned long mask, struct rcu_state *rsp, if (!(rnp->qsmask & mask)) { /* Our bit has already been cleared, so done. */ @@ -204,7 +204,7 @@ index 6f652f1..0b4905b 100644 return; } mask = rnp->grpmask; -@@ -795,10 +795,10 @@ rcu_report_qs_rnp(unsigned long mask, struct rcu_state *rsp, +@@ -793,10 +793,10 @@ rcu_report_qs_rnp(unsigned long mask, struct rcu_state *rsp, break; } @@ -217,7 +217,7 @@ index 6f652f1..0b4905b 100644 WARN_ON_ONCE(rnp_c->qsmask); } -@@ -827,7 +827,7 @@ rcu_report_qs_rdp(int cpu, struct rcu_state *rsp, struct rcu_data *rdp, long las +@@ -825,7 +825,7 @@ rcu_report_qs_rdp(int cpu, struct rcu_state *rsp, struct rcu_data *rdp, long las struct rcu_node *rnp; rnp = rdp->mynode; @@ -226,7 +226,7 @@ index 6f652f1..0b4905b 100644 if (lastcomp != rnp->completed) { /* -@@ -839,12 +839,12 @@ rcu_report_qs_rdp(int cpu, struct rcu_state *rsp, struct rcu_data *rdp, long las +@@ -837,12 +837,12 @@ rcu_report_qs_rdp(int cpu, struct rcu_state *rsp, struct rcu_data *rdp, long las * race occurred. */ rdp->passed_quiesc = 0; /* try again later! */ @@ -241,7 +241,7 @@ index 6f652f1..0b4905b 100644 } else { rdp->qs_pending = 0; -@@ -908,7 +908,7 @@ static void rcu_send_cbs_to_orphanage(struct rcu_state *rsp) +@@ -906,7 +906,7 @@ static void rcu_send_cbs_to_orphanage(struct rcu_state *rsp) if (rdp->nxtlist == NULL) return; /* irqs disabled, so comparison is stable. */ @@ -250,7 +250,7 @@ index 6f652f1..0b4905b 100644 *rsp->orphan_cbs_tail = rdp->nxtlist; rsp->orphan_cbs_tail = rdp->nxttail[RCU_NEXT_TAIL]; rdp->nxtlist = NULL; -@@ -916,7 +916,7 @@ static void rcu_send_cbs_to_orphanage(struct rcu_state *rsp) +@@ -914,7 +914,7 @@ static void rcu_send_cbs_to_orphanage(struct rcu_state *rsp) rdp->nxttail[i] = &rdp->nxtlist; rsp->orphan_qlen += rdp->qlen; rdp->qlen = 0; @@ -259,7 +259,7 @@ index 6f652f1..0b4905b 100644 } /* -@@ -927,10 +927,10 @@ static void rcu_adopt_orphan_cbs(struct rcu_state *rsp) +@@ -925,10 +925,10 @@ static void rcu_adopt_orphan_cbs(struct rcu_state *rsp) unsigned long flags; struct rcu_data *rdp; @@ -272,7 +272,7 @@ index 6f652f1..0b4905b 100644 return; } *rdp->nxttail[RCU_NEXT_TAIL] = rsp->orphan_cbs_list; -@@ -939,7 +939,7 @@ static void rcu_adopt_orphan_cbs(struct rcu_state *rsp) +@@ -937,7 +937,7 @@ static void rcu_adopt_orphan_cbs(struct rcu_state *rsp) rsp->orphan_cbs_list = NULL; rsp->orphan_cbs_tail = &rsp->orphan_cbs_list; rsp->orphan_qlen = 0; @@ -281,7 +281,7 @@ index 6f652f1..0b4905b 100644 } /* -@@ -955,23 +955,23 @@ static void __rcu_offline_cpu(int cpu, struct rcu_state *rsp) +@@ -953,23 +953,23 @@ static void __rcu_offline_cpu(int cpu, struct rcu_state *rsp) struct rcu_node *rnp; /* Exclude any attempts to start a new grace period. */ @@ -309,7 +309,7 @@ index 6f652f1..0b4905b 100644 mask = rnp->grpmask; rnp = rnp->parent; } while (rnp != NULL); -@@ -982,12 +982,12 @@ static void __rcu_offline_cpu(int cpu, struct rcu_state *rsp) +@@ -980,12 +980,12 @@ static void __rcu_offline_cpu(int cpu, struct rcu_state *rsp) * because invoking rcu_report_unblock_qs_rnp() with ->onofflock * held leads to deadlock. */ @@ -324,7 +324,7 @@ index 6f652f1..0b4905b 100644 if (need_report & RCU_OFL_TASKS_EXP_GP) rcu_report_exp_rnp(rsp, rnp); -@@ -1160,13 +1160,13 @@ static int rcu_process_dyntick(struct rcu_state *rsp, long lastcomp, +@@ -1158,13 +1158,13 @@ static int rcu_process_dyntick(struct rcu_state *rsp, long lastcomp, rcu_for_each_leaf_node(rsp, rnp) { mask = 0; @@ -341,7 +341,7 @@ index 6f652f1..0b4905b 100644 continue; } cpu = rnp->grplo; -@@ -1181,7 +1181,7 @@ static int rcu_process_dyntick(struct rcu_state *rsp, long lastcomp, +@@ -1179,7 +1179,7 @@ static int rcu_process_dyntick(struct rcu_state *rsp, long lastcomp, rcu_report_qs_rnp(mask, rsp, rnp, flags); continue; } @@ -350,7 +350,7 @@ index 6f652f1..0b4905b 100644 } return 0; } -@@ -1200,7 +1200,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) +@@ -1198,7 +1198,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) if (!rcu_gp_in_progress(rsp)) return; /* No grace period in progress, nothing to force. */ @@ -359,7 +359,7 @@ index 6f652f1..0b4905b 100644 rsp->n_force_qs_lh++; /* Inexact, can lose counts. Tough! */ return; /* Someone else is already on the job. */ } -@@ -1208,16 +1208,16 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) +@@ -1206,16 +1206,16 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) (long)(rsp->jiffies_force_qs - jiffies) >= 0) goto unlock_ret; /* no emergency and done recently. */ rsp->n_force_qs++; @@ -379,7 +379,7 @@ index 6f652f1..0b4905b 100644 switch (signaled) { case RCU_GP_IDLE: case RCU_GP_INIT: -@@ -1239,7 +1239,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) +@@ -1237,7 +1237,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) /* Update state, record completion counter. */ forcenow = 0; @@ -388,7 +388,7 @@ index 6f652f1..0b4905b 100644 if (lastcomp + 1 == rsp->gpnum && lastcomp == rsp->completed && rsp->signaled == signaled) { -@@ -1247,7 +1247,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) +@@ -1245,7 +1245,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) rsp->completed_fqs = lastcomp; forcenow = signaled == RCU_SAVE_COMPLETED; } @@ -397,7 +397,7 @@ index 6f652f1..0b4905b 100644 if (!forcenow) break; /* fall into next case. */ -@@ -1264,7 +1264,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) +@@ -1262,7 +1262,7 @@ static void force_quiescent_state(struct rcu_state *rsp, int relaxed) break; } unlock_ret: @@ -406,7 +406,7 @@ index 6f652f1..0b4905b 100644 } #else /* #ifdef CONFIG_SMP */ -@@ -1306,7 +1306,7 @@ __rcu_process_callbacks(struct rcu_state *rsp, struct rcu_data *rdp) +@@ -1304,7 +1304,7 @@ __rcu_process_callbacks(struct rcu_state *rsp, struct rcu_data *rdp) /* Does this CPU require a not-yet-started grace period? */ if (cpu_needs_another_gp(rsp, rdp)) { @@ -415,7 +415,7 @@ index 6f652f1..0b4905b 100644 rcu_start_gp(rsp, flags); /* releases above lock */ } -@@ -1371,7 +1371,7 @@ __call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu), +@@ -1369,7 +1369,7 @@ __call_rcu(struct rcu_head *head, void (*func)(struct rcu_head *rcu), unsigned long nestflag; struct rcu_node *rnp_root = rcu_get_root(rsp); @@ -424,7 +424,7 @@ index 6f652f1..0b4905b 100644 rcu_start_gp(rsp, nestflag); /* releases rnp_root->lock. */ } -@@ -1661,7 +1661,7 @@ rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp) +@@ -1659,7 +1659,7 @@ rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp) struct rcu_node *rnp = rcu_get_root(rsp); /* Set up local state, ensuring consistent view of global state. */ @@ -433,7 +433,7 @@ index 6f652f1..0b4905b 100644 rdp->grpmask = 1UL << (cpu - rdp->mynode->grplo); rdp->nxtlist = NULL; for (i = 0; i < RCU_NEXT_SIZE; i++) -@@ -1671,7 +1671,7 @@ rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp) +@@ -1669,7 +1669,7 @@ rcu_boot_init_percpu_data(int cpu, struct rcu_state *rsp) rdp->dynticks = &per_cpu(rcu_dynticks, cpu); #endif /* #ifdef CONFIG_NO_HZ */ rdp->cpu = cpu; @@ -442,7 +442,7 @@ index 6f652f1..0b4905b 100644 } /* -@@ -1689,7 +1689,7 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) +@@ -1687,7 +1687,7 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) struct rcu_node *rnp = rcu_get_root(rsp); /* Set up local state, ensuring consistent view of global state. */ @@ -451,7 +451,7 @@ index 6f652f1..0b4905b 100644 rdp->passed_quiesc = 0; /* We could be racing with new GP, */ rdp->qs_pending = 1; /* so set up to respond to current GP. */ rdp->beenonline = 1; /* We have now been online. */ -@@ -1697,7 +1697,7 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) +@@ -1695,7 +1695,7 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) rdp->qlen_last_fqs_check = 0; rdp->n_force_qs_snap = rsp->n_force_qs; rdp->blimit = blimit; @@ -460,7 +460,7 @@ index 6f652f1..0b4905b 100644 /* * A new grace period might start here. If so, we won't be part -@@ -1705,14 +1705,14 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) +@@ -1703,14 +1703,14 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) */ /* Exclude any attempts to start a new GP on large systems. */ @@ -477,7 +477,7 @@ index 6f652f1..0b4905b 100644 rnp->qsmaskinit |= mask; mask = rnp->grpmask; if (rnp == rdp->mynode) { -@@ -1720,11 +1720,11 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) +@@ -1718,11 +1718,11 @@ rcu_init_percpu_data(int cpu, struct rcu_state *rsp, int preemptable) rdp->completed = rnp->completed; rdp->passed_quiesc_completed = rnp->completed - 1; } @@ -491,7 +491,7 @@ index 6f652f1..0b4905b 100644 } static void __cpuinit rcu_online_cpu(int cpu) -@@ -1825,7 +1825,7 @@ static void __init rcu_init_one(struct rcu_state *rsp) +@@ -1823,7 +1823,7 @@ static void __init rcu_init_one(struct rcu_state *rsp) cpustride *= rsp->levelspread[i]; rnp = rsp->level[i]; for (j = 0; j < rsp->levelcnt[i]; j++, rnp++) { @@ -532,7 +532,7 @@ index d2a0046..4613de1 100644 long completed_fqs; /* Value of completed @ snap. */ /* Protected by fqslock. */ diff --git a/kernel/rcutree_plugin.h b/kernel/rcutree_plugin.h -index e31cda7..518aca9 100644 +index 37fbccd..0533408 100644 --- a/kernel/rcutree_plugin.h +++ b/kernel/rcutree_plugin.h @@ -102,7 +102,7 @@ static void rcu_preempt_note_context_switch(int cpu) @@ -595,7 +595,7 @@ index e31cda7..518aca9 100644 else rcu_report_unblock_qs_rnp(rnp, flags); -@@ -385,11 +385,11 @@ static int rcu_preempt_offline_tasks(struct rcu_state *rsp, +@@ -388,11 +388,11 @@ static int rcu_preempt_offline_tasks(struct rcu_state *rsp, lp_root = &rnp_root->blocked_tasks[i]; while (!list_empty(lp)) { tp = list_entry(lp->next, typeof(*tp), rcu_node_entry); @@ -609,7 +609,7 @@ index e31cda7..518aca9 100644 } } return retval; -@@ -513,7 +513,7 @@ static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp) +@@ -516,7 +516,7 @@ static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp) unsigned long flags; unsigned long mask; @@ -618,7 +618,7 @@ index e31cda7..518aca9 100644 for (;;) { if (!sync_rcu_preempt_exp_done(rnp)) break; -@@ -522,12 +522,12 @@ static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp) +@@ -525,12 +525,12 @@ static void rcu_report_exp_rnp(struct rcu_state *rsp, struct rcu_node *rnp) break; } mask = rnp->grpmask; @@ -634,7 +634,7 @@ index e31cda7..518aca9 100644 } /* -@@ -542,11 +542,11 @@ sync_rcu_preempt_exp_init(struct rcu_state *rsp, struct rcu_node *rnp) +@@ -545,11 +545,11 @@ sync_rcu_preempt_exp_init(struct rcu_state *rsp, struct rcu_node *rnp) { int must_wait; @@ -648,7 +648,7 @@ index e31cda7..518aca9 100644 if (!must_wait) rcu_report_exp_rnp(rsp, rnp); } -@@ -591,13 +591,13 @@ void synchronize_rcu_expedited(void) +@@ -594,13 +594,13 @@ void synchronize_rcu_expedited(void) /* force all RCU readers onto blocked_tasks[]. */ synchronize_sched_expedited(); @@ -665,7 +665,7 @@ index e31cda7..518aca9 100644 } /* Snapshot current state of ->blocked_tasks[] lists. */ -@@ -606,7 +606,7 @@ void synchronize_rcu_expedited(void) +@@ -609,7 +609,7 @@ void synchronize_rcu_expedited(void) if (NUM_RCU_NODES > 1) sync_rcu_preempt_exp_init(rsp, rcu_get_root(rsp)); @@ -674,7 +674,7 @@ index e31cda7..518aca9 100644 /* Wait for snapshotted ->blocked_tasks[] lists to drain. */ rnp = rcu_get_root(rsp); -@@ -731,7 +731,7 @@ static int rcu_preempted_readers(struct rcu_node *rnp) +@@ -734,7 +734,7 @@ static int rcu_preempted_readers(struct rcu_node *rnp) /* Because preemptible RCU does not exist, no quieting of tasks. */ static void rcu_report_unblock_qs_rnp(struct rcu_node *rnp, unsigned long flags) { diff --git a/relay-fix-timer-madness.patch b/relay-fix-timer-madness.patch index ec59f5c..1818139 100644 --- a/relay-fix-timer-madness.patch +++ b/relay-fix-timer-madness.patch @@ -1,4 +1,4 @@ -From f6a6d1e5259459b6791250d773c5a0ad9a8de45a Mon Sep 17 00:00:00 2001 +From 5700b1ae8c1b1969cc3739e4621699e45e94a4ab Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:07 -0500 Subject: [PATCH] relay: fix timer madness @@ -13,7 +13,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/relay.c b/kernel/relay.c -index bc18854..05fd6d5 100644 +index c705a41..4da323b 100644 --- a/kernel/relay.c +++ b/kernel/relay.c @@ -343,6 +343,10 @@ static void wakeup_readers(unsigned long data) diff --git a/revert-preempt-BKL-revert.patch b/revert-preempt-BKL-revert.patch index 16684cd..2772ad0 100644 --- a/revert-preempt-BKL-revert.patch +++ b/revert-preempt-BKL-revert.patch @@ -1,4 +1,4 @@ -From 29e08426d1facd414832155fc85e7961e2edbe3f Mon Sep 17 00:00:00 2001 +From 47d053171f1c30bbe93d818b7b94ff89bec58055 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:19 -0500 Subject: [PATCH] revert preempt BKL revert @@ -57,10 +57,10 @@ index d5b3876..5d79504 100644 #define in_atomic_preempt_off() \ ((preempt_count() & ~PREEMPT_ACTIVE) != PREEMPT_CHECK_OFFSET) diff --git a/kernel/sched.c b/kernel/sched.c -index 398cd9d..203c195 100644 +index b859b1e..d5034c3 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5660,6 +5660,8 @@ out: +@@ -5639,6 +5639,8 @@ out: asmlinkage void __sched preempt_schedule(void) { struct thread_info *ti = current_thread_info(); @@ -69,7 +69,7 @@ index 398cd9d..203c195 100644 /* * If there is a non-zero preempt_count or interrupts are disabled, -@@ -5670,7 +5672,16 @@ asmlinkage void __sched preempt_schedule(void) +@@ -5649,7 +5651,16 @@ asmlinkage void __sched preempt_schedule(void) do { add_preempt_count(PREEMPT_ACTIVE); @@ -86,7 +86,7 @@ index 398cd9d..203c195 100644 sub_preempt_count(PREEMPT_ACTIVE); /* -@@ -5691,15 +5702,26 @@ EXPORT_SYMBOL(preempt_schedule); +@@ -5670,15 +5681,26 @@ EXPORT_SYMBOL(preempt_schedule); asmlinkage void __sched preempt_schedule_irq(void) { struct thread_info *ti = current_thread_info(); @@ -113,7 +113,7 @@ index 398cd9d..203c195 100644 sub_preempt_count(PREEMPT_ACTIVE); /* -@@ -7085,11 +7107,8 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) +@@ -7058,11 +7080,8 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) raw_spin_unlock_irqrestore(&rq->lock, flags); /* Set the preempt count _outside_ the spinlocks! */ diff --git a/rt-Add-the-preempt-rt-lock-replacement-APIs.patch b/rt-Add-the-preempt-rt-lock-replacement-APIs.patch index cbf3fc6..14e4027 100644 --- a/rt-Add-the-preempt-rt-lock-replacement-APIs.patch +++ b/rt-Add-the-preempt-rt-lock-replacement-APIs.patch @@ -1,4 +1,4 @@ -From 1c109bceeed39ef73f327752590fc9b97b028cc4 Mon Sep 17 00:00:00 2001 +From 127fe0feaa9451cdad5061ca0e23eb0bb232a069 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 19:39:56 +0200 Subject: [PATCH] rt: Add the preempt-rt lock replacement APIs @@ -35,10 +35,10 @@ index 564c373..c2494d4 100644 #endif /* __KERNEL__ */ #endif /* _ASM_POWERPC_RWSEM_H */ diff --git a/arch/x86/include/asm/rwsem.h b/arch/x86/include/asm/rwsem.h -index 0d686f7..286cba2 100644 +index a8646cb..92d67a6 100644 --- a/arch/x86/include/asm/rwsem.h +++ b/arch/x86/include/asm/rwsem.h -@@ -278,6 +278,8 @@ static inline int anon_rwsem_is_locked(struct rw_anon_semaphore *sem) +@@ -261,6 +261,8 @@ static inline int anon_rwsem_is_locked(struct rw_anon_semaphore *sem) return (sem->count != 0); } @@ -47,7 +47,7 @@ index 0d686f7..286cba2 100644 struct rw_semaphore { signed long count; spinlock_t wait_lock; -@@ -318,6 +320,7 @@ static inline int rwsem_is_locked(struct rw_semaphore *sem) +@@ -301,6 +303,7 @@ static inline int rwsem_is_locked(struct rw_semaphore *sem) { return (sem->count != 0); } @@ -583,7 +583,7 @@ index 70e2f4b..e516c81 100644 #endif /* _LINUX_RWSEM_H */ diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h -index 8608821..699457a 100644 +index 8608821..4186cb7 100644 --- a/include/linux/spinlock.h +++ b/include/linux/spinlock.h @@ -58,23 +58,6 @@ @@ -709,7 +709,7 @@ index 8608821..699457a 100644 /* * Map the spin_lock functions to the raw variants for PREEMPT_RT=n */ -@@ -470,4 +468,6 @@ extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); +@@ -393,4 +468,6 @@ extern int _atomic_dec_and_lock(atomic_t *atomic, spinlock_t *lock); #define atomic_dec_and_lock(atomic, lock) \ __cond_lock(lock, _atomic_dec_and_lock(atomic, lock)) @@ -717,7 +717,7 @@ index 8608821..699457a 100644 + #endif /* __LINUX_SPINLOCK_H */ diff --git a/include/linux/spinlock_types.h b/include/linux/spinlock_types.h -index cd2b7b8..499000a 100644 +index aadd590..b875516 100644 --- a/include/linux/spinlock_types.h +++ b/include/linux/spinlock_types.h @@ -9,6 +9,23 @@ @@ -793,7 +793,7 @@ index 864ff75..2a60a05 100644 obj-$(CONFIG_USE_GENERIC_SMP_HELPERS) += smp.o ifneq ($(CONFIG_SMP),y) diff --git a/kernel/fork.c b/kernel/fork.c -index 939dc40..3c548ed 100644 +index 81fcb2a..bab0a66 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -85,7 +85,11 @@ int max_threads; /* tunable limit on nr_threads */ diff --git a/rt-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch b/rt-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch index d01bd51..92250ad 100644 --- a/rt-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch +++ b/rt-BUG_ON-WARN_ON-variants-dependend-on-RT-RT.patch @@ -1,4 +1,4 @@ -From c15ac58e50a3e202f6c663b31c5536fdbaea9968 Mon Sep 17 00:00:00 2001 +From bad60f6730c4047c1a033948852b7bdf95172fdd Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:58 -0500 Subject: [PATCH] rt: BUG_ON/WARN_ON variants dependend on RT/!RT @@ -11,7 +11,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h -index 4b67559..2c7bde2 100644 +index 18c435d..a4141a5 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h @@ -3,6 +3,10 @@ diff --git a/rt-Fix-the-reminder-block-accounting-for-CONFIG_FUNC.patch b/rt-Fix-the-reminder-block-accounting-for-CONFIG_FUNC.patch index 7a2a2c8..268d8d1 100644 --- a/rt-Fix-the-reminder-block-accounting-for-CONFIG_FUNC.patch +++ b/rt-Fix-the-reminder-block-accounting-for-CONFIG_FUNC.patch @@ -1,4 +1,4 @@ -From c21aa412b0453875c5a025bbff9e738a380ae912 Mon Sep 17 00:00:00 2001 +From 12bbe96c1ea7fce23b6464fc030d3e633b19718f Mon Sep 17 00:00:00 2001 From: John Kacur <jkacur@redhat.com> Date: Thu, 29 Apr 2010 22:07:32 +0200 Subject: [PATCH] rt: Fix the reminder block accounting for CONFIG_FUNCTION_TRACER @@ -16,10 +16,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/init/main.c b/init/main.c -index d7b56e3..36cd54a 100644 +index 32ab188..aabceff 100644 --- a/init/main.c +++ b/init/main.c -@@ -899,15 +899,17 @@ static int __init kernel_init(void * unused) +@@ -908,15 +908,17 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -46,7 +46,7 @@ index d7b56e3..36cd54a 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -927,7 +929,7 @@ static int __init kernel_init(void * unused) +@@ -936,7 +938,7 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif diff --git a/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch b/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch index c3a29f1..98e05b7 100644 --- a/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch +++ b/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch @@ -1,4 +1,4 @@ -From d2e328f7a2558e3e88ae579db0dcea81faf864bb Mon Sep 17 00:00:00 2001 +From abcbb404f73618288a4c549cd9a67ebc442876b7 Mon Sep 17 00:00:00 2001 From: John Kacur <jkacur@redhat.com> Date: Wed, 28 Apr 2010 21:34:27 +0200 Subject: [PATCH] rt: Remove irrelevant CONFIGS from reminder block. @@ -17,10 +17,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/init/main.c b/init/main.c -index bd1fe76..d7b56e3 100644 +index aab9091..32ab188 100644 --- a/init/main.c +++ b/init/main.c -@@ -899,15 +899,15 @@ static int __init kernel_init(void * unused) +@@ -908,15 +908,15 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -45,7 +45,7 @@ index bd1fe76..d7b56e3 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -927,11 +927,8 @@ static int __init kernel_init(void * unused) +@@ -936,11 +936,8 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif @@ -58,7 +58,7 @@ index bd1fe76..d7b56e3 100644 #endif #ifdef CONFIG_INTERRUPT_OFF_HIST printk(KERN_ERR "* CONFIG_INTERRUPT_OFF_HIST *\n"); -@@ -939,12 +936,6 @@ static int __init kernel_init(void * unused) +@@ -948,12 +945,6 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_OFF_HIST printk(KERN_ERR "* CONFIG_PREEMPT_OFF_HIST *\n"); #endif diff --git a/rt-call-reboot-notifier-list-when-doing-an-emergency.patch b/rt-call-reboot-notifier-list-when-doing-an-emergency.patch index 7a35e68..b4b3adb 100644 --- a/rt-call-reboot-notifier-list-when-doing-an-emergency.patch +++ b/rt-call-reboot-notifier-list-when-doing-an-emergency.patch @@ -1,4 +1,4 @@ -From b056c23ea69a28dac3b97e9296cac895e0fcc386 Mon Sep 17 00:00:00 2001 +From feadf2f88cb10da1b3ca4ae94d33a411da66d223 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:00 -0500 Subject: [PATCH] rt: call reboot notifier list when doing an emergency reboot @@ -24,10 +24,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sys.c b/kernel/sys.c -index b3f1097..eb040a4 100644 +index 18bde97..1d96580 100644 --- a/kernel/sys.c +++ b/kernel/sys.c -@@ -33,6 +33,7 @@ +@@ -32,6 +32,7 @@ #include <linux/getcpu.h> #include <linux/task_io_accounting_ops.h> #include <linux/seccomp.h> @@ -35,7 +35,7 @@ index b3f1097..eb040a4 100644 #include <linux/cpu.h> #include <linux/ptrace.h> #include <linux/fs_struct.h> -@@ -280,6 +281,15 @@ out_unlock: +@@ -283,6 +284,15 @@ out_unlock: */ void emergency_restart(void) { diff --git a/rt-core-implementation.patch b/rt-core-implementation.patch index 42c08a3..5d13c86 100644 --- a/rt-core-implementation.patch +++ b/rt-core-implementation.patch @@ -1,4 +1,4 @@ -From 9bfc45816bb311fd78755bf0860c5ff7c981d9fd Mon Sep 17 00:00:00 2001 +From 242bf5f85333e15f8e1d222d1b85411d7f583c94 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:07 -0500 Subject: [PATCH] rt: core implementation @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h -index ae7d66b..1227b4c 100644 +index cee2da4..3223348 100644 --- a/include/linux/hardirq.h +++ b/include/linux/hardirq.h @@ -83,9 +83,9 @@ @@ -344,7 +344,7 @@ index c2be31f..1295e09 100644 return ret; diff --git a/kernel/fork.c b/kernel/fork.c -index dbb4495..d0ebd92 100644 +index 5e880bd..f9cb88c 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -185,6 +185,16 @@ void __put_task_struct(struct task_struct *tsk) @@ -418,7 +418,7 @@ index 5c2181b..9dda83b 100644 /* * By the time we got the lock, our tracer went away. diff --git a/kernel/softirq.c b/kernel/softirq.c -index a8e4d27..38ca7fe 100644 +index 31db011..b021c2d 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -20,6 +20,7 @@ @@ -456,7 +456,7 @@ index a8e4d27..38ca7fe 100644 } while (test_bit(TASKLET_STATE_SCHED, &t->state)); } tasklet_unlock_wait(t); -@@ -1059,6 +1064,11 @@ int softirq_preemption = 1; +@@ -1057,6 +1062,11 @@ int softirq_preemption = 1; EXPORT_SYMBOL(softirq_preemption); @@ -468,7 +468,7 @@ index a8e4d27..38ca7fe 100644 static int __init softirq_preempt_setup (char *str) { if (!strncmp(str, "off", 3)) -@@ -1072,7 +1082,7 @@ static int __init softirq_preempt_setup (char *str) +@@ -1070,7 +1080,7 @@ static int __init softirq_preempt_setup (char *str) } __setup("softirq-preempt=", softirq_preempt_setup); @@ -621,7 +621,7 @@ index 3b0b4a6..2d21722 100644 lib-$(CONFIG_GENERIC_FIND_FIRST_BIT) += find_next_bit.o lib-$(CONFIG_GENERIC_FIND_NEXT_BIT) += find_next_bit.o diff --git a/lib/kernel_lock.c b/lib/kernel_lock.c -index 8ff19e1..24f693e 100644 +index 79f9fac..a77306a 100644 --- a/lib/kernel_lock.c +++ b/lib/kernel_lock.c @@ -38,6 +38,8 @@ struct semaphore kernel_sem; @@ -633,7 +633,7 @@ index 8ff19e1..24f693e 100644 */ int __lockfunc __reacquire_kernel_lock(void) { -@@ -77,7 +79,11 @@ void __lockfunc _lock_kernel(const char *func, const char *file, int line) +@@ -76,7 +78,11 @@ void __lockfunc _lock_kernel(const char *func, const char *file, int line) * No recursion worries - we set up lock_depth _after_ */ down(&kernel_sem); @@ -645,7 +645,7 @@ index 8ff19e1..24f693e 100644 current->lock_depth = depth; } -@@ -85,9 +91,12 @@ void __lockfunc _unlock_kernel(const char *func, const char *file, int line) +@@ -84,9 +90,12 @@ void __lockfunc _unlock_kernel(const char *func, const char *file, int line) { BUG_ON(current->lock_depth < 0); diff --git a/rt-local_irq_-variants-depending-on-RT-RT.patch b/rt-local_irq_-variants-depending-on-RT-RT.patch index a9f8678..942695d 100644 --- a/rt-local_irq_-variants-depending-on-RT-RT.patch +++ b/rt-local_irq_-variants-depending-on-RT-RT.patch @@ -1,4 +1,4 @@ -From c7f86f08e17883cbbbfbeffca9dae499750b59cb Mon Sep 17 00:00:00 2001 +From d7b3946febd01126be4e6dab82a48ed54edf7448 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 21 Jul 2009 22:34:14 +0200 Subject: [PATCH] rt: local_irq_* variants depending on RT/!RT @@ -11,10 +11,10 @@ interrupt disabled sections on PREEMPT_RT. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 2721f07..a8d8adb 100644 +index 2d574fb..7b43e10 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h -@@ -175,7 +175,7 @@ extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id); +@@ -179,7 +179,7 @@ extern void devm_free_irq(struct device *dev, unsigned int irq, void *dev_id); #ifdef CONFIG_LOCKDEP # define local_irq_enable_in_hardirq() do { } while (0) #else @@ -23,7 +23,7 @@ index 2721f07..a8d8adb 100644 #endif extern void disable_irq_nosync(unsigned int irq); -@@ -588,4 +588,19 @@ extern int arch_probe_nr_irqs(void); +@@ -612,4 +612,19 @@ extern int arch_probe_nr_irqs(void); extern int arch_early_irq_init(void); extern int arch_init_chip_data(struct irq_desc *desc, int node); diff --git a/rt-trivial-fix-to-REMINDER-block-in-init-main.c.patch b/rt-trivial-fix-to-REMINDER-block-in-init-main.c.patch index 42c0ada..cddde27 100644 --- a/rt-trivial-fix-to-REMINDER-block-in-init-main.c.patch +++ b/rt-trivial-fix-to-REMINDER-block-in-init-main.c.patch @@ -1,4 +1,4 @@ -From 3e39399ef4a742d994570488994be93ef17d4ef5 Mon Sep 17 00:00:00 2001 +From b189330305e88f4335ab6c7eb0211888836a4487 Mon Sep 17 00:00:00 2001 From: Clark Williams <williams@redhat.com> Date: Thu, 25 Feb 2010 16:39:23 -0600 Subject: [PATCH] rt: trivial fix to REMINDER block in init/main.c @@ -12,10 +12,10 @@ Signed-off-by: Clark Williams <williams@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/init/main.c b/init/main.c -index aa48b7b..48393c0 100644 +index 8f95889..aab9091 100644 --- a/init/main.c +++ b/init/main.c -@@ -928,6 +928,9 @@ static int __init kernel_init(void * unused) +@@ -936,6 +936,9 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif diff --git a/rtc-supress-rtc-printk-on-RT.patch b/rtc-supress-rtc-printk-on-RT.patch index 1d5de49..6c7bb0f 100644 --- a/rtc-supress-rtc-printk-on-RT.patch +++ b/rtc-supress-rtc-printk-on-RT.patch @@ -1,4 +1,4 @@ -From 308a0c6b40a0f378ccc5d6793fdc384f97c88b2b Mon Sep 17 00:00:00 2001 +From d9865201e397cb62da509fe3291962434e6305e8 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:36 -0500 Subject: [PATCH] rtc: supress rtc printk on RT @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c -index e0d0f8b..d809c4d 100644 +index 95acb8c..c973c0b 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c -@@ -1197,10 +1197,12 @@ static void rtc_dropped_irq(unsigned long data) +@@ -1195,10 +1195,12 @@ static void rtc_dropped_irq(unsigned long data) spin_unlock_irq(&rtc_lock); diff --git a/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch b/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch index a230d38..3c2511a 100644 --- a/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch +++ b/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch @@ -1,4 +1,4 @@ -From ca62cf36edc0f575987dd2bbabd5b0b3788da26d Mon Sep 17 00:00:00 2001 +From 4c09f65999fcb3deea0106441860880c44f95112 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:21 -0500 Subject: [PATCH] rtmutex: Adaptive locking. Spin when owner runs @@ -49,10 +49,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 6ab67d4..cbc8101 100644 +index 4b0e18b..3bb5def 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2686,6 +2686,8 @@ static inline unsigned long rlimit_max(unsigned int limit) +@@ -2684,6 +2684,8 @@ static inline unsigned long rlimit_max(unsigned int limit) return task_rlimit_max(current, limit); } @@ -62,7 +62,7 @@ index 6ab67d4..cbc8101 100644 #endif diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index de7fa73..8a5db44 100644 +index 1f12a75..be9864f 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -8,6 +8,12 @@ @@ -162,7 +162,7 @@ index de7fa73..8a5db44 100644 raw_spin_lock_irqsave(&lock->wait_lock, flags); current->lock_depth = saved_lock_depth; diff --git a/kernel/sched.c b/kernel/sched.c -index 442fbad..72b430c 100644 +index a5ffe46..ebbd311 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -666,6 +666,11 @@ inline void update_rq_clock(struct rq *rq) diff --git a/rtmutex-Add-lateral-lock-stealing.patch b/rtmutex-Add-lateral-lock-stealing.patch index 61583ab..d99fd3e 100644 --- a/rtmutex-Add-lateral-lock-stealing.patch +++ b/rtmutex-Add-lateral-lock-stealing.patch @@ -1,4 +1,4 @@ -From 54413004801284ba18b79f94e481b1c7f4c5ba7d Mon Sep 17 00:00:00 2001 +From 7e369dafe08913a97f069c04c7a68b3044e4fdfd Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:19 -0500 Subject: [PATCH] rtmutex: Add lateral lock stealing @@ -36,7 +36,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index aa05b8c..82c410b 100644 +index fe9b2fc..3a4e820 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -318,7 +318,7 @@ static int rt_mutex_adjust_prio_chain(struct task_struct *task, diff --git a/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch b/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch index a629ecb..8da3ae6 100644 --- a/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch +++ b/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch @@ -1,4 +1,4 @@ -From 26ba8e4b70af50b0049ff964f9366a56f7f60293 Mon Sep 17 00:00:00 2001 +From 735d5151fa32358753d9b05add1eb1bf5f7a656b Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:22 -0500 Subject: [PATCH] rtmutex: Adjust pi_lock usage in wakeup @@ -22,7 +22,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index c6bc023..78c5bf1 100644 +index 6435b54..5017ecb 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -507,6 +507,7 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate) diff --git a/rtmutex-Fix-CONFIG_DEBUG_RT_MUTEX-lock-underflow-war.patch b/rtmutex-Fix-CONFIG_DEBUG_RT_MUTEX-lock-underflow-war.patch index cab98f2..e25ba91 100644 --- a/rtmutex-Fix-CONFIG_DEBUG_RT_MUTEX-lock-underflow-war.patch +++ b/rtmutex-Fix-CONFIG_DEBUG_RT_MUTEX-lock-underflow-war.patch @@ -1,4 +1,4 @@ -From 2c237cf3487394a46a92c002d8c15f19a8e4faf7 Mon Sep 17 00:00:00 2001 +From 2cafb0a670cbd6571dec957bde90e908819d01d9 Mon Sep 17 00:00:00 2001 From: john stultz <johnstul@us.ibm.com> Date: Fri, 3 Jul 2009 08:44:25 -0500 Subject: [PATCH] rtmutex: Fix CONFIG_DEBUG_RT_MUTEX lock underflow warnings @@ -48,10 +48,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 1021392..84dd8f4 100644 +index a958544..7e50287 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1400,7 +1400,7 @@ struct task_struct { +@@ -1479,7 +1479,7 @@ struct task_struct { #define MAX_PREEMPT_TRACE 25 #define MAX_LOCK_STACK MAX_PREEMPT_TRACE #ifdef CONFIG_DEBUG_PREEMPT @@ -61,10 +61,10 @@ index 1021392..84dd8f4 100644 struct rt_mutex *owned_lock[MAX_LOCK_STACK]; # endif diff --git a/kernel/fork.c b/kernel/fork.c -index 938e777..dea61ca 100644 +index 8453327..81fcb2a 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1127,7 +1127,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1171,7 +1171,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, if (retval) goto bad_fork_cleanup_io; #ifdef CONFIG_DEBUG_PREEMPT diff --git a/rtmutex-Optimize-rt-lock-wakeup.patch b/rtmutex-Optimize-rt-lock-wakeup.patch index 192cb70..00d35e9 100644 --- a/rtmutex-Optimize-rt-lock-wakeup.patch +++ b/rtmutex-Optimize-rt-lock-wakeup.patch @@ -1,4 +1,4 @@ -From 5aef092b9e9aeac49cd2541cf2913663569c86ce Mon Sep 17 00:00:00 2001 +From 527cb2f3b9b6a96b8dd6cd40abcaffc315bc95a2 Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:21 -0500 Subject: [PATCH] rtmutex: Optimize rt lock wakeup @@ -21,7 +21,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index fc06ddd..c6bc023 100644 +index be9864f..6435b54 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -523,6 +523,41 @@ static void wakeup_next_waiter(struct rt_mutex *lock, int savestate) diff --git a/rtmutex-Rearrange-the-code.patch b/rtmutex-Rearrange-the-code.patch index f152638..6455690 100644 --- a/rtmutex-Rearrange-the-code.patch +++ b/rtmutex-Rearrange-the-code.patch @@ -1,4 +1,4 @@ -From 090e2db9b77d03d264b0a12048448ae49a907e0c Mon Sep 17 00:00:00 2001 +From 7c3df123e248a20ae083d51e720c415d52b092c9 Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:20 -0500 Subject: [PATCH] rtmutex: Rearrange the code @@ -18,7 +18,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 66f3aed..7be7ae6 100644 +index 3a4e820..543e43c 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -656,6 +656,14 @@ rt_spin_lock_fastunlock(struct rt_mutex *lock, diff --git a/rtmutex-Remove-the-extra-call-to-try_to_take_lock.patch b/rtmutex-Remove-the-extra-call-to-try_to_take_lock.patch index 478cfda..a870c91 100644 --- a/rtmutex-Remove-the-extra-call-to-try_to_take_lock.patch +++ b/rtmutex-Remove-the-extra-call-to-try_to_take_lock.patch @@ -1,4 +1,4 @@ -From 73d33cafab165763a64e0e6f1f842193fff4b18c Mon Sep 17 00:00:00 2001 +From 37787f09f7bb53627067f8e576ae6fec67440f05 Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:22 -0500 Subject: [PATCH] rtmutex: Remove the extra call to try_to_take_lock @@ -22,7 +22,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 78c5bf1..56a4396 100644 +index 5017ecb..f4c5cde 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -775,12 +775,6 @@ rt_spin_lock_slowlock(struct rt_mutex *lock) diff --git a/rtmutex-break-out-early-on-first-run.patch b/rtmutex-break-out-early-on-first-run.patch index 06ef630..b6f7720 100644 --- a/rtmutex-break-out-early-on-first-run.patch +++ b/rtmutex-break-out-early-on-first-run.patch @@ -1,4 +1,4 @@ -From c3c6a61dbff1c6fbbe9a9134e86c2bf19f6671e1 Mon Sep 17 00:00:00 2001 +From 78795f419d2e51a3a2d7e41fc8ef419cfe98a8d8 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:23 -0500 Subject: [PATCH] rtmutex: break out early on first run @@ -14,7 +14,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 56a4396..e040eab 100644 +index f4c5cde..4d53d03 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -768,6 +768,7 @@ rt_spin_lock_slowlock(struct rt_mutex *lock) diff --git a/rtmutex-cleanup-the-adaptive-spin-code.patch b/rtmutex-cleanup-the-adaptive-spin-code.patch index b4b17dc..a833eb5 100644 --- a/rtmutex-cleanup-the-adaptive-spin-code.patch +++ b/rtmutex-cleanup-the-adaptive-spin-code.patch @@ -1,4 +1,4 @@ -From edeb8fe63dce75e827a27292a186b98fe3d26959 Mon Sep 17 00:00:00 2001 +From 78e651a0c9a7863c237410a8f8485ff98a1f3c70 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:23 -0500 Subject: [PATCH] rtmutex: cleanup the adaptive spin code @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index e040eab..63f304e 100644 +index 4d53d03..b649eb0 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -708,41 +708,22 @@ update_current(unsigned long new_state, unsigned long *saved_state) diff --git a/rtmutex-implement-lock-replacement-functions.patch b/rtmutex-implement-lock-replacement-functions.patch index 91335f8..866c933 100644 --- a/rtmutex-implement-lock-replacement-functions.patch +++ b/rtmutex-implement-lock-replacement-functions.patch @@ -1,4 +1,4 @@ -From 845070b65d964a1713e9e85dde08f1da9debb434 Mon Sep 17 00:00:00 2001 +From 670da665cec75e5dc2a03a13abc88882e6288740 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 18:27:32 +0200 Subject: [PATCH] rtmutex: implement lock replacement functions @@ -24,7 +24,7 @@ index 281d8fd..076359d 100644 struct hrtimer_sleeper *timeout, int detect_deadlock); diff --git a/include/linux/sched.h b/include/linux/sched.h -index 18cf211..c26e31a 100644 +index 9dd2ede..4b0e18b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -175,6 +175,7 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) @@ -219,7 +219,7 @@ index ddabb54..2381c7a 100644 } - diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index a960481..aa05b8c 100644 +index a960481..fe9b2fc 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -14,6 +14,7 @@ @@ -1046,7 +1046,7 @@ index a960481..aa05b8c 100644 /* * Readjust priority, when we did not get the lock. We might have been diff --git a/lib/kernel_lock.c b/lib/kernel_lock.c -index be1390f..a419593 100644 +index 2c9b548..e495acf 100644 --- a/lib/kernel_lock.c +++ b/lib/kernel_lock.c @@ -27,7 +27,7 @@ diff --git a/rtmutex-prevent-missed-wakeups.patch b/rtmutex-prevent-missed-wakeups.patch index a5ded08..1efc9fd 100644 --- a/rtmutex-prevent-missed-wakeups.patch +++ b/rtmutex-prevent-missed-wakeups.patch @@ -1,4 +1,4 @@ -From a5a4b0e1daa2ee7e30dcd3ecb3d9720270e19162 Mon Sep 17 00:00:00 2001 +From 4887c91c6ce8806230f95e29ce90641e2d53b424 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:24 -0500 Subject: [PATCH] rtmutex: prevent missed wakeups @@ -54,7 +54,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index ac09302..8b251d0 100644 +index 3bb5def..a958544 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -214,8 +214,7 @@ extern char ___assert_task_state[1 - 2*!!( @@ -68,7 +68,7 @@ index ac09302..8b251d0 100644 /* get_task_state() */ #define TASK_REPORT (TASK_RUNNING | TASK_RUNNING_MUTEX | \ diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 5269d36..4479f9d 100644 +index a4c8b7e..900f11c 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -729,16 +729,32 @@ static int adaptive_wait(struct rt_mutex_waiter *waiter, @@ -108,7 +108,7 @@ index 5269d36..4479f9d 100644 if (state == TASK_RUNNING) saved_state = TASK_RUNNING; diff --git a/kernel/sched.c b/kernel/sched.c -index ec3ecfd..c803b79 100644 +index ebbd311..6be80f6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2475,8 +2475,16 @@ out_running: @@ -138,7 +138,7 @@ index ec3ecfd..c803b79 100644 } /* -@@ -5567,7 +5575,7 @@ need_resched_nonpreemptible: +@@ -5547,7 +5555,7 @@ need_resched_nonpreemptible: update_rq_clock(rq); clear_tsk_need_resched(prev); @@ -147,7 +147,7 @@ index ec3ecfd..c803b79 100644 !(preempt_count() & PREEMPT_ACTIVE)) { if (unlikely(signal_pending_state(prev->state, prev))) prev->state = TASK_RUNNING; -@@ -5769,8 +5777,7 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -5749,8 +5757,7 @@ asmlinkage void __sched preempt_schedule_irq(void) int default_wake_function(wait_queue_t *curr, unsigned mode, int wake_flags, void *key) { diff --git a/rtmutex-remove-double-xchg.patch b/rtmutex-remove-double-xchg.patch index b22edc7..265cb28 100644 --- a/rtmutex-remove-double-xchg.patch +++ b/rtmutex-remove-double-xchg.patch @@ -1,4 +1,4 @@ -From 4829d08644d66712666d0614d3c670304534f67e Mon Sep 17 00:00:00 2001 +From b204c1ae83666bc29aceb615202cb8000e08f0d7 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:20 -0500 Subject: [PATCH] rtmutex: remove double xchg @@ -13,7 +13,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 7be7ae6..04da866 100644 +index 543e43c..1f12a75 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -736,8 +736,6 @@ rt_spin_lock_slowlock(struct rt_mutex *lock) diff --git a/rtmutex-remove-uber-optimization.patch b/rtmutex-remove-uber-optimization.patch index 44a7560..3d45a61 100644 --- a/rtmutex-remove-uber-optimization.patch +++ b/rtmutex-remove-uber-optimization.patch @@ -1,4 +1,4 @@ -From 640f0c0599f850474cd1b676dfb61c338a79431c Mon Sep 17 00:00:00 2001 +From 48edf2eb0a42fd23495f9ce1dd0df40175fce40a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:24 -0500 Subject: [PATCH] rtmutex: remove uber optimization @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 44a8084..50edeb1 100644 +index 0421098..a4c8b7e 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -770,7 +770,6 @@ rt_spin_lock_slowlock(struct rt_mutex *lock) diff --git a/rtmutex-unify-state-manipulation.patch b/rtmutex-unify-state-manipulation.patch index 7f24457..ae80069 100644 --- a/rtmutex-unify-state-manipulation.patch +++ b/rtmutex-unify-state-manipulation.patch @@ -1,4 +1,4 @@ -From d5ad85bc76390226b203af351bbae79ee901ca8a Mon Sep 17 00:00:00 2001 +From 1c76a7be644b423797184556f99f617ca5ec2c3c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:23 -0500 Subject: [PATCH] rtmutex: unify state manipulation @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c -index 63f304e..44a8084 100644 +index b649eb0..0421098 100644 --- a/kernel/rtmutex.c +++ b/kernel/rtmutex.c @@ -696,13 +696,6 @@ rt_spin_lock_fastunlock(struct rt_mutex *lock, diff --git a/sched-Add-TASK_RUNNING_MUTEX-state.patch b/sched-Add-TASK_RUNNING_MUTEX-state.patch index 2966027..3e8de58 100644 --- a/sched-Add-TASK_RUNNING_MUTEX-state.patch +++ b/sched-Add-TASK_RUNNING_MUTEX-state.patch @@ -1,4 +1,4 @@ -From 72a930c51ce964a4e7ed3dec65d33d7d2317ea66 Mon Sep 17 00:00:00 2001 +From fb20845c8dac0d4e5e6f692f6612841231578315 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 18:14:57 +0200 Subject: [PATCH] sched: Add TASK_RUNNING_MUTEX state @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/fs/proc/array.c b/fs/proc/array.c -index 69eb4c4..43d00f7 100644 +index 13b5d07..90dac9b 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c -@@ -134,12 +134,13 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) +@@ -135,12 +135,13 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) */ static const char *task_state_array[] = { "R (running)", /* 0 */ @@ -34,7 +34,7 @@ index 69eb4c4..43d00f7 100644 "x (dead)", /* 64 */ "K (wakekill)", /* 128 */ "W (waking)", /* 256 */ -@@ -336,6 +337,18 @@ static void task_cpus_allowed(struct seq_file *m, struct task_struct *task) +@@ -337,6 +338,18 @@ static void task_cpus_allowed(struct seq_file *m, struct task_struct *task) seq_printf(m, "\n"); } @@ -53,7 +53,7 @@ index 69eb4c4..43d00f7 100644 int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, struct pid *pid, struct task_struct *task) { -@@ -356,6 +369,7 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, +@@ -357,6 +370,7 @@ int proc_pid_status(struct seq_file *m, struct pid_namespace *ns, task_show_regs(m, task); #endif task_context_switch_counts(m, task); @@ -62,7 +62,7 @@ index 69eb4c4..43d00f7 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index 389a494..9e5806b 100644 +index ae42b44..bdd186d 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -187,20 +187,21 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) diff --git a/sched-Add-lock_count-to-task-struct.patch b/sched-Add-lock_count-to-task-struct.patch index ebe1dda..e68d4c3 100644 --- a/sched-Add-lock_count-to-task-struct.patch +++ b/sched-Add-lock_count-to-task-struct.patch @@ -1,4 +1,4 @@ -From 5f4f4d046d58fa1bf84b371ee1341e786c7f69d7 Mon Sep 17 00:00:00 2001 +From 4428443fda5b0b1ed5cca81f06ff378d4d12250b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 18:39:41 +0200 Subject: [PATCH] sched: Add lock_count to task struct @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 25298f8..50a53c1 100644 +index bdd186d..dea1e05 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1476,6 +1476,26 @@ struct task_struct { +@@ -1474,6 +1474,26 @@ struct task_struct { gfp_t lockdep_reclaim_gfp; #endif @@ -42,7 +42,7 @@ index 25298f8..50a53c1 100644 void *journal_info; diff --git a/kernel/fork.c b/kernel/fork.c -index 2817d88..fbdf5f9 100644 +index 84507ab..8453327 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -943,6 +943,9 @@ static void rt_mutex_init_task(struct task_struct *p) @@ -55,7 +55,7 @@ index 2817d88..fbdf5f9 100644 #endif } -@@ -1165,6 +1168,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1167,6 +1170,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, retval = copy_thread(clone_flags, stack_start, stack_size, p, regs); if (retval) goto bad_fork_cleanup_io; diff --git a/sched-Break-out-from-load_balancing-on-rq_lock-conte.patch b/sched-Break-out-from-load_balancing-on-rq_lock-conte.patch index 740bd6f..e0df4e3 100644 --- a/sched-Break-out-from-load_balancing-on-rq_lock-conte.patch +++ b/sched-Break-out-from-load_balancing-on-rq_lock-conte.patch @@ -1,4 +1,4 @@ -From 5d2740b70e7f6ad29104aec72956fb6e4d143809 Mon Sep 17 00:00:00 2001 +From 35fd1cf795e3e3a3132a7dc05b54abe86b0b1988 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Tue, 16 Mar 2010 14:31:44 -0700 Subject: [PATCH] sched: Break out from load_balancing on rq_lock contention @@ -9,7 +9,7 @@ Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 1bd521b..8b29177 100644 +index 4c581d4..2770368 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -851,7 +851,11 @@ late_initcall(sched_init_debug); diff --git a/sched-Convert-cgroups-release_list_lock-to-raw_spinl.patch b/sched-Convert-cgroups-release_list_lock-to-raw_spinl.patch index 9e9ee00..2cec9c2 100644 --- a/sched-Convert-cgroups-release_list_lock-to-raw_spinl.patch +++ b/sched-Convert-cgroups-release_list_lock-to-raw_spinl.patch @@ -1,4 +1,4 @@ -From 58814bae5de64d5291b813ea0a52192e4fa714ad Mon Sep 17 00:00:00 2001 +From 55866a0fb283214e77dfdd6c5aab35971172f253 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:47:45 +0200 Subject: [PATCH] sched: Convert cgroups release_list_lock to raw_spinlock @@ -8,10 +8,10 @@ commit 58814bae5de64d5291b813ea0a52192e4fa714ad in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/cgroup.c b/kernel/cgroup.c -index 3737a68..3c04b8b 100644 +index aa3bee5..11a8b34 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c -@@ -188,7 +188,7 @@ list_for_each_entry(_root, &roots, root_list) +@@ -204,7 +204,7 @@ list_for_each_entry(_root, &roots, root_list) /* the list of cgroups eligible for automatic release. Protected by * release_list_lock */ static LIST_HEAD(release_list); @@ -20,7 +20,7 @@ index 3737a68..3c04b8b 100644 static void cgroup_release_agent(struct work_struct *work); static DECLARE_WORK(release_agent_work, cgroup_release_agent); static void check_for_release(struct cgroup *cgrp); -@@ -2733,11 +2733,11 @@ again: +@@ -3153,11 +3153,11 @@ again: finish_wait(&cgroup_rmdir_waitq, &wait); clear_bit(CGRP_WAIT_ON_RMDIR, &cgrp->flags); @@ -34,7 +34,7 @@ index 3737a68..3c04b8b 100644 cgroup_lock_hierarchy(cgrp->root); /* delete this cgroup from parent->children */ -@@ -3273,13 +3273,13 @@ static void check_for_release(struct cgroup *cgrp) +@@ -3693,13 +3693,13 @@ static void check_for_release(struct cgroup *cgrp) * already queued for a userspace notification, queue * it now */ int need_schedule_work = 0; @@ -50,7 +50,7 @@ index 3737a68..3c04b8b 100644 if (need_schedule_work) schedule_work(&release_agent_work); } -@@ -3326,7 +3326,7 @@ static void cgroup_release_agent(struct work_struct *work) +@@ -3749,7 +3749,7 @@ static void cgroup_release_agent(struct work_struct *work) { BUG_ON(work != &release_agent_work); mutex_lock(&cgroup_mutex); @@ -59,7 +59,7 @@ index 3737a68..3c04b8b 100644 while (!list_empty(&release_list)) { char *argv[3], *envp[3]; int i; -@@ -3335,7 +3335,7 @@ static void cgroup_release_agent(struct work_struct *work) +@@ -3758,7 +3758,7 @@ static void cgroup_release_agent(struct work_struct *work) struct cgroup, release_list); list_del_init(&cgrp->release_list); @@ -68,7 +68,7 @@ index 3737a68..3c04b8b 100644 pathbuf = kmalloc(PAGE_SIZE, GFP_KERNEL); if (!pathbuf) goto continue_free; -@@ -3365,9 +3365,9 @@ static void cgroup_release_agent(struct work_struct *work) +@@ -3788,9 +3788,9 @@ static void cgroup_release_agent(struct work_struct *work) continue_free: kfree(pathbuf); kfree(agentbuf); diff --git a/sched-Convert-thread_group_cputimer-lock-to-raw_spin.patch b/sched-Convert-thread_group_cputimer-lock-to-raw_spin.patch index 65b8b26..8535a5f 100644 --- a/sched-Convert-thread_group_cputimer-lock-to-raw_spin.patch +++ b/sched-Convert-thread_group_cputimer-lock-to-raw_spin.patch @@ -1,4 +1,4 @@ -From 76491b7109a568293ae382a1aa860c685f8f39fb Mon Sep 17 00:00:00 2001 +From 752b5f5829aa99b3735dc3403bf7f7bf97c12595 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 18:56:56 +0200 Subject: [PATCH] sched: Convert thread_group_cputimer lock to raw_spinlock @@ -22,7 +22,7 @@ index abec69b..e93b8cd 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index 2846c5f..6ea0d5b 100644 +index 7b9b4b1..c916409 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -561,7 +561,7 @@ struct task_cputime { @@ -34,7 +34,7 @@ index 2846c5f..6ea0d5b 100644 }; /* -@@ -2466,7 +2466,7 @@ void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times); +@@ -2463,7 +2463,7 @@ void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times); static inline void thread_group_cputime_init(struct signal_struct *sig) { sig->cputimer.cputime = INIT_CPUTIME; diff --git a/sched-Debug-missed-preemption-checks.patch b/sched-Debug-missed-preemption-checks.patch index 1a1f020..78064ac 100644 --- a/sched-Debug-missed-preemption-checks.patch +++ b/sched-Debug-missed-preemption-checks.patch @@ -1,4 +1,4 @@ -From 613d088a118020b1fe16db1fd9d1383110910385 Mon Sep 17 00:00:00 2001 +From 9af4a9aa9787a44ac3bbd8df0b5ae047b757e3dc Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 10:22:02 +0200 Subject: [PATCH] sched: Debug missed preemption checks @@ -72,22 +72,20 @@ index 2e681d9..5c7dba8 100644 #define preempt_check_resched() do { } while (0) diff --git a/include/linux/spinlock_api_up.h b/include/linux/spinlock_api_up.h -index af1f472..8d74068 100644 +index af1f472..d05112d 100644 --- a/include/linux/spinlock_api_up.h +++ b/include/linux/spinlock_api_up.h -@@ -40,8 +40,8 @@ +@@ -40,7 +40,7 @@ do { preempt_enable(); __release(lock); (void)(lock); } while (0) #define __UNLOCK_BH(lock) \ - do { preempt_enable_no_resched(); local_bh_enable(); \ -- __release(lock); (void)(lock); } while (0) + do { __preempt_enable_no_resched(); local_bh_enable(); \ -+ __release(lock); (void)(lock); } while (0) + __release(lock); (void)(lock); } while (0) #define __UNLOCK_IRQ(lock) \ - do { local_irq_enable(); __UNLOCK(lock); } while (0) diff --git a/init/main.c b/init/main.c -index 512ba15..2a75d39 100644 +index 4cb47a1..edabbff 100644 --- a/init/main.c +++ b/init/main.c @@ -424,8 +424,7 @@ static noinline void __init_refok rest_init(void) @@ -115,10 +113,10 @@ index 632f04c..90ed15f 100644 spin_lock_mutex(&lock->wait_lock, flags); } diff --git a/kernel/sched.c b/kernel/sched.c -index 0f0d1e7..14caca9 100644 +index d6b9704..07bc2d2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5348,6 +5348,19 @@ notrace unsigned long get_parent_ip(unsigned long addr) +@@ -5327,6 +5327,19 @@ notrace unsigned long get_parent_ip(unsigned long addr) return addr; } @@ -138,7 +136,7 @@ index 0f0d1e7..14caca9 100644 #if defined(CONFIG_PREEMPT) && (defined(CONFIG_DEBUG_PREEMPT) || \ defined(CONFIG_PREEMPT_TRACER)) -@@ -5568,7 +5581,7 @@ need_resched_nonpreemptible: +@@ -5547,7 +5560,7 @@ need_resched_nonpreemptible: goto need_resched_nonpreemptible; } @@ -147,7 +145,7 @@ index 0f0d1e7..14caca9 100644 if (need_resched()) goto need_resched; } -@@ -6757,9 +6770,8 @@ SYSCALL_DEFINE0(sched_yield) +@@ -6730,9 +6743,8 @@ 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/sched-Extend-activate_task-to-allow-queueing-to-the-.patch b/sched-Extend-activate_task-to-allow-queueing-to-the-.patch index ed058a8..b09db23 100644 --- a/sched-Extend-activate_task-to-allow-queueing-to-the-.patch +++ b/sched-Extend-activate_task-to-allow-queueing-to-the-.patch @@ -1,4 +1,4 @@ -From babe95bad86cba3843cb53d1cee8ac39c491a64a Mon Sep 17 00:00:00 2001 +From 749dea12b52f9f2ebd6dfec274f180c5f5db5660 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 21 Feb 2010 19:23:36 +0100 Subject: [PATCH] sched: Extend activate_task to allow queueing to the head of a list @@ -13,7 +13,7 @@ Extend activate_task with a "head" argument and fix up all callers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 8262cf2..1803667 100644 +index 61d3280..a94db59 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -1479,7 +1479,8 @@ static const u32 prio_to_wmult[40] = { @@ -69,7 +69,7 @@ index 8262cf2..1803667 100644 check_preempt_curr(this_rq, p, 0); } -@@ -6712,7 +6714,7 @@ recheck: +@@ -6699,7 +6701,7 @@ recheck: if (running) p->sched_class->set_curr_task(rq); if (on_rq) { @@ -78,7 +78,7 @@ index 8262cf2..1803667 100644 check_class_changed(rq, p, prev_class, oldprio, running); } -@@ -7625,7 +7627,7 @@ static int __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) +@@ -7612,7 +7614,7 @@ static int __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) if (p->se.on_rq) { deactivate_task(rq_src, p, 0); set_task_cpu(p, dest_cpu); @@ -87,7 +87,7 @@ index 8262cf2..1803667 100644 check_preempt_curr(rq_dest, p, 0); } done: -@@ -7793,7 +7795,7 @@ void sched_idle_next(void) +@@ -7780,7 +7782,7 @@ void sched_idle_next(void) __setscheduler(rq, p, SCHED_FIFO, MAX_RT_PRIO-1); update_rq_clock(rq); @@ -96,7 +96,7 @@ index 8262cf2..1803667 100644 raw_spin_unlock_irqrestore(&rq->lock, flags); } -@@ -10147,7 +10149,7 @@ static void normalize_task(struct rq *rq, struct task_struct *p) +@@ -10134,7 +10136,7 @@ static void normalize_task(struct rq *rq, struct task_struct *p) deactivate_task(rq, p, 0); __setscheduler(rq, p, SCHED_NORMAL, 0); if (on_rq) { diff --git a/sched-Extend-enqueue_task-to-allow-head-queueing.patch b/sched-Extend-enqueue_task-to-allow-head-queueing.patch index 48a85a0..0272143 100644 --- a/sched-Extend-enqueue_task-to-allow-head-queueing.patch +++ b/sched-Extend-enqueue_task-to-allow-head-queueing.patch @@ -1,4 +1,4 @@ -From 6640be50e8a2f9bd526beddafd23b49406a4af07 Mon Sep 17 00:00:00 2001 +From a5a6cc908a1f980fe8325d27d25630be2a595aea Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 19 Jan 2010 16:09:11 +0100 Subject: [PATCH] sched: Extend enqueue_task to allow head queueing @@ -13,10 +13,10 @@ Extend the related functions with a "head" argument. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 57cf766..64cf01a 100644 +index 98b705f..77166d7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1119,7 +1119,8 @@ struct sched_domain; +@@ -1116,7 +1116,8 @@ struct sched_domain; struct sched_class { const struct sched_class *next; @@ -27,7 +27,7 @@ index 57cf766..64cf01a 100644 void (*yield_task) (struct rq *rq); diff --git a/kernel/sched.c b/kernel/sched.c -index ba0ee0d..8da004b 100644 +index 29349e0..89829aa 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -1972,13 +1972,14 @@ static void update_avg(u64 *avg, u64 sample) @@ -56,7 +56,7 @@ index ba0ee0d..8da004b 100644 inc_nr_running(rq); } -@@ -6389,7 +6390,7 @@ void task_setprio(struct task_struct *p, int prio) +@@ -6377,7 +6378,7 @@ void task_setprio(struct task_struct *p, int prio) if (running) p->sched_class->set_curr_task(rq); if (on_rq) { @@ -65,7 +65,7 @@ index ba0ee0d..8da004b 100644 check_class_changed(rq, p, prev_class, oldprio, running); } -@@ -6433,7 +6434,7 @@ void set_user_nice(struct task_struct *p, long nice) +@@ -6421,7 +6422,7 @@ void set_user_nice(struct task_struct *p, long nice) delta = p->prio - old_prio; if (on_rq) { @@ -74,7 +74,7 @@ index ba0ee0d..8da004b 100644 /* * If the task increased its priority or is running and * lowered its priority, then reschedule its CPU: -@@ -10522,7 +10523,7 @@ void sched_move_task(struct task_struct *tsk) +@@ -10509,7 +10510,7 @@ void sched_move_task(struct task_struct *tsk) if (unlikely(running)) tsk->sched_class->set_curr_task(rq); if (on_rq) diff --git a/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch b/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch index 7a4a1a1..482fd11 100644 --- a/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch +++ b/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch @@ -1,4 +1,4 @@ -From d69f558692723b34ced07d07f092db7a8f78cae9 Mon Sep 17 00:00:00 2001 +From f406c449254cedddfdd649bc292231627584c7b1 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Tue, 20 Jul 2010 19:11:55 +0200 Subject: [PATCH] sched: Fix TASK_WAKING vs fork deadlock @@ -31,10 +31,10 @@ LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 32c3f6c..82d06e3 100644 +index 01d8b97..b4f912f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1170,7 +1170,8 @@ struct sched_class { +@@ -1165,7 +1165,8 @@ struct sched_class { void (*put_prev_task) (struct rq *rq, struct task_struct *p); #ifdef CONFIG_SMP @@ -45,7 +45,7 @@ index 32c3f6c..82d06e3 100644 unsigned long (*load_balance) (struct rq *this_rq, int this_cpu, struct rq *busiest, unsigned long max_load_move, diff --git a/kernel/sched.c b/kernel/sched.c -index 49d4827..bbc181f 100644 +index c36457d..f03f1d2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -1020,14 +1020,10 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) diff --git a/sched-Fix-in_softirq-changes-fallout.patch b/sched-Fix-in_softirq-changes-fallout.patch index 0713e53..807c745 100644 --- a/sched-Fix-in_softirq-changes-fallout.patch +++ b/sched-Fix-in_softirq-changes-fallout.patch @@ -1,4 +1,4 @@ -From 534714781c652a7113b6c90479a781a6b510279e Mon Sep 17 00:00:00 2001 +From 6c6e1ac322662bcc2b3810ec6c05af3f398d41af Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 23 Feb 2010 18:52:51 +0100 Subject: [PATCH] sched: Fix in_softirq() changes fallout @@ -11,10 +11,10 @@ triggers now. Shut it up. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 32d7eb4..aaa9918 100644 +index 2c3d872..2119115 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7155,7 +7155,7 @@ EXPORT_SYMBOL(__cond_resched_softirq); +@@ -7142,7 +7142,7 @@ EXPORT_SYMBOL(__cond_resched_softirq); */ int __sched cond_resched_softirq_context(void) { diff --git a/sched-Fix-spurious-load-spikes.patch b/sched-Fix-spurious-load-spikes.patch index f575359..4a3eee7 100644 --- a/sched-Fix-spurious-load-spikes.patch +++ b/sched-Fix-spurious-load-spikes.patch @@ -1,4 +1,4 @@ -From b97d674747b5499e4942d0297fb2a90757c4f519 Mon Sep 17 00:00:00 2001 +From d9087cc52a280af77fbc52a3f9581c56dca9a8e6 Mon Sep 17 00:00:00 2001 From: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Date: Fri, 3 Jul 2009 08:44:09 -0500 Subject: [PATCH] sched: Fix spurious load spikes @@ -15,10 +15,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index af33677..0293dd5 100644 +index 0ebeac1..adc845c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -3115,6 +3115,13 @@ unsigned long nr_iowait(void) +@@ -3153,6 +3153,13 @@ unsigned long nr_iowait(void) for_each_possible_cpu(i) sum += atomic_read(&cpu_rq(i)->nr_iowait); diff --git a/sched-Fix-spurious-system-load-spikes-in-proc-loadav.patch b/sched-Fix-spurious-system-load-spikes-in-proc-loadav.patch index 29599ad..f6062ea 100644 --- a/sched-Fix-spurious-system-load-spikes-in-proc-loadav.patch +++ b/sched-Fix-spurious-system-load-spikes-in-proc-loadav.patch @@ -1,4 +1,4 @@ -From 6c24cddbab29f64c31256444d083328936e9be18 Mon Sep 17 00:00:00 2001 +From acc955917ca0e374669aa52405e159cc6f7f2610 Mon Sep 17 00:00:00 2001 From: Luis Claudio R. Goncalves <lclaudio@uudg.org> Date: Fri, 3 Jul 2009 08:30:21 -0500 Subject: [PATCH] sched: Fix spurious system load spikes in /proc/loadavgrt @@ -48,10 +48,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 5d6bb32..adcbc68 100644 +index 1497e35..40ca364 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -894,6 +894,13 @@ unsigned long rt_nr_uninterruptible(void) +@@ -909,6 +909,13 @@ unsigned long rt_nr_uninterruptible(void) for_each_online_cpu(i) sum += cpu_rq(i)->rt.rt_nr_uninterruptible; diff --git a/sched-Fix-taskstates-in-sched_switch-and-proc.patch b/sched-Fix-taskstates-in-sched_switch-and-proc.patch index d4d309b..f0e105e 100644 --- a/sched-Fix-taskstates-in-sched_switch-and-proc.patch +++ b/sched-Fix-taskstates-in-sched_switch-and-proc.patch @@ -1,4 +1,4 @@ -From a8499c74138ad1711bf7f8d17b845486330ef791 Mon Sep 17 00:00:00 2001 +From baf11f6734078890a646a7b62f73f805ede5bf69 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Wed, 24 Feb 2010 09:51:14 +0100 Subject: [PATCH] sched: Fix taskstates in sched_switch and proc @@ -21,10 +21,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/fs/proc/array.c b/fs/proc/array.c -index 2716a2b..43688e5 100644 +index 382f0ff..768d3e2 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c -@@ -128,22 +128,23 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) +@@ -129,22 +129,23 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) /* * The task state array is a strange "bitmap" of @@ -62,10 +62,10 @@ index 2716a2b..43688e5 100644 static inline const char *get_task_state(struct task_struct *tsk) diff --git a/include/linux/sched.h b/include/linux/sched.h -index db296e6..ae46cff 100644 +index 77166d7..18ae27a 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -190,7 +190,9 @@ extern struct semaphore kernel_sem; +@@ -191,7 +191,9 @@ extern struct mutex kernel_sem; /* * Task state bitmask. NOTE! These bits are also @@ -76,7 +76,7 @@ index db296e6..ae46cff 100644 * * We have two separate sets of flags: task->state * is about runnability, while task->exit_state are -@@ -199,21 +201,57 @@ extern struct semaphore kernel_sem; +@@ -200,21 +202,57 @@ extern struct mutex kernel_sem; * mistake. */ #define TASK_RUNNING 0 diff --git a/sched-Fix-wake_affine-vs-RT-tasks.patch b/sched-Fix-wake_affine-vs-RT-tasks.patch index 02266d6..9010d5a 100644 --- a/sched-Fix-wake_affine-vs-RT-tasks.patch +++ b/sched-Fix-wake_affine-vs-RT-tasks.patch @@ -1,4 +1,4 @@ -From cc4a826a21dae60fd2c1f03beeb576280a5808ec Mon Sep 17 00:00:00 2001 +From bb070df0507c61d198e90a3fa319c9c57e405845 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Mon, 31 May 2010 12:37:30 +0200 Subject: [PATCH] sched: Fix wake_affine() vs RT tasks @@ -21,7 +21,7 @@ LKML-Reference: <1275316109.27810.22969.camel@twins> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 21c1cf2..aa5dced 100644 +index 2770368..3ff3bf2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -598,6 +598,8 @@ struct rq { @@ -70,7 +70,7 @@ index 21c1cf2..aa5dced 100644 return; } -@@ -3903,6 +3890,7 @@ static void update_cpu_power(struct sched_domain *sd, int cpu) +@@ -3902,6 +3889,7 @@ static void update_cpu_power(struct sched_domain *sd, int cpu) if (!power) power = 1; @@ -78,7 +78,7 @@ index 21c1cf2..aa5dced 100644 sdg->cpu_power = power; } -@@ -10071,6 +10059,7 @@ void __init sched_init(void) +@@ -10044,6 +10032,7 @@ void __init sched_init(void) #ifdef CONFIG_SMP rq->sd = NULL; rq->rd = NULL; diff --git a/sched-Hack-to-make-prio-ceiling-posix-compliant.patch b/sched-Hack-to-make-prio-ceiling-posix-compliant.patch index 02b5086..65b7762 100644 --- a/sched-Hack-to-make-prio-ceiling-posix-compliant.patch +++ b/sched-Hack-to-make-prio-ceiling-posix-compliant.patch @@ -1,4 +1,4 @@ -From 28bbb2398ebbeac1d4c1fd109938441842c8f89e Mon Sep 17 00:00:00 2001 +From ad02531b3d8d76144bdc5c13525da103981487e3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 21 Jan 2010 00:00:32 +0100 Subject: [PATCH] sched: Hack to make prio ceiling posix compliant @@ -46,10 +46,10 @@ Reported-by: Carsten Emde <cbe@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 1803667..32d7eb4 100644 +index a94db59..2c3d872 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6714,7 +6714,25 @@ recheck: +@@ -6701,7 +6701,25 @@ recheck: if (running) p->sched_class->set_curr_task(rq); if (on_rq) { diff --git a/sched-Kill-the-broken-and-deadlockable-cpuset_lock-c.patch b/sched-Kill-the-broken-and-deadlockable-cpuset_lock-c.patch index 831a92b..86731ea 100644 --- a/sched-Kill-the-broken-and-deadlockable-cpuset_lock-c.patch +++ b/sched-Kill-the-broken-and-deadlockable-cpuset_lock-c.patch @@ -1,4 +1,4 @@ -From a1e0f4a378e0d6d2f03c59c9699bb7746938c520 Mon Sep 17 00:00:00 2001 +From 68cb443d2a1b374b6b6e340f8043f35f646a0b36 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Mon, 15 Mar 2010 10:10:03 +0100 Subject: [PATCH] sched: Kill the broken and deadlockable cpuset_lock/cpuset_cpus_allowed_locked code @@ -83,10 +83,10 @@ index a5740fc..eeaaee7 100644 { return 0; diff --git a/kernel/cpuset.c b/kernel/cpuset.c -index 5d38bd7..55385b3 100644 +index ba401fa..4eb24cf 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c -@@ -2144,19 +2144,10 @@ void __init cpuset_init_smp(void) +@@ -2140,19 +2140,10 @@ void __init cpuset_init_smp(void) void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) { mutex_lock(&callback_mutex); @@ -107,7 +107,7 @@ index 5d38bd7..55385b3 100644 } void cpuset_init_current_mems_allowed(void) -@@ -2345,22 +2336,6 @@ int __cpuset_node_allowed_hardwall(int node, gfp_t gfp_mask) +@@ -2341,22 +2332,6 @@ int __cpuset_node_allowed_hardwall(int node, gfp_t gfp_mask) } /** @@ -131,7 +131,7 @@ index 5d38bd7..55385b3 100644 * * Undo the lock taken in a previous cpuset_lock() call. diff --git a/kernel/sched.c b/kernel/sched.c -index 4f2cc91..d7f6876 100644 +index 1319f8e..63ec635 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2395,11 +2395,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) @@ -149,7 +149,7 @@ index 4f2cc91..d7f6876 100644 /* * Don't tell them about moving exiting tasks or -@@ -8163,7 +8161,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) +@@ -8136,7 +8134,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) case CPU_DEAD: case CPU_DEAD_FROZEN: @@ -157,7 +157,7 @@ index 4f2cc91..d7f6876 100644 migrate_live_tasks(cpu); rq = cpu_rq(cpu); kthread_stop(rq->migration_thread); -@@ -8177,7 +8174,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) +@@ -8150,7 +8147,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) rq->idle->sched_class = &idle_sched_class; migrate_dead_tasks(cpu); raw_spin_unlock_irq(&rq->lock); diff --git a/sched-Make-select_fallback_rq-cpuset-friendly.patch b/sched-Make-select_fallback_rq-cpuset-friendly.patch index f97cfdb..b63bb9c 100644 --- a/sched-Make-select_fallback_rq-cpuset-friendly.patch +++ b/sched-Make-select_fallback_rq-cpuset-friendly.patch @@ -1,4 +1,4 @@ -From 111abc89fbfb6b34de96d95bf90bcfdfcfac901d Mon Sep 17 00:00:00 2001 +From 9b66ef88fabba97473f4925cb1e18546c4ac8531 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Mon, 15 Mar 2010 10:10:27 +0100 Subject: [PATCH] sched: Make select_fallback_rq() cpuset friendly @@ -51,10 +51,10 @@ index eeaaee7..a73454a 100644 { return node_possible_map; diff --git a/kernel/cpuset.c b/kernel/cpuset.c -index 55385b3..4042797 100644 +index 4eb24cf..4a7676c 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c -@@ -2150,6 +2150,48 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) +@@ -2146,6 +2146,48 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) mutex_unlock(&callback_mutex); } @@ -104,7 +104,7 @@ index 55385b3..4042797 100644 { nodes_setall(current->mems_allowed); diff --git a/kernel/sched.c b/kernel/sched.c -index 7855619..49d4827 100644 +index c38298d..c36457d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2399,9 +2399,7 @@ static int select_fallback_rq(int cpu, struct task_struct *p) diff --git a/sched-Prevent-boosting-of-idle-task-on-rt.patch b/sched-Prevent-boosting-of-idle-task-on-rt.patch index 5c20fbd..c5003de 100644 --- a/sched-Prevent-boosting-of-idle-task-on-rt.patch +++ b/sched-Prevent-boosting-of-idle-task-on-rt.patch @@ -1,4 +1,4 @@ -From 4ee888c3c41c562c6d575011cc4696bcddc2f956 Mon Sep 17 00:00:00 2001 +From efbbf2f27cdbe06e184d352044469f94452b6001 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:30:06 -0500 Subject: [PATCH] sched: Prevent boosting of idle task on -rt @@ -19,10 +19,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/kernel/sched.c b/kernel/sched.c -index 3a5ad1b..afa9715 100644 +index e96ac22..49feb1f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6117,6 +6117,25 @@ void task_setprio(struct task_struct *p, int prio) +@@ -6297,6 +6297,25 @@ void task_setprio(struct task_struct *p, int prio) BUG_ON(prio < 0 || prio > MAX_PRIO); rq = task_rq_lock(p, &flags); @@ -48,7 +48,7 @@ index 3a5ad1b..afa9715 100644 update_rq_clock(rq); oldprio = p->prio; -@@ -6144,6 +6163,7 @@ void task_setprio(struct task_struct *p, int prio) +@@ -6324,6 +6343,7 @@ void task_setprio(struct task_struct *p, int prio) check_class_changed(rq, p, prev_class, oldprio, running); } diff --git a/sched-Queue-a-deboosted-task-to-the-head-of-the-RT-p.patch b/sched-Queue-a-deboosted-task-to-the-head-of-the-RT-p.patch index 751a6b6..bfe8786 100644 --- a/sched-Queue-a-deboosted-task-to-the-head-of-the-RT-p.patch +++ b/sched-Queue-a-deboosted-task-to-the-head-of-the-RT-p.patch @@ -1,4 +1,4 @@ -From 68dd8120041d9120aa8734894c940a25eacf5c9c Mon Sep 17 00:00:00 2001 +From 9fc994dc21fa89a1627aa552013e17782832ceff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 19 Jan 2010 16:53:49 +0100 Subject: [PATCH] sched: Queue a deboosted task to the head of the RT priority queue @@ -30,10 +30,10 @@ Reported-by: Carsten Emde <cbe@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 8da004b..8262cf2 100644 +index 89829aa..61d3280 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6390,7 +6390,7 @@ void task_setprio(struct task_struct *p, int prio) +@@ -6378,7 +6378,7 @@ void task_setprio(struct task_struct *p, int prio) if (running) p->sched_class->set_curr_task(rq); if (on_rq) { diff --git a/sched-Rename-rt_mutex_setprio-to-task_setprio.patch b/sched-Rename-rt_mutex_setprio-to-task_setprio.patch index c78416a..f5652b4 100644 --- a/sched-Rename-rt_mutex_setprio-to-task_setprio.patch +++ b/sched-Rename-rt_mutex_setprio-to-task_setprio.patch @@ -1,4 +1,4 @@ -From 6e17f3fcca399785c4850fce0b5000a9cf1a9157 Mon Sep 17 00:00:00 2001 +From 22b76e0634406da3306f2529c6b1f3e2c468b8a4 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri, 3 Jul 2009 08:29:20 -0500 Subject: [PATCH] sched: Rename rt_mutex_setprio to task_setprio @@ -12,10 +12,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 16a982e..81681dd 100644 +index 78efe7c..7d22297 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1842,9 +1842,14 @@ int sched_rt_handler(struct ctl_table *table, int write, +@@ -1965,9 +1965,14 @@ int sched_rt_handler(struct ctl_table *table, int write, extern unsigned int sysctl_sched_compat_yield; @@ -32,10 +32,10 @@ index 16a982e..81681dd 100644 #else static inline int rt_mutex_getprio(struct task_struct *p) diff --git a/kernel/sched.c b/kernel/sched.c -index 98972d3..5688a79 100644 +index 3a8fb30..d6b9704 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5869,19 +5869,19 @@ long __sched sleep_on_timeout(wait_queue_head_t *q, long timeout) +@@ -6037,19 +6037,19 @@ long __sched sleep_on_timeout(wait_queue_head_t *q, long timeout) } EXPORT_SYMBOL(sleep_on_timeout); @@ -60,7 +60,7 @@ index 98972d3..5688a79 100644 { unsigned long flags; int oldprio, on_rq, running; -@@ -5918,8 +5918,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio) +@@ -6086,8 +6086,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio) task_rq_unlock(rq, &flags); } diff --git a/sched-_cpu_down-Don-t-play-with-current-cpus_allowed.patch b/sched-_cpu_down-Don-t-play-with-current-cpus_allowed.patch index 768234c..59c9b60 100644 --- a/sched-_cpu_down-Don-t-play-with-current-cpus_allowed.patch +++ b/sched-_cpu_down-Don-t-play-with-current-cpus_allowed.patch @@ -1,4 +1,4 @@ -From bb8eef78087fd2f10bcfca68f794640f7d37592c Mon Sep 17 00:00:00 2001 +From 4975da0b15e3f087b00c8b2e8a15b95161c3cb90 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Mon, 15 Mar 2010 10:10:23 +0100 Subject: [PATCH] sched: _cpu_down(): Don't play with current->cpus_allowed @@ -24,10 +24,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 21947b5..32c3f6c 100644 +index 18ae27a..01d8b97 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2036,6 +2036,7 @@ extern void sched_clock_idle_sleep_event(void); +@@ -2032,6 +2032,7 @@ extern void sched_clock_idle_sleep_event(void); extern void sched_clock_idle_wakeup_event(u64 delta_ns); #ifdef CONFIG_HOTPLUG_CPU @@ -124,10 +124,10 @@ index 677f253..48b916e 100644 } diff --git a/kernel/sched.c b/kernel/sched.c -index d7a19ef..7855619 100644 +index adad328..c38298d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7733,7 +7733,7 @@ static int migration_thread(void *data) +@@ -7706,7 +7706,7 @@ static int migration_thread(void *data) /* * Figure out where task on dead CPU should go, use force if necessary. */ diff --git a/sched-dont-add-rcu_preempt_depth-to-preempt_count-on.patch b/sched-dont-add-rcu_preempt_depth-to-preempt_count-on.patch index cc333cb..32692ed 100644 --- a/sched-dont-add-rcu_preempt_depth-to-preempt_count-on.patch +++ b/sched-dont-add-rcu_preempt_depth-to-preempt_count-on.patch @@ -1,4 +1,4 @@ -From 9ee24f263947835fca937c455e2e5205492384f2 Mon Sep 17 00:00:00 2001 +From 9b96462de6efcdbbc7fb0c14c41444093de1c8ff Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 17:13:14 -0500 Subject: [PATCH] sched: dont add rcu_preempt_depth to preempt_count on RT @@ -30,10 +30,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/sched.c b/kernel/sched.c -index 2916d64..cfa97a2 100644 +index 50e6608..a4c9f95 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -10113,7 +10113,11 @@ void __init sched_init(void) +@@ -10083,7 +10083,11 @@ void __init sched_init(void) #if defined(CONFIG_DEBUG_SPINLOCK_SLEEP) || defined(CONFIG_DEBUG_PREEMPT) static inline int preempt_count_equals(int preempt_offset) { diff --git a/sched-dump-preempt_count-and-offset-values-in-__migh.patch b/sched-dump-preempt_count-and-offset-values-in-__migh.patch index 689e1bc..0b413a4 100644 --- a/sched-dump-preempt_count-and-offset-values-in-__migh.patch +++ b/sched-dump-preempt_count-and-offset-values-in-__migh.patch @@ -1,4 +1,4 @@ -From 39e2db2b587ec023595b71bf279e6652ef6f25c7 Mon Sep 17 00:00:00 2001 +From 85caba618f2b4b4d9bbafed11dc4c78c24c87222 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 17:13:14 -0500 Subject: [PATCH] sched: dump preempt_count and offset values in __might_sleep() @@ -30,10 +30,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/sched.c b/kernel/sched.c -index d5bdb2e..78668a7 100644 +index a4c9f95..29349e0 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -10151,7 +10151,8 @@ void __might_sleep(char *file, int line, int preempt_offset) +@@ -10108,7 +10108,8 @@ void __might_sleep(char *file, int line, int preempt_offset) "BUG: sleeping function called from invalid context at %s:%d\n", file, line); printk(KERN_ERR diff --git a/sched-enable-irqs-in-fire_sched_in_preempt_notifier.patch b/sched-enable-irqs-in-fire_sched_in_preempt_notifier.patch index 85e525d..b99c81e 100644 --- a/sched-enable-irqs-in-fire_sched_in_preempt_notifier.patch +++ b/sched-enable-irqs-in-fire_sched_in_preempt_notifier.patch @@ -1,4 +1,4 @@ -From 54afe8908e5645ae6d5d8a8a3ea0b7e81076d2d5 Mon Sep 17 00:00:00 2001 +From fbc1b32eba3097d88dbd7b4dbd558e4d5b510652 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 13:16:25 -0500 Subject: [PATCH] sched: enable irqs in fire_sched_in_preempt_notifier @@ -12,10 +12,10 @@ way as mainline. Signed-off-by: Thomas Gleixner <tgxl@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index f2a467c..ebb9180 100644 +index 9d1c4cf..2e9167b 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2852,8 +2852,17 @@ static void fire_sched_in_preempt_notifiers(struct task_struct *curr) +@@ -2853,8 +2853,17 @@ static void fire_sched_in_preempt_notifiers(struct task_struct *curr) struct preempt_notifier *notifier; struct hlist_node *node; diff --git a/sched-fix-dequeued-race.patch b/sched-fix-dequeued-race.patch index 182b744..8044cf8 100644 --- a/sched-fix-dequeued-race.patch +++ b/sched-fix-dequeued-race.patch @@ -1,4 +1,4 @@ -From 969a241f10b1b6ddaa2c46487253e829af5348af Mon Sep 17 00:00:00 2001 +From 0ab0f46f4380b65dd8732249b5b237fb1c36272f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:26 -0500 Subject: [PATCH] sched:-fix dequeued race @@ -10,10 +10,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/sched.c b/kernel/sched.c -index 433df12..8338b72 100644 +index 2e9167b..0ebeac1 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5490,7 +5490,8 @@ void scheduler_tick(void) +@@ -5485,7 +5485,8 @@ void scheduler_tick(void) raw_spin_lock(&rq->lock); update_rq_clock(rq); update_cpu_load(rq); diff --git a/sched-fix-rt-stats-output.patch b/sched-fix-rt-stats-output.patch index 9d1c0f8..2a4ba5c 100644 --- a/sched-fix-rt-stats-output.patch +++ b/sched-fix-rt-stats-output.patch @@ -1,4 +1,4 @@ -From 59f677c0026eb02599c06709ef71023d9334c747 Mon Sep 17 00:00:00 2001 +From ff4ccb3ffa372d9cbbd40bd55188ddc3f06f5168 Mon Sep 17 00:00:00 2001 From: Ankita Garg <ankita@in.ibm.com> Date: Fri, 3 Jul 2009 08:44:06 -0500 Subject: [PATCH] sched: fix rt stats output @@ -17,7 +17,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 13 insertions(+) diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c -index 899d71f..97216fb 100644 +index 67f95aa..966e925 100644 --- a/kernel/sched_debug.c +++ b/kernel/sched_debug.c @@ -280,6 +280,19 @@ static void print_cpu(struct seq_file *m, int cpu) diff --git a/sched-implement-wake-functions-for-the-priority-boos.patch b/sched-implement-wake-functions-for-the-priority-boos.patch index 46033b1..612852e 100644 --- a/sched-implement-wake-functions-for-the-priority-boos.patch +++ b/sched-implement-wake-functions-for-the-priority-boos.patch @@ -1,4 +1,4 @@ -From 320b2bf2a50abe80ef28ba04fb7e259e0e5e56b4 Mon Sep 17 00:00:00 2001 +From 81f81b2d16edd6716fbc21d7feff5d848ed2a5ab Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 18:51:45 +0200 Subject: [PATCH] sched: implement wake functions for the priority boosting code @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 50a53c1..18cf211 100644 +index dea1e05..9dd2ede 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2095,6 +2095,9 @@ extern void do_timer(unsigned long ticks); +@@ -2093,6 +2093,9 @@ extern void do_timer(unsigned long ticks); extern int wake_up_state(struct task_struct *tsk, unsigned int state); extern int wake_up_process(struct task_struct *tsk); @@ -23,7 +23,7 @@ index 50a53c1..18cf211 100644 unsigned long clone_flags); #ifdef CONFIG_SMP diff --git a/kernel/sched.c b/kernel/sched.c -index 81b241b..434e18b 100644 +index 05bafd4..a5ffe46 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2367,8 +2367,9 @@ int select_task_rq(struct task_struct *p, int sd_flags, int wake_flags) @@ -84,7 +84,7 @@ index 81b241b..434e18b 100644 } /* -@@ -5540,7 +5562,8 @@ need_resched_nonpreemptible: +@@ -5520,7 +5542,8 @@ need_resched_nonpreemptible: update_rq_clock(rq); clear_tsk_need_resched(prev); @@ -94,7 +94,7 @@ index 81b241b..434e18b 100644 if (unlikely(signal_pending_state(prev->state, prev))) prev->state = TASK_RUNNING; else -@@ -5741,7 +5764,8 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -5721,7 +5744,8 @@ asmlinkage void __sched preempt_schedule_irq(void) int default_wake_function(wait_queue_t *curr, unsigned mode, int wake_flags, void *key) { @@ -104,7 +104,7 @@ index 81b241b..434e18b 100644 } EXPORT_SYMBOL(default_wake_function); -@@ -5784,7 +5808,7 @@ void __wake_up(wait_queue_head_t *q, unsigned int mode, +@@ -5764,7 +5788,7 @@ void __wake_up(wait_queue_head_t *q, unsigned int mode, unsigned long flags; spin_lock_irqsave(&q->lock, flags); @@ -113,7 +113,7 @@ index 81b241b..434e18b 100644 spin_unlock_irqrestore(&q->lock, flags); } EXPORT_SYMBOL(__wake_up); -@@ -5864,7 +5888,7 @@ void complete(struct completion *x) +@@ -5844,7 +5868,7 @@ void complete(struct completion *x) spin_lock_irqsave(&x->wait.lock, flags); x->done++; @@ -122,7 +122,7 @@ index 81b241b..434e18b 100644 spin_unlock_irqrestore(&x->wait.lock, flags); } EXPORT_SYMBOL(complete); -@@ -5884,7 +5908,7 @@ void complete_all(struct completion *x) +@@ -5864,7 +5888,7 @@ void complete_all(struct completion *x) spin_lock_irqsave(&x->wait.lock, flags); x->done += UINT_MAX/2; @@ -131,7 +131,7 @@ index 81b241b..434e18b 100644 spin_unlock_irqrestore(&x->wait.lock, flags); } EXPORT_SYMBOL(complete_all); -@@ -7199,7 +7223,7 @@ static inline void sched_init_granularity(void) +@@ -7173,7 +7197,7 @@ static inline void sched_init_granularity(void) update_sysctl(); } diff --git a/sched-make-task-oncpu-available-in-all-configuration.patch b/sched-make-task-oncpu-available-in-all-configuration.patch index 018d474..046089d 100644 --- a/sched-make-task-oncpu-available-in-all-configuration.patch +++ b/sched-make-task-oncpu-available-in-all-configuration.patch @@ -1,4 +1,4 @@ -From a7d1cac5f84f37712e9be86602520c0856eb3383 Mon Sep 17 00:00:00 2001 +From 89f3f6e92b72f07991b7f1e716ea3f97ccd5b2ba Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:21 -0500 Subject: [PATCH] sched: make task->oncpu available in all configurations @@ -16,10 +16,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 9ad3505..bff04a4 100644 +index f342f61..f743779 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1290,10 +1290,8 @@ struct task_struct { +@@ -1287,10 +1287,8 @@ struct task_struct { int lock_depth; /* BKL lock depth */ #ifdef CONFIG_SMP @@ -30,7 +30,7 @@ index 9ad3505..bff04a4 100644 int prio, static_prio, normal_prio; unsigned int rt_priority; -@@ -2086,6 +2084,13 @@ extern void set_curr_task(int cpu, struct task_struct *p); +@@ -2084,6 +2082,13 @@ extern void set_curr_task(int cpu, struct task_struct *p); void yield(void); void __yield(void); @@ -44,7 +44,7 @@ index 9ad3505..bff04a4 100644 /* * The default (Linux) execution domain. */ -@@ -2744,8 +2749,6 @@ static inline unsigned long rlimit_max(unsigned int limit) +@@ -2742,8 +2747,6 @@ static inline unsigned long rlimit_max(unsigned int limit) return task_rlimit_max(current, limit); } @@ -54,7 +54,7 @@ index 9ad3505..bff04a4 100644 #endif diff --git a/kernel/sched.c b/kernel/sched.c -index 3e77d63..c150691 100644 +index c486ea2..9d1c4cf 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -697,10 +697,12 @@ inline void update_rq_clock(struct rq *rq) @@ -135,7 +135,7 @@ index 3e77d63..c150691 100644 p->oncpu = 0; #endif #ifdef CONFIG_PREEMPT -@@ -7407,7 +7422,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) +@@ -7380,7 +7395,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) __set_task_cpu(idle, cpu); rq->curr = rq->idle = idle; diff --git a/sched-mmdrop-needs-to-be-delayed-on-rt.patch b/sched-mmdrop-needs-to-be-delayed-on-rt.patch index f7d1780..7247499 100644 --- a/sched-mmdrop-needs-to-be-delayed-on-rt.patch +++ b/sched-mmdrop-needs-to-be-delayed-on-rt.patch @@ -1,4 +1,4 @@ -From 3d0d16d7ad6d9a2a38783c648341185a1e816f25 Mon Sep 17 00:00:00 2001 +From 5035536761d8462d69dc7aed51fb54e5d8a875c5 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:05 -0500 Subject: [PATCH] sched: mmdrop needs to be delayed on -rt @@ -24,10 +24,10 @@ index 36f9627..b1a31eb 100644 /* * Last value of global fault stamp as seen by this process. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 802b635..125fc11 100644 +index c66e373..f342f61 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2239,12 +2239,20 @@ extern struct mm_struct * mm_alloc(void); +@@ -2237,12 +2237,20 @@ extern struct mm_struct * mm_alloc(void); /* mmdrop drops the mm and the page tables */ extern void __mmdrop(struct mm_struct *); @@ -49,7 +49,7 @@ index 802b635..125fc11 100644 extern void mmput(struct mm_struct *); /* Grab a reference to a task's mm, if it is not already going away */ diff --git a/kernel/fork.c b/kernel/fork.c -index 5c9123e..dbb4495 100644 +index 334ebe7..5e880bd 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -38,6 +38,7 @@ @@ -111,7 +111,7 @@ index 5c9123e..dbb4495 100644 mm->free_area_cache = oldmm->mmap_base; mm->cached_hole_size = ~0UL; mm->map_count = 0; -@@ -1299,7 +1316,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1301,7 +1318,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, attach_pid(p, PIDTYPE_SID, task_session(current)); list_add_tail(&p->sibling, &p->real_parent->children); list_add_tail_rcu(&p->tasks, &init_task.tasks); @@ -121,7 +121,7 @@ index 5c9123e..dbb4495 100644 } attach_pid(p, PIDTYPE_PID, pid); nr_threads++; -@@ -1773,3 +1792,138 @@ int unshare_files(struct files_struct **displaced) +@@ -1775,3 +1794,138 @@ int unshare_files(struct files_struct **displaced) task_unlock(task); return 0; } @@ -261,7 +261,7 @@ index 5c9123e..dbb4495 100644 + return 0; +} diff --git a/kernel/sched.c b/kernel/sched.c -index 709f3bd..d1551f9 100644 +index 9efdbe4..e96ac22 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2929,8 +2929,12 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) @@ -278,7 +278,7 @@ index 709f3bd..d1551f9 100644 if (unlikely(prev_state == TASK_DEAD)) { /* * Remove function-return probe instances associated with this -@@ -7760,7 +7764,11 @@ void idle_task_exit(void) +@@ -7733,7 +7737,11 @@ void idle_task_exit(void) if (mm != &init_mm) switch_mm(mm, &init_mm, current); diff --git a/sched-move_task_off_dead_cpu-Remove-retry-logic.patch b/sched-move_task_off_dead_cpu-Remove-retry-logic.patch index e7470e5..a5d83e6 100644 --- a/sched-move_task_off_dead_cpu-Remove-retry-logic.patch +++ b/sched-move_task_off_dead_cpu-Remove-retry-logic.patch @@ -1,4 +1,4 @@ -From 2d5a7c7241f20ee8e90452a47b773cffbb4c2412 Mon Sep 17 00:00:00 2001 +From 88c62d921bbb9b93c431e920e0719473e9bfca42 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Mon, 15 Mar 2010 10:10:14 +0100 Subject: [PATCH] sched: move_task_off_dead_cpu(): Remove retry logic @@ -23,10 +23,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 59db396..95ffa53 100644 +index 30e59b6..dfc2d66 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7747,7 +7747,7 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p) +@@ -7720,7 +7720,7 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p) struct rq *rq = cpu_rq(dead_cpu); int needs_cpu, uninitialized_var(dest_cpu); unsigned long flags; @@ -35,7 +35,7 @@ index 59db396..95ffa53 100644 local_irq_save(flags); raw_spin_lock(&rq->lock); -@@ -7755,14 +7755,13 @@ again: +@@ -7728,14 +7728,13 @@ again: if (needs_cpu) dest_cpu = select_fallback_rq(dead_cpu, p); raw_spin_unlock(&rq->lock); diff --git a/sched-move_task_off_dead_cpu-Take-rq-lock-around-sel.patch b/sched-move_task_off_dead_cpu-Take-rq-lock-around-sel.patch index 4f73e83..6e6702b 100644 --- a/sched-move_task_off_dead_cpu-Take-rq-lock-around-sel.patch +++ b/sched-move_task_off_dead_cpu-Take-rq-lock-around-sel.patch @@ -1,4 +1,4 @@ -From ae35e6fffd929f71b6ea1193862d50b56b636a1b Mon Sep 17 00:00:00 2001 +From 2d6fb6e20ccd6c87ae5ea6bb740d3531de9d7a4a Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Mon, 15 Mar 2010 10:10:10 +0100 Subject: [PATCH] sched: move_task_off_dead_cpu(): Take rq->lock around select_fallback_rq() @@ -33,10 +33,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index d7f6876..59db396 100644 +index 63ec635..30e59b6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7739,29 +7739,29 @@ static int migration_thread(void *data) +@@ -7712,29 +7712,29 @@ static int migration_thread(void *data) } #ifdef CONFIG_HOTPLUG_CPU diff --git a/sched-preempt-rt-support.patch b/sched-preempt-rt-support.patch index 8e4673c..5e9a787 100644 --- a/sched-preempt-rt-support.patch +++ b/sched-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From fdea6ec872121d915b9903f6f3a088e7a34c5164 Mon Sep 17 00:00:00 2001 +From 3cd7a0b2528a6a1d741859fe0ffc6879c500aaab Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:03 -0500 Subject: [PATCH] sched: preempt-rt support @@ -45,7 +45,7 @@ index 5d79504..cee2da4 100644 #ifdef CONFIG_PREEMPT # define preemptible() (preempt_count() == 0 && !irqs_disabled()) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 14b6956..f9e2067 100644 +index 7b23ee4..c66e373 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -102,6 +102,17 @@ struct fs_struct; @@ -107,7 +107,7 @@ index 14b6956..f9e2067 100644 struct nsproxy; struct user_namespace; -@@ -1775,6 +1813,15 @@ extern struct pid *cad_pid; +@@ -1773,6 +1811,15 @@ extern struct pid *cad_pid; extern void free_task(struct task_struct *tsk); #define get_task_struct(tsk) do { atomic_inc(&(tsk)->usage); } while(0) @@ -123,7 +123,7 @@ index 14b6956..f9e2067 100644 extern void __put_task_struct(struct task_struct *t); static inline void put_task_struct(struct task_struct *t) -@@ -1782,6 +1829,7 @@ static inline void put_task_struct(struct task_struct *t) +@@ -1780,6 +1827,7 @@ static inline void put_task_struct(struct task_struct *t) if (atomic_dec_and_test(&t->usage)) __put_task_struct(t); } @@ -131,7 +131,7 @@ index 14b6956..f9e2067 100644 extern void task_times(struct task_struct *p, cputime_t *ut, cputime_t *st); extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *st); -@@ -2036,6 +2084,7 @@ extern struct task_struct *curr_task(int cpu); +@@ -2034,6 +2082,7 @@ extern struct task_struct *curr_task(int cpu); extern void set_curr_task(int cpu, struct task_struct *p); void yield(void); @@ -159,7 +159,7 @@ index 90ed15f..432607a 100644 } diff --git a/kernel/sched.c b/kernel/sched.c -index 73256f4..709f3bd 100644 +index 6be80f6..9efdbe4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4,6 +4,7 @@ @@ -564,7 +564,7 @@ index 73256f4..709f3bd 100644 unsigned long long nr_context_switches(void) { int i; -@@ -5363,6 +5473,8 @@ void scheduler_tick(void) +@@ -5342,6 +5452,8 @@ void scheduler_tick(void) sched_clock_tick(); @@ -573,7 +573,7 @@ index 73256f4..709f3bd 100644 raw_spin_lock(&rq->lock); update_rq_clock(rq); update_cpu_load(rq); -@@ -5456,8 +5568,8 @@ static noinline void __schedule_bug(struct task_struct *prev) +@@ -5435,8 +5547,8 @@ static noinline void __schedule_bug(struct task_struct *prev) { struct pt_regs *regs = get_irq_regs(); @@ -584,7 +584,7 @@ index 73256f4..709f3bd 100644 debug_show_held_locks(prev); print_modules(); -@@ -5475,12 +5587,14 @@ static noinline void __schedule_bug(struct task_struct *prev) +@@ -5454,12 +5566,14 @@ static noinline void __schedule_bug(struct task_struct *prev) */ static inline void schedule_debug(struct task_struct *prev) { @@ -600,7 +600,7 @@ index 73256f4..709f3bd 100644 __schedule_bug(prev); profile_hit(SCHED_PROFILING, __builtin_return_address(0)); -@@ -5565,10 +5679,11 @@ asmlinkage void __sched __schedule(void) +@@ -5544,10 +5658,11 @@ asmlinkage void __sched __schedule(void) switch_count = &prev->nivcsw; release_kernel_lock(prev); @@ -613,7 +613,7 @@ index 73256f4..709f3bd 100644 if (sched_feat(HRTICK)) hrtick_clear(rq); -@@ -5608,30 +5723,29 @@ need_resched_nonpreemptible: +@@ -5587,30 +5702,29 @@ need_resched_nonpreemptible: */ cpu = smp_processor_id(); rq = cpu_rq(cpu); @@ -653,7 +653,7 @@ index 73256f4..709f3bd 100644 /* * Look out! "owner" is an entirely speculative pointer * access and not reliable. -@@ -5693,6 +5807,35 @@ out: +@@ -5672,6 +5786,35 @@ out: #endif #ifdef CONFIG_PREEMPT @@ -689,7 +689,7 @@ index 73256f4..709f3bd 100644 /* * this is the entry point to schedule() from in-kernel preemption * off of preempt_enable. Kernel preemptions off return from interrupt -@@ -5704,6 +5847,8 @@ asmlinkage void __sched preempt_schedule(void) +@@ -5683,6 +5826,8 @@ asmlinkage void __sched preempt_schedule(void) struct task_struct *task = current; int saved_lock_depth; @@ -698,7 +698,7 @@ index 73256f4..709f3bd 100644 /* * If there is a non-zero preempt_count or interrupts are disabled, * we do not want to preempt the current task. Just return.. -@@ -5712,6 +5857,7 @@ asmlinkage void __sched preempt_schedule(void) +@@ -5691,6 +5836,7 @@ asmlinkage void __sched preempt_schedule(void) return; do { @@ -706,7 +706,7 @@ index 73256f4..709f3bd 100644 add_preempt_count(PREEMPT_ACTIVE); /* -@@ -5721,10 +5867,13 @@ asmlinkage void __sched preempt_schedule(void) +@@ -5700,10 +5846,13 @@ asmlinkage void __sched preempt_schedule(void) */ saved_lock_depth = task->lock_depth; task->lock_depth = -1; @@ -721,7 +721,7 @@ index 73256f4..709f3bd 100644 /* * Check again in case we missed a preemption opportunity * between schedule and now. -@@ -5735,10 +5884,10 @@ asmlinkage void __sched preempt_schedule(void) +@@ -5714,10 +5863,10 @@ asmlinkage void __sched preempt_schedule(void) EXPORT_SYMBOL(preempt_schedule); /* @@ -736,7 +736,7 @@ index 73256f4..709f3bd 100644 */ asmlinkage void __sched preempt_schedule_irq(void) { -@@ -5746,10 +5895,17 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -5725,10 +5874,17 @@ asmlinkage void __sched preempt_schedule_irq(void) struct task_struct *task = current; int saved_lock_depth; @@ -756,7 +756,7 @@ index 73256f4..709f3bd 100644 add_preempt_count(PREEMPT_ACTIVE); /* -@@ -5759,9 +5915,8 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -5738,9 +5894,8 @@ asmlinkage void __sched preempt_schedule_irq(void) */ saved_lock_depth = task->lock_depth; task->lock_depth = -1; @@ -768,7 +768,7 @@ index 73256f4..709f3bd 100644 task->lock_depth = saved_lock_depth; sub_preempt_count(PREEMPT_ACTIVE); -@@ -6186,6 +6341,7 @@ void task_setprio(struct task_struct *p, int prio) +@@ -6164,6 +6319,7 @@ void task_setprio(struct task_struct *p, int prio) check_class_changed(rq, p, prev_class, oldprio, running); } @@ -776,7 +776,7 @@ index 73256f4..709f3bd 100644 task_rq_unlock(rq, &flags); } -@@ -6838,6 +6994,7 @@ SYSCALL_DEFINE0(sched_yield) +@@ -6811,6 +6967,7 @@ SYSCALL_DEFINE0(sched_yield) __release(rq->lock); spin_release(&rq->lock.dep_map, 1, _THIS_IP_); do_raw_spin_unlock(&rq->lock); @@ -784,7 +784,7 @@ index 73256f4..709f3bd 100644 preempt_enable_and_schedule(); -@@ -6851,9 +7008,18 @@ static inline int should_resched(void) +@@ -6824,9 +6981,18 @@ static inline int should_resched(void) static void __cond_resched(void) { @@ -806,7 +806,7 @@ index 73256f4..709f3bd 100644 } int __sched _cond_resched(void) -@@ -6899,8 +7065,11 @@ EXPORT_SYMBOL(__cond_resched_lock); +@@ -6872,8 +7038,11 @@ EXPORT_SYMBOL(__cond_resched_lock); */ int __sched __cond_resched_softirq(void) { @@ -819,7 +819,7 @@ index 73256f4..709f3bd 100644 if (should_resched()) { local_bh_enable(); __cond_resched(); -@@ -6930,17 +7099,56 @@ int __sched cond_resched_softirq_context(void) +@@ -6903,17 +7072,56 @@ int __sched cond_resched_softirq_context(void) } EXPORT_SYMBOL(cond_resched_softirq_context); @@ -877,7 +877,7 @@ index 73256f4..709f3bd 100644 EXPORT_SYMBOL(yield); /* -@@ -7104,6 +7312,7 @@ void sched_show_task(struct task_struct *p) +@@ -7077,6 +7285,7 @@ void sched_show_task(struct task_struct *p) void show_state_filter(unsigned long state_filter) { struct task_struct *g, *p; @@ -885,7 +885,7 @@ index 73256f4..709f3bd 100644 #if BITS_PER_LONG == 32 printk(KERN_INFO -@@ -7112,7 +7321,16 @@ void show_state_filter(unsigned long state_filter) +@@ -7085,7 +7294,16 @@ void show_state_filter(unsigned long state_filter) printk(KERN_INFO " task PC stack pid father\n"); #endif @@ -902,7 +902,7 @@ index 73256f4..709f3bd 100644 do_each_thread(g, p) { /* * reset the NMI-timeout, listing all files on a slow -@@ -7128,7 +7346,8 @@ void show_state_filter(unsigned long state_filter) +@@ -7101,7 +7319,8 @@ void show_state_filter(unsigned long state_filter) #ifdef CONFIG_SCHED_DEBUG sysrq_sched_debug_show(); #endif @@ -912,7 +912,7 @@ index 73256f4..709f3bd 100644 /* * Only show locks if all tasks are dumped: */ -@@ -7236,7 +7455,7 @@ static inline void sched_init_granularity(void) +@@ -7209,7 +7428,7 @@ static inline void sched_init_granularity(void) update_sysctl(); } @@ -921,7 +921,7 @@ index 73256f4..709f3bd 100644 /* * This is how migration works: * -@@ -7269,27 +7488,8 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) +@@ -7242,27 +7461,8 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) struct rq *rq; int ret = 0; @@ -949,7 +949,7 @@ index 73256f4..709f3bd 100644 if (!cpumask_intersects(new_mask, cpu_active_mask)) { ret = -EINVAL; goto out; -@@ -7345,11 +7545,18 @@ EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr); +@@ -7318,11 +7518,18 @@ EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr); static int __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) { struct rq *rq_dest, *rq_src; @@ -968,7 +968,7 @@ index 73256f4..709f3bd 100644 rq_src = cpu_rq(src_cpu); rq_dest = cpu_rq(dest_cpu); -@@ -7375,6 +7582,8 @@ done: +@@ -7348,6 +7555,8 @@ done: ret = 1; fail: double_rq_unlock(rq_src, rq_dest); @@ -977,7 +977,7 @@ index 73256f4..709f3bd 100644 return ret; } -@@ -9796,6 +10005,9 @@ void __init sched_init(void) +@@ -9769,6 +9978,9 @@ void __init sched_init(void) atomic_inc(&init_mm.mm_count); enter_lazy_tlb(&init_mm, current); @@ -987,7 +987,7 @@ index 73256f4..709f3bd 100644 /* * Make us the idle thread. Technically, schedule() should not be * called from this thread, however somewhere below it might be, -@@ -9828,7 +10040,7 @@ void __init sched_init(void) +@@ -9801,7 +10013,7 @@ void __init sched_init(void) scheduler_running = 1; } diff --git a/sched-revert-schedule-__schedule-changes.patch b/sched-revert-schedule-__schedule-changes.patch index 4a255b7..3016c40 100644 --- a/sched-revert-schedule-__schedule-changes.patch +++ b/sched-revert-schedule-__schedule-changes.patch @@ -1,4 +1,4 @@ -From 3757feae8a198ee3b733836684140d9d0cac195e Mon Sep 17 00:00:00 2001 +From 7cfffe7744fa6487c883f17e9b3aa0a6894fd4d7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:29:18 -0500 Subject: [PATCH] sched: revert schedule/__schedule changes @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/sched.c b/kernel/sched.c -index 203c195..8c07260 100644 +index d5034c3..1c5f49d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5515,15 +5515,13 @@ pick_next_task(struct rq *rq) +@@ -5494,15 +5494,13 @@ pick_next_task(struct rq *rq) /* * schedule() is the main scheduler function. */ @@ -31,7 +31,7 @@ index 203c195..8c07260 100644 cpu = smp_processor_id(); rq = cpu_rq(cpu); rcu_sched_qs(cpu); -@@ -5583,7 +5581,13 @@ need_resched_nonpreemptible: +@@ -5562,7 +5560,13 @@ need_resched_nonpreemptible: switch_count = &prev->nivcsw; goto need_resched_nonpreemptible; } diff --git a/sched-sched_exec-Remove-the-select_fallback_rq-logic.patch b/sched-sched_exec-Remove-the-select_fallback_rq-logic.patch index 4b1b9b2..dcde58e 100644 --- a/sched-sched_exec-Remove-the-select_fallback_rq-logic.patch +++ b/sched-sched_exec-Remove-the-select_fallback_rq-logic.patch @@ -1,4 +1,4 @@ -From a325588ec5c7384514a79f01ddebf274477eaf51 Mon Sep 17 00:00:00 2001 +From 1c6ed13f6a3016de8e8ed05bf96c684aac51fea9 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Mon, 15 Mar 2010 10:10:19 +0100 Subject: [PATCH] sched: sched_exec(): Remove the select_fallback_rq() logic @@ -31,7 +31,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index 95ffa53..d7a19ef 100644 +index dfc2d66..adad328 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -2379,6 +2379,9 @@ void task_oncpu_function_call(struct task_struct *p, diff --git a/sched-set_cpus_allowed_ptr-Don-t-use-rq-migration_th.patch b/sched-set_cpus_allowed_ptr-Don-t-use-rq-migration_th.patch index b6d000f..ce3fc8c 100644 --- a/sched-set_cpus_allowed_ptr-Don-t-use-rq-migration_th.patch +++ b/sched-set_cpus_allowed_ptr-Don-t-use-rq-migration_th.patch @@ -1,4 +1,4 @@ -From dd56c23f5622da2407c764970be1e37ac122c378 Mon Sep 17 00:00:00 2001 +From 091a229406f6bb68f4c225094b64b354dee14d74 Mon Sep 17 00:00:00 2001 From: Oleg Nesterov <oleg@redhat.com> Date: Tue, 30 Mar 2010 18:58:29 +0200 Subject: [PATCH] sched: set_cpus_allowed_ptr(): Don't use rq->migration_thread after unlock @@ -18,10 +18,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index aa5dced..4f2cc91 100644 +index 3ff3bf2..1319f8e 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7604,7 +7604,7 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) +@@ -7577,7 +7577,7 @@ int set_cpus_allowed_ptr(struct task_struct *p, const struct cpumask *new_mask) get_task_struct(mt); task_rq_unlock(rq, &flags); diff --git a/sched-wake_up_idle_cpu-rt-fix.patch b/sched-wake_up_idle_cpu-rt-fix.patch index 5d65d19..c56d207 100644 --- a/sched-wake_up_idle_cpu-rt-fix.patch +++ b/sched-wake_up_idle_cpu-rt-fix.patch @@ -1,4 +1,4 @@ -From 23ebb33f115b0413ea7d0424c72bfa17fc4627bd Mon Sep 17 00:00:00 2001 +From 4617d7b64e5aab45b09a5f8498f9076a362f1712 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:19 -0500 Subject: [PATCH] sched: wake_up_idle_cpu rt fix @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/sched.c b/kernel/sched.c -index afa9715..9cc1ee7 100644 +index 49feb1f..c486ea2 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -1321,7 +1321,7 @@ void wake_up_idle_cpu(int cpu) +@@ -1289,7 +1289,7 @@ void wake_up_idle_cpu(int cpu) { struct rq *rq = cpu_rq(cpu); diff --git a/sched.h-delete-extraneous-junk.patch b/sched.h-delete-extraneous-junk.patch index d03185d..34b3a93 100644 --- a/sched.h-delete-extraneous-junk.patch +++ b/sched.h-delete-extraneous-junk.patch @@ -1,4 +1,4 @@ -From dca4b433dba500f3d5d4b0ae188a0af60586d1db Mon Sep 17 00:00:00 2001 +From 43866fc01ed4b910dd71d74025e1fc339744bddb Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Mon, 17 Jan 2011 19:44:50 -0500 Subject: [PATCH] sched.h: delete extraneous junk @@ -25,7 +25,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 2137650..dd7c7cb 100644 +index c969a10..eed1065 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -246,28 +246,12 @@ extern char ___assert_task_state[1 - 2*!!( @@ -57,7 +57,7 @@ index 2137650..dd7c7cb 100644 /* * set_current_state() includes a barrier so that the write of current->state * is correctly serialised wrt the caller's subsequent test of whether to -@@ -1335,6 +1319,7 @@ struct task_struct { +@@ -1332,6 +1316,7 @@ struct task_struct { struct plist_node pushable_tasks; struct mm_struct *mm, *active_mm; @@ -65,7 +65,7 @@ index 2137650..dd7c7cb 100644 /* task state */ int exit_state; -@@ -1490,7 +1475,6 @@ struct task_struct { +@@ -1487,7 +1472,6 @@ struct task_struct { /* mutex deadlock detection */ struct mutex_waiter *blocked_on; #endif diff --git a/sched.h-make-kernel_sem-a-mutex.patch b/sched.h-make-kernel_sem-a-mutex.patch index 6b31997..1b4733a 100644 --- a/sched.h-make-kernel_sem-a-mutex.patch +++ b/sched.h-make-kernel_sem-a-mutex.patch @@ -1,4 +1,4 @@ -From a5089d23fa36b055f633813a485e03221875f2a0 Mon Sep 17 00:00:00 2001 +From 8dde83ed152651291b07f7b7cd86d89e5b9ddeef Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 13:10:12 -0500 Subject: [PATCH] sched.h: make kernel_sem a mutex @@ -35,7 +35,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index c0d720b..a9c0642 100644 +index e07e7ef..98b705f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -186,7 +186,8 @@ print_cfs_rq(struct seq_file *m, int cpu, struct cfs_rq *cfs_rq) diff --git a/sched_rt-increase-prio-checks-from-WARN_ON-to-BUG_ON.patch b/sched_rt-increase-prio-checks-from-WARN_ON-to-BUG_ON.patch index 0598172..f8c183a 100644 --- a/sched_rt-increase-prio-checks-from-WARN_ON-to-BUG_ON.patch +++ b/sched_rt-increase-prio-checks-from-WARN_ON-to-BUG_ON.patch @@ -1,4 +1,4 @@ -From 3bdba753c718e3a8e7c4cc33d97de772816e0bd7 Mon Sep 17 00:00:00 2001 +From 596f507f99c4286e37720c399c2137379ecb284b Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 11:14:42 -0500 Subject: [PATCH] sched_rt: increase prio checks from WARN_ON to BUG_ON @@ -30,10 +30,10 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 2f64611..0e4b15d 100644 +index 40ca364..9204fe1 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -784,7 +784,7 @@ void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) +@@ -783,7 +783,7 @@ void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) { int prio = rt_se_prio(rt_se); @@ -42,7 +42,7 @@ index 2f64611..0e4b15d 100644 rt_rq->rt_nr_running++; inc_rt_prio(rt_rq, prio); -@@ -795,7 +795,7 @@ void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) +@@ -794,7 +794,7 @@ void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) static inline void dec_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) { diff --git a/scsi-aacraid-semaphore-cleanup.patch b/scsi-aacraid-semaphore-cleanup.patch index 5da5715..b5bef07 100644 --- a/scsi-aacraid-semaphore-cleanup.patch +++ b/scsi-aacraid-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 4af78fd2f5b377c6fa2c56a689fc4b8c5f8fe597 Mon Sep 17 00:00:00 2001 +From b01376dd4acaafa4f76dcbe1df8d7165b400c881 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:50:31 +0200 Subject: [PATCH] scsi: aacraid semaphore cleanup @@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c -index 0391d75..390fea9 100644 +index 9c0c911..7be331d 100644 --- a/drivers/scsi/aacraid/commctrl.c +++ b/drivers/scsi/aacraid/commctrl.c @@ -190,7 +190,7 @@ static int open_getadapter_fib(struct aac_dev * dev, void __user *arg) @@ -25,7 +25,7 @@ index 0391d75..390fea9 100644 /* * Initialize the fibs and set the count of fibs on diff --git a/drivers/scsi/aacraid/commsup.c b/drivers/scsi/aacraid/commsup.c -index 956261f..3a80db6 100644 +index 94d2954..a1de995 100644 --- a/drivers/scsi/aacraid/commsup.c +++ b/drivers/scsi/aacraid/commsup.c @@ -124,7 +124,7 @@ int aac_fib_setup(struct aac_dev * dev) diff --git a/semaphore-Add-DEFINE_SEMAPHORE.patch b/semaphore-Add-DEFINE_SEMAPHORE.patch index ddde9ff..0bbe524 100644 --- a/semaphore-Add-DEFINE_SEMAPHORE.patch +++ b/semaphore-Add-DEFINE_SEMAPHORE.patch @@ -1,6 +1,5 @@ -From a33fbe40ed7273fec10f718ada2304ecbb4262f7 Mon Sep 17 00:00:00 2001 +From 8f63d975e850d7294619799d0775f0b033e07fca Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> - Date: Sun, 23 Jan 2011 22:23:53 +0200 Subject: [PATCH] semaphore: Add DEFINE_SEMAPHORE @@ -14,7 +13,7 @@ legacy code that wasn't cleaned up yet. They are no longer required. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/semaphore.h b/include/linux/semaphore.h -index 7415839..7848fd6 100644 +index 7415839..b3669e8 100644 --- a/include/linux/semaphore.h +++ b/include/linux/semaphore.h @@ -26,6 +26,9 @@ struct semaphore { diff --git a/semaphore-Make-inner-lock-raw.patch b/semaphore-Make-inner-lock-raw.patch index 2b1cde1..6caf8d7 100644 --- a/semaphore-Make-inner-lock-raw.patch +++ b/semaphore-Make-inner-lock-raw.patch @@ -1,4 +1,4 @@ -From d21c5df6e2bdedabebe48523b7bab584b71a41b1 Mon Sep 17 00:00:00 2001 +From 0f9bf4a4ba679e35a7c9490a05e781b0b8481ae4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 24 Feb 2010 09:50:22 +0100 Subject: [PATCH] semaphore: Make inner lock raw @@ -12,10 +12,6 @@ rt_mutex.wait_lock being not initialized. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> ---- - include/linux/semaphore.h | 4 ++-- - kernel/semaphore.c | 28 ++++++++++++++-------------- - 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/include/linux/semaphore.h b/include/linux/semaphore.h index aaeced9..66d2591 100644 @@ -144,5 +140,5 @@ index 94a62c0..d831841 100644 return 0; } -- -1.7.1 +1.7.1.1 diff --git a/seqlock-Create-raw_seqlock.patch b/seqlock-Create-raw_seqlock.patch index f5bd877..0bf594c 100644 --- a/seqlock-Create-raw_seqlock.patch +++ b/seqlock-Create-raw_seqlock.patch @@ -1,4 +1,4 @@ -From 09e46c7a86b2e81f97bd93f588b62c2d36cff58e Mon Sep 17 00:00:00 2001 +From 476818bd158a83f8188fa9880184b4ab97b05563 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 19:27:54 +0200 Subject: [PATCH] seqlock: Create raw_seqlock @@ -11,7 +11,7 @@ converted to sleeping locks in preempt-rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h -index 632205c..dc64d96 100644 +index 632205c..0c38f7c 100644 --- a/include/linux/seqlock.h +++ b/include/linux/seqlock.h @@ -31,6 +31,11 @@ diff --git a/seqlock-serialize-against-writers.patch b/seqlock-serialize-against-writers.patch index 3cebd2f..fef430a 100644 --- a/seqlock-serialize-against-writers.patch +++ b/seqlock-serialize-against-writers.patch @@ -1,4 +1,4 @@ -From 01c7b4356a44817a0a7027ca46371b2c7355d9c0 Mon Sep 17 00:00:00 2001 +From 6e204123c49ca166b4227fa64c36a32ac0091a96 Mon Sep 17 00:00:00 2001 From: Gregory Haskins <ghaskins@novell.com> Date: Fri, 3 Jul 2009 08:44:28 -0500 Subject: [PATCH] seqlock: serialize against writers @@ -47,7 +47,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h -index dc64d96..e4a3f95 100644 +index 0c38f7c..a6de405 100644 --- a/include/linux/seqlock.h +++ b/include/linux/seqlock.h @@ -3,9 +3,11 @@ diff --git a/serial-console-rt-support-fixup.patch b/serial-console-rt-support-fixup.patch index c3b0e17..ae6d6c4 100644 --- a/serial-console-rt-support-fixup.patch +++ b/serial-console-rt-support-fixup.patch @@ -1,4 +1,4 @@ -From d4ea9d10593e414eba0d5ddc26370801b1a7fdbb Mon Sep 17 00:00:00 2001 +From 4464d05a258b6c76ed019479cf606e1f4495da78 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:32 -0500 Subject: [PATCH] serial/console: rt support fixup @@ -13,10 +13,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index d4d69e1..d406333 100644 +index 708b6d9..ea995f4 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -2734,7 +2734,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) +@@ -2740,7 +2740,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) touch_nmi_watchdog(); diff --git a/signals-Do-not-wakeup-self.patch b/signals-Do-not-wakeup-self.patch index d148819..06ca22b 100644 --- a/signals-Do-not-wakeup-self.patch +++ b/signals-Do-not-wakeup-self.patch @@ -1,4 +1,4 @@ -From c0445b35154b777c8b4340c5930a1b2924a7f86f Mon Sep 17 00:00:00 2001 +From 5b7ab64ba8e33ae73e5abb0fe5443ec35a4ba1d7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:44 -0500 Subject: [PATCH] signals: Do not wakeup self @@ -11,10 +11,10 @@ waking up current :) Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/signal.c b/kernel/signal.c -index ccf1cee..136ba2d 100644 +index 934ae5e..549df9d 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -519,6 +519,9 @@ void signal_wake_up(struct task_struct *t, int resume) +@@ -542,6 +542,9 @@ void signal_wake_up(struct task_struct *t, int resume) set_tsk_thread_flag(t, TIF_SIGPENDING); diff --git a/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch b/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch index a442e8d..4069fb0 100644 --- a/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch +++ b/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch @@ -1,4 +1,4 @@ -From de9cff45b4096d5599262242612e4b3745b6d738 Mon Sep 17 00:00:00 2001 +From 059e607de18752edaba443ad4dd9495845df4deb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:56 -0500 Subject: [PATCH] signals: allow rt tasks to cache one sigqueue struct @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/sched.h b/include/linux/sched.h -index 0b03ee1..747fe80 100644 +index dfdeb99..7b9b4b1 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1398,6 +1398,7 @@ struct task_struct { +@@ -1395,6 +1395,7 @@ struct task_struct { /* signal handlers */ struct signal_struct *signal; struct sighand_struct *sighand; @@ -48,7 +48,7 @@ index 546774a..c2be31f 100644 tsk->signal = NULL; tsk->sighand = NULL; diff --git a/kernel/fork.c b/kernel/fork.c -index 0c3979a..f879faf 100644 +index fe228fd..84507ab 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -1065,6 +1065,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, diff --git a/slab-Cover-the-numa-aliens-with-the-per-cpu-locked-c.patch b/slab-Cover-the-numa-aliens-with-the-per-cpu-locked-c.patch index 5fc3430..e65ea4b 100644 --- a/slab-Cover-the-numa-aliens-with-the-per-cpu-locked-c.patch +++ b/slab-Cover-the-numa-aliens-with-the-per-cpu-locked-c.patch @@ -1,4 +1,4 @@ -From 617ca02b777e098f08b5819babfcee8df9e6614d Mon Sep 17 00:00:00 2001 +From df30315681197e7d080af69ee7e4bf2961f8374e Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Tue, 13 Oct 2009 10:05:40 -0500 Subject: [PATCH] slab: Cover the numa aliens with the per cpu locked changes @@ -13,7 +13,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/mm/slab.c b/mm/slab.c -index 312bcf0..33bbf01 100644 +index 4641c47..985c67b 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -164,6 +164,9 @@ static void slab_irq_disable_GFP_WAIT(gfp_t flags, int *cpu) @@ -62,7 +62,7 @@ index 312bcf0..33bbf01 100644 static inline struct array_cache **alloc_alien_cache(int node, int limit, gfp_t gfp) { -@@ -1170,17 +1189,18 @@ static void __drain_alien_cache(struct kmem_cache *cachep, +@@ -1172,17 +1191,18 @@ static void __drain_alien_cache(struct kmem_cache *cachep, /* * Called from cache_reap() to regularly drain alien caches round robin. */ @@ -87,7 +87,7 @@ index 312bcf0..33bbf01 100644 return 1; } } -@@ -4294,7 +4314,7 @@ int drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, +@@ -4293,7 +4313,7 @@ int drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, */ static void cache_reap(struct work_struct *w) { @@ -96,7 +96,7 @@ index 312bcf0..33bbf01 100644 struct kmem_cache *searchp; struct kmem_list3 *l3; struct delayed_work *work = to_delayed_work(w); -@@ -4314,7 +4334,7 @@ static void cache_reap(struct work_struct *w) +@@ -4313,7 +4333,7 @@ static void cache_reap(struct work_struct *w) */ l3 = searchp->nodelists[node]; diff --git a/smbfs-Convert-server-sem-to-mutex.patch b/smbfs-Convert-server-sem-to-mutex.patch index 0bc78cc..d781651 100644 --- a/smbfs-Convert-server-sem-to-mutex.patch +++ b/smbfs-Convert-server-sem-to-mutex.patch @@ -1,4 +1,4 @@ -From 4904cd2a7a826a2d4751ee9687a9c32cdabe1a28 Mon Sep 17 00:00:00 2001 +From e6e2f32c229c5958744df77153c6a9dc539c7975 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:12:40 +0200 Subject: [PATCH] smbfs: Convert server->sem to mutex @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c -index 1402d2d..2e5ad84 100644 +index 1c4c8f0..6d68729 100644 --- a/fs/smbfs/inode.c +++ b/fs/smbfs/inode.c -@@ -536,7 +536,7 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent) +@@ -530,7 +530,7 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent) server->mnt = NULL; server->sock_file = NULL; init_waitqueue_head(&server->conn_wq); diff --git a/smp-processor-id-fixups-for-rt.patch b/smp-processor-id-fixups-for-rt.patch index 5f4d962..8a4f9cd 100644 --- a/smp-processor-id-fixups-for-rt.patch +++ b/smp-processor-id-fixups-for-rt.patch @@ -1,4 +1,4 @@ -From 5f6b01fb42386d9f33b2a759e59551d923a976ee Mon Sep 17 00:00:00 2001 +From d38cd54db18d1094d9ecfa22a148f4905ec79cf0 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:01 -0500 Subject: [PATCH] smp: processor id fixups for rt @@ -22,10 +22,10 @@ index 2524267..838405c 100644 } return NULL; diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index d3f9b45..0a98bef 100644 +index fb74031..26b8839 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c -@@ -206,7 +206,7 @@ static void delayed_work_timer_fn(unsigned long __data) +@@ -317,7 +317,7 @@ static void delayed_work_timer_fn(unsigned long __data) struct cpu_workqueue_struct *cwq = get_wq_data(&dwork->work); struct workqueue_struct *wq = cwq->wq; diff --git a/softirq-Name-hrtimer-softirq-also-when-CONFIG_HIGH_R.patch b/softirq-Name-hrtimer-softirq-also-when-CONFIG_HIGH_R.patch index 4b3bcdf..95b7df1 100644 --- a/softirq-Name-hrtimer-softirq-also-when-CONFIG_HIGH_R.patch +++ b/softirq-Name-hrtimer-softirq-also-when-CONFIG_HIGH_R.patch @@ -1,4 +1,4 @@ -From 3914bcaef392c1b7dec053e604597632536ca4d6 Mon Sep 17 00:00:00 2001 +From 0cbab6c6470a425dd67b5533d8a3e083a074b946 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 13 Oct 2009 18:52:52 +0200 Subject: [PATCH] softirq: Name hrtimer softirq also when CONFIG_HIGH_RES_TIMERS=n @@ -12,10 +12,10 @@ name for the thread. The thread is needed on -rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/softirq.c b/kernel/softirq.c -index 5edeadf..70437ac 100644 +index f0b863e..533b72c 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -1132,9 +1132,7 @@ static const char *softirq_names [] = +@@ -1138,9 +1138,7 @@ static const char *softirq_names [] = [BLOCK_SOFTIRQ] = "block", [BLOCK_IOPOLL_SOFTIRQ]= "block-iopoll", [TASKLET_SOFTIRQ] = "tasklet", diff --git a/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch b/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch index d48c7e0..ca19857 100644 --- a/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch +++ b/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch @@ -1,4 +1,4 @@ -From 451ad433164b07ca5cc366edb82971c623035081 Mon Sep 17 00:00:00 2001 +From 62d3301d1f68a084ff40f564f34ae7411214b352 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 13:16:38 -0500 Subject: [PATCH] softirq: Sanitize softirq pending for NOHZ/RT @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 0e232fc..f5479ed 100644 +index 0fd5b27..9f6580a 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -390,6 +390,7 @@ extern void open_softirq(int nr, void (*action)(struct softirq_action *)); @@ -21,7 +21,7 @@ index 0e232fc..f5479ed 100644 /* This is the worklist that queues up per-cpu softirq work. * diff --git a/kernel/softirq.c b/kernel/softirq.c -index ebd7e6d..0b78632 100644 +index b4b1819..f0b863e 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -76,6 +76,74 @@ char *softirq_to_name[NR_SOFTIRQS] = { diff --git a/softirq-per-cpu-assumptions-fixes.patch b/softirq-per-cpu-assumptions-fixes.patch index e11393f..22a2c7f 100644 --- a/softirq-per-cpu-assumptions-fixes.patch +++ b/softirq-per-cpu-assumptions-fixes.patch @@ -1,4 +1,4 @@ -From 2e29729fd93e0a3a61c002bd8ca8c3c704c1ad9b Mon Sep 17 00:00:00 2001 +From 2d84e332f3861a77671ebe8995ddd5b15ed04891 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:01 -0500 Subject: [PATCH] softirq: per cpu assumptions fixes @@ -154,10 +154,10 @@ index c586357..82efa41 100644 for (index = 0; index < HRTIMER_MAX_CLOCK_BASES; index++) { diff --git a/kernel/sched.c b/kernel/sched.c -index a60d943..702b333 100644 +index adc845c..4ee1a54 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5031,7 +5031,7 @@ out: +@@ -5029,7 +5029,7 @@ out: */ static void run_rebalance_domains(struct softirq_action *h) { @@ -167,10 +167,10 @@ index a60d943..702b333 100644 enum cpu_idle_type idle = this_rq->idle_at_tick ? CPU_IDLE : CPU_NOT_IDLE; diff --git a/kernel/timer.c b/kernel/timer.c -index 66c768e..048ad35 100644 +index f0d478a..8f29bd0 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1272,7 +1272,7 @@ void update_process_times(int user_tick) +@@ -1274,7 +1274,7 @@ void update_process_times(int user_tick) */ static void run_timer_softirq(struct softirq_action *h) { diff --git a/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch b/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch index 67b0c0d..f6c0060 100644 --- a/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch +++ b/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch @@ -1,4 +1,4 @@ -From ca0b4bfa5994856bbcf4227e29f9c73722efaef2 Mon Sep 17 00:00:00 2001 +From 2240b2b55191947323dda3331ef6046c10373be0 Mon Sep 17 00:00:00 2001 From: Jupyung Lee <jupyung@gmail.com> Date: Tue, 10 Nov 2009 17:31:54 +0900 Subject: [PATCH] softirqs: Add missing preemption point in ksoftirqd @@ -31,10 +31,10 @@ Signed-off-by: Jupyung Lee <jupyung@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/softirq.c b/kernel/softirq.c -index 590049c..2ce0962 100644 +index 533b72c..c35f72b 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c -@@ -1033,10 +1033,10 @@ sleep_more: +@@ -1032,10 +1032,10 @@ sleep_more: goto sleep_more; } per_cpu(softirq_running, cpu) |= softirq_mask; diff --git a/softirqs-Make-wakeup_softirqd-static.patch b/softirqs-Make-wakeup_softirqd-static.patch index 0608b0f..3c6f1a2 100644 --- a/softirqs-Make-wakeup_softirqd-static.patch +++ b/softirqs-Make-wakeup_softirqd-static.patch @@ -1,4 +1,4 @@ -From 842eaa3dc8f62d33165ef7f858bd8dff9540cf68 Mon Sep 17 00:00:00 2001 +From 735af2f2fed70bba85803d81518c65e5c94eb6a2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 20 Jul 2009 23:33:49 +0200 Subject: [PATCH] softirqs: Make wakeup_softirqd static @@ -10,10 +10,10 @@ No users outside of kernel/softirq.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 2721f07..c84abf8 100644 +index 75f3f00..2d574fb 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h -@@ -370,7 +370,6 @@ extern void softirq_init(void); +@@ -375,7 +375,6 @@ extern void softirq_init(void); #define __raise_softirq_irqoff(nr) do { or_softirq_pending(1UL << (nr)); } while (0) extern void raise_softirq_irqoff(unsigned int nr); extern void raise_softirq(unsigned int nr); @@ -22,7 +22,7 @@ index 2721f07..c84abf8 100644 /* This is the worklist that queues up per-cpu softirq work. * diff --git a/kernel/softirq.c b/kernel/softirq.c -index 3a94905..5965d9f 100644 +index 7c1a67e..55cf435 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -67,7 +67,7 @@ char *softirq_to_name[NR_SOFTIRQS] = { diff --git a/softirqs-forced-threading-of-softirqs.patch b/softirqs-forced-threading-of-softirqs.patch index ff01b60..825c287 100644 --- a/softirqs-forced-threading-of-softirqs.patch +++ b/softirqs-forced-threading-of-softirqs.patch @@ -1,4 +1,4 @@ -From d1a9d87c5811c8efc98b3dd9383415a2faf04698 Mon Sep 17 00:00:00 2001 +From 8acdcc8d9d0a296b89756eb9b76289ff311f6962 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:31 -0500 Subject: [PATCH] softirqs: forced threading of softirqs @@ -51,7 +51,7 @@ index 54c9394..f89e357 100644 struct tasklet_hrtimer { struct hrtimer timer; diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4d57190..9888c7b 100644 +index c916409..4807851 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -102,6 +102,12 @@ struct fs_struct; @@ -67,7 +67,7 @@ index 4d57190..9888c7b 100644 /* * List of flags we want to share for kernel threads, * if only because they are not used by them anyway. -@@ -1237,6 +1243,7 @@ struct task_struct { +@@ -1234,6 +1240,7 @@ struct task_struct { void *stack; atomic_t usage; unsigned int flags; /* per process flags, defined below */ @@ -75,7 +75,7 @@ index 4d57190..9888c7b 100644 unsigned int ptrace; int lock_depth; /* BKL lock depth */ -@@ -1790,6 +1797,9 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * +@@ -1788,6 +1795,9 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * #define PF_FREEZER_SKIP 0x40000000 /* Freezer should not count it as freezeable */ #define PF_FREEZER_NOSIG 0x80000000 /* Freezer won't send signals to it */ @@ -85,7 +85,7 @@ index 4d57190..9888c7b 100644 /* * Only the _current_ task can read/write to tsk->flags, but other * tasks can access tsk->flags in readonly mode for example -@@ -2442,6 +2452,8 @@ extern int __cond_resched_softirq(void); +@@ -2440,6 +2450,8 @@ extern int __cond_resched_softirq(void); __cond_resched_softirq(); \ }) @@ -94,7 +94,7 @@ index 4d57190..9888c7b 100644 /* * Does a critical section need to be broken due to another * task waiting?: (technically does not depend on CONFIG_PREEMPT, -@@ -2473,6 +2485,13 @@ static inline void thread_group_cputime_free(struct signal_struct *sig) +@@ -2471,6 +2483,13 @@ static inline void thread_group_cputime_free(struct signal_struct *sig) { } @@ -132,10 +132,10 @@ index bf987b9..2ff1834 100644 + + Say N if you are unsure. diff --git a/kernel/sched.c b/kernel/sched.c -index 8c07260..c8598a0 100644 +index 1c5f49d..b059d2f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5146,7 +5146,7 @@ void account_system_time(struct task_struct *p, int hardirq_offset, +@@ -5125,7 +5125,7 @@ void account_system_time(struct task_struct *p, int hardirq_offset, tmp = cputime_to_cputime64(cputime); if (hardirq_count() - hardirq_offset) cpustat->irq = cputime64_add(cpustat->irq, tmp); @@ -144,7 +144,7 @@ index 8c07260..c8598a0 100644 cpustat->softirq = cputime64_add(cpustat->softirq, tmp); else cpustat->system = cputime64_add(cpustat->system, tmp); -@@ -5710,7 +5710,7 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -5689,7 +5689,7 @@ asmlinkage void __sched preempt_schedule_irq(void) int saved_lock_depth; /* Catch callers which need to be fixed */ @@ -153,7 +153,7 @@ index 8c07260..c8598a0 100644 do { add_preempt_count(PREEMPT_ACTIVE); -@@ -6857,9 +6857,12 @@ int __cond_resched_lock(spinlock_t *lock) +@@ -6830,9 +6830,12 @@ int __cond_resched_lock(spinlock_t *lock) } EXPORT_SYMBOL(__cond_resched_lock); @@ -167,7 +167,7 @@ index 8c07260..c8598a0 100644 if (should_resched()) { local_bh_enable(); -@@ -6871,6 +6874,25 @@ int __sched __cond_resched_softirq(void) +@@ -6844,6 +6847,25 @@ int __sched __cond_resched_softirq(void) } EXPORT_SYMBOL(__cond_resched_softirq); @@ -194,7 +194,7 @@ index 8c07260..c8598a0 100644 * yield - yield the current processor to other threads. * diff --git a/kernel/softirq.c b/kernel/softirq.c -index 19ef218..1569ffa 100644 +index 19ef218..eda9c66 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -8,9 +8,15 @@ @@ -432,7 +432,7 @@ index 19ef218..1569ffa 100644 } __set_current_state(TASK_RUNNING); return 0; -@@ -768,7 +833,7 @@ void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu) +@@ -768,7 +832,7 @@ void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu) BUG(); } @@ -441,7 +441,7 @@ index 19ef218..1569ffa 100644 { /* CPU is dead, so no lock needed. */ local_irq_disable(); -@@ -794,49 +859,83 @@ static void takeover_tasklets(unsigned int cpu) +@@ -794,49 +858,83 @@ static void takeover_tasklets(unsigned int cpu) } #endif /* CONFIG_HOTPLUG_CPU */ diff --git a/softlockup-Convert-to-raw_spinlock.patch b/softlockup-Convert-to-raw_spinlock.patch index 4ff40d5..3a4a0b9 100644 --- a/softlockup-Convert-to-raw_spinlock.patch +++ b/softlockup-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 53f2b1fbaf0126691c4605308061d0bb18f2fb26 Mon Sep 17 00:00:00 2001 +From fb17c12de1f8411244cbfaa7bfd21ea7337f517f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:08:10 +0200 Subject: [PATCH] softlockup: Convert to raw_spinlock @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/softlockup.c b/kernel/softlockup.c -index 4b493f6..2d80020 100644 +index 0d4c789..bbaeac5 100644 --- a/kernel/softlockup.c +++ b/kernel/softlockup.c @@ -20,7 +20,7 @@ diff --git a/tasklet-busy-loop-workaround.patch b/tasklet-busy-loop-workaround.patch index b9b821f..e79f715 100644 --- a/tasklet-busy-loop-workaround.patch +++ b/tasklet-busy-loop-workaround.patch @@ -1,4 +1,4 @@ -From bc5bb42335a3180e9f6af48ca1ca03c88ef4858b Mon Sep 17 00:00:00 2001 +From 9f2e31ae6e796e5262f03975a3782e50f64321de Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:56 -0500 Subject: [PATCH] tasklet: busy loop workaround @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index d8033db..0e232fc 100644 +index 86cf03e..0fd5b27 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h @@ -476,10 +476,8 @@ static inline void tasklet_unlock(struct tasklet_struct *t) @@ -27,7 +27,7 @@ index d8033db..0e232fc 100644 #define tasklet_trylock(t) 1 #define tasklet_tryunlock(t) 1 diff --git a/kernel/softirq.c b/kernel/softirq.c -index d642f29..ca34c61 100644 +index 1be5ff4..31db011 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -23,6 +23,7 @@ diff --git a/tasklet-redesign-make-it-saner-and-make-it-easier-to.patch b/tasklet-redesign-make-it-saner-and-make-it-easier-to.patch index bc63fb2..dc316a7 100644 --- a/tasklet-redesign-make-it-saner-and-make-it-easier-to.patch +++ b/tasklet-redesign-make-it-saner-and-make-it-easier-to.patch @@ -1,4 +1,4 @@ -From 2b3582fb698056add3719fde4e7bba0d79bf7b5c Mon Sep 17 00:00:00 2001 +From 20f932344f39d498fa68c212eb069c2ad5fccf3e Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:56 -0500 Subject: [PATCH] tasklet: redesign: make it saner and make it easier to thread. @@ -14,10 +14,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 2 files changed, 149 insertions(+), 68 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h -index 65b1fe9..2c62107 100644 +index 563f51e..86cf03e 100644 --- a/include/linux/interrupt.h +++ b/include/linux/interrupt.h -@@ -422,8 +422,9 @@ extern void __send_remote_softirq(struct call_single_data *cp, int cpu, +@@ -424,8 +424,9 @@ extern void __send_remote_softirq(struct call_single_data *cp, int cpu, to be executed on some cpu at least once after this. * If the tasklet is already scheduled, but its excecution is still not started, it will be executed only once. @@ -29,7 +29,7 @@ index 65b1fe9..2c62107 100644 * Tasklet is strictly serialized wrt itself, but not wrt another tasklets. If client needs some intertask synchronization, he makes it with spinlocks. -@@ -448,15 +449,25 @@ struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(1), func, data } +@@ -450,15 +451,25 @@ struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(1), func, data } enum { TASKLET_STATE_SCHED, /* Tasklet is scheduled for execution */ @@ -57,7 +57,7 @@ index 65b1fe9..2c62107 100644 static inline void tasklet_unlock(struct tasklet_struct *t) { smp_mb__before_clear_bit(); -@@ -469,6 +480,7 @@ static inline void tasklet_unlock_wait(struct tasklet_struct *t) +@@ -471,6 +482,7 @@ static inline void tasklet_unlock_wait(struct tasklet_struct *t) } #else #define tasklet_trylock(t) 1 @@ -65,7 +65,7 @@ index 65b1fe9..2c62107 100644 #define tasklet_unlock_wait(t) do { } while (0) #define tasklet_unlock(t) do { } while (0) #endif -@@ -517,17 +529,8 @@ static inline void tasklet_disable(struct tasklet_struct *t) +@@ -519,17 +531,8 @@ static inline void tasklet_disable(struct tasklet_struct *t) smp_mb(); } @@ -86,7 +86,7 @@ index 65b1fe9..2c62107 100644 extern void tasklet_kill(struct tasklet_struct *t); extern void tasklet_kill_immediate(struct tasklet_struct *t, unsigned int cpu); diff --git a/kernel/softirq.c b/kernel/softirq.c -index 0bc8272..0846af2 100644 +index eda9c66..1be5ff4 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c @@ -398,15 +398,45 @@ struct tasklet_head diff --git a/tg3-fix-extra-arg-in-netif_tx_lock.patch b/tg3-fix-extra-arg-in-netif_tx_lock.patch index 83db5f5..9809cc7 100644 --- a/tg3-fix-extra-arg-in-netif_tx_lock.patch +++ b/tg3-fix-extra-arg-in-netif_tx_lock.patch @@ -1,4 +1,4 @@ -From e9cf387630b7d5fce3ab85ab9d2909af070e38f5 Mon Sep 17 00:00:00 2001 +From 4346a80a4d56867b6849a0c5ae5e0ddb28f07883 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 19:57:55 -0500 Subject: [PATCH] tg3: fix extra arg in netif_tx_lock @@ -25,7 +25,7 @@ break them out into separate explicit commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c -index 8405fb8..b04d3db 100644 +index 7f82b02..5cdbe0c 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c @@ -4410,7 +4410,7 @@ static void tg3_tx(struct tg3_napi *tnapi) diff --git a/timers-fix-timer-hotplug-on-rt.patch b/timers-fix-timer-hotplug-on-rt.patch index 91375b8..bbd8ac4 100644 --- a/timers-fix-timer-hotplug-on-rt.patch +++ b/timers-fix-timer-hotplug-on-rt.patch @@ -1,4 +1,4 @@ -From e5e57bd60fce5d9e674f8fb3a1eaeb0dee114337 Mon Sep 17 00:00:00 2001 +From 140de0542b255923d9276f6621b69b4e32507369 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:32 -0500 Subject: [PATCH] timers: fix timer hotplug on -rt @@ -12,10 +12,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/timer.c b/kernel/timer.c -index 09026a9..e7b2deb 100644 +index 9f1a662..47ff839 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1610,6 +1610,7 @@ static void __cpuinit migrate_timers(int cpu) +@@ -1653,6 +1653,7 @@ static void __cpuinit migrate_timers(int cpu) { struct tvec_base *old_base; struct tvec_base *new_base; @@ -23,7 +23,7 @@ index 09026a9..e7b2deb 100644 int i; BUG_ON(cpu_online(cpu)); -@@ -1619,8 +1620,11 @@ static void __cpuinit migrate_timers(int cpu) +@@ -1662,8 +1663,11 @@ static void __cpuinit migrate_timers(int cpu) * The caller is globally serialized and nobody else * takes two locks at once, deadlock is not possible. */ @@ -37,7 +37,7 @@ index 09026a9..e7b2deb 100644 BUG_ON(old_base->running_timer); -@@ -1634,7 +1638,9 @@ static void __cpuinit migrate_timers(int cpu) +@@ -1677,7 +1681,9 @@ static void __cpuinit migrate_timers(int cpu) } spin_unlock(&old_base->lock); diff --git a/timers-mov-printk_tick-to-soft-interrupt.patch b/timers-mov-printk_tick-to-soft-interrupt.patch index a1820c8..fbbf781 100644 --- a/timers-mov-printk_tick-to-soft-interrupt.patch +++ b/timers-mov-printk_tick-to-soft-interrupt.patch @@ -1,4 +1,4 @@ -From 579cd35678c0044e1405b5451a2e731d265314fb Mon Sep 17 00:00:00 2001 +From d68cf2626668a9aa2409fcd48a716a949088b9ce Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:30 -0500 Subject: [PATCH] timers: mov printk_tick to soft interrupt @@ -10,10 +10,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/timer.c b/kernel/timer.c -index 359fa13..66c768e 100644 +index 47ff839..f0d478a 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1263,7 +1263,6 @@ void update_process_times(int user_tick) +@@ -1264,7 +1264,6 @@ void update_process_times(int user_tick) account_process_tick(p, user_tick); run_local_timers(); rcu_check_callbacks(cpu, user_tick); @@ -21,7 +21,7 @@ index 359fa13..66c768e 100644 perf_event_do_pending(); scheduler_tick(); run_posix_cpu_timers(p); -@@ -1276,6 +1274,7 @@ static void run_timer_softirq(struct softirq_action *h) +@@ -1277,6 +1276,7 @@ static void run_timer_softirq(struct softirq_action *h) { struct tvec_base *base = __get_cpu_var(tvec_bases); diff --git a/timers-preempt-rt-support.patch b/timers-preempt-rt-support.patch index d1ec522..b2ec326 100644 --- a/timers-preempt-rt-support.patch +++ b/timers-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From ce5ced14422f05ec0e658f5f8e02cf16bf37e4e6 Mon Sep 17 00:00:00 2001 +From d766bacb28e2ac29f6facd1c7995289b177b366c Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:20 -0500 Subject: [PATCH] timers: preempt-rt support @@ -10,10 +10,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/timer.c b/kernel/timer.c -index 0d31d5a..b207ee7 100644 +index fc3a98c..9f1a662 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1224,6 +1224,18 @@ unsigned long get_next_timer_interrupt(unsigned long now) +@@ -1226,6 +1226,18 @@ unsigned long get_next_timer_interrupt(unsigned long now) struct tvec_base *base = __get_cpu_var(tvec_bases); unsigned long expires; @@ -32,7 +32,7 @@ index 0d31d5a..b207ee7 100644 spin_lock(&base->lock); if (time_before_eq(base->next_timer, base->timer_jiffies)) base->next_timer = __next_timer_interrupt(base); -@@ -1232,7 +1244,7 @@ unsigned long get_next_timer_interrupt(unsigned long now) +@@ -1234,7 +1246,7 @@ unsigned long get_next_timer_interrupt(unsigned long now) if (time_before_eq(expires, now)) return now; @@ -41,7 +41,7 @@ index 0d31d5a..b207ee7 100644 return cmp_next_hrtimer_event(now, expires); } #endif -@@ -1257,30 +1269,12 @@ void update_process_times(int user_tick) +@@ -1259,30 +1271,12 @@ void update_process_times(int user_tick) } /* @@ -72,7 +72,7 @@ index 0d31d5a..b207ee7 100644 hrtimer_run_pending(); if (time_after_eq(jiffies, base->timer_jiffies)) -@@ -1306,6 +1300,7 @@ void run_local_timers(void) +@@ -1308,6 +1302,7 @@ void run_local_timers(void) void do_timer(unsigned long ticks) { jiffies_64 += ticks; diff --git a/trace-add-tracepoint-to-rtmutex_setprio.patch b/trace-add-tracepoint-to-rtmutex_setprio.patch index 108836c..3bdfde8 100644 --- a/trace-add-tracepoint-to-rtmutex_setprio.patch +++ b/trace-add-tracepoint-to-rtmutex_setprio.patch @@ -1,4 +1,4 @@ -From 030a7e2141947d71c3f908cf86848c41f923435d Mon Sep 17 00:00:00 2001 +From e95c36b00d47bb9f0b11527fb22fbdbb7eeaff5f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:38 -0500 Subject: [PATCH] trace: add tracepoint to rtmutex_setprio() @@ -51,10 +51,10 @@ index cfceb0b..354e98f 100644 */ TRACE_EVENT(sched_process_wait, diff --git a/kernel/sched.c b/kernel/sched.c -index 14caca9..f727d0e 100644 +index 07bc2d2..c19ddb3 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6111,6 +6111,8 @@ void task_setprio(struct task_struct *p, int prio) +@@ -6089,6 +6089,8 @@ void task_setprio(struct task_struct *p, int prio) p->prio = prio; diff --git a/trace-bundle-uprev-parts-from-merges.patch b/trace-bundle-uprev-parts-from-merges.patch index f64f2bd..380ff5f 100644 --- a/trace-bundle-uprev-parts-from-merges.patch +++ b/trace-bundle-uprev-parts-from-merges.patch @@ -1,4 +1,4 @@ -From 6b01d23dcf48380d3dc61c1fcc31961a2565fe63 Mon Sep 17 00:00:00 2001 +From fb1fff9a2ba4169a6900a83f6b7daf1c446a5c8c Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 17:07:07 -0500 Subject: [PATCH] trace bundle uprev parts from merges. @@ -964,7 +964,7 @@ index 83d8d2f..8300929 100644 return 0; } diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 9e44aa2..850918a 100644 +index f3a59f0..9e095ef 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -1191,11 +1191,12 @@ static void rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer); diff --git a/trace-disable-hw-branch-tracer-on-rt.patch b/trace-disable-hw-branch-tracer-on-rt.patch index 14bd17f..09c7155 100644 --- a/trace-disable-hw-branch-tracer-on-rt.patch +++ b/trace-disable-hw-branch-tracer-on-rt.patch @@ -1,4 +1,4 @@ -From 520d22385df681e3417065185b86065e2532f928 Mon Sep 17 00:00:00 2001 +From 94d2496b859a49815186a25ef079dc2190fc30e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:36 -0500 Subject: [PATCH] trace: disable hw-branch tracer on -rt @@ -8,10 +8,10 @@ commit 520d22385df681e3417065185b86065e2532f928 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index 43eb234..8694745 100644 +index 6929bc7..abb64c5 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig -@@ -349,6 +349,7 @@ config STACK_TRACER +@@ -385,6 +385,7 @@ config STACK_TRACER config HW_BRANCH_TRACER depends on HAVE_HW_BRANCH_TRACER diff --git a/trace-fix-erroneous-histogram-stop-WARN_ON-messages.patch b/trace-fix-erroneous-histogram-stop-WARN_ON-messages.patch index 984ac63..efbd8c7 100644 --- a/trace-fix-erroneous-histogram-stop-WARN_ON-messages.patch +++ b/trace-fix-erroneous-histogram-stop-WARN_ON-messages.patch @@ -1,4 +1,4 @@ -From ec4ed75d7e2fedd6c353d63be2583acd3d411b43 Mon Sep 17 00:00:00 2001 +From 013a5f1c93f785c733f2cf9647ef9042ae085514 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:29 -0500 Subject: [PATCH] trace: fix erroneous histogram stop WARN_ON() messages @@ -18,10 +18,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> diff --git a/arch/x86/include/asm/timer.h b/arch/x86/include/asm/timer.h -index 20ca9c4..1c4277a 100644 +index 5469630..3d20117 100644 --- a/arch/x86/include/asm/timer.h +++ b/arch/x86/include/asm/timer.h -@@ -62,9 +62,9 @@ static inline unsigned long long cycles_2_ns(unsigned long long cyc) +@@ -58,9 +58,9 @@ static inline unsigned long long cycles_2_ns(unsigned long long cyc) unsigned long long ns; unsigned long flags; diff --git a/trace-function-profiler-band-aid.patch b/trace-function-profiler-band-aid.patch index c1ce96e..0fff1cd 100644 --- a/trace-function-profiler-band-aid.patch +++ b/trace-function-profiler-band-aid.patch @@ -1,4 +1,4 @@ -From dea2d9a0550f1a8da36a380567b61de9d9a83208 Mon Sep 17 00:00:00 2001 +From d0c4e140d4d2bb517517aca54c221836e9b72483 Mon Sep 17 00:00:00 2001 From: Luis Claudio R. Goncalves <lclaudio@uudg.org> Date: Fri, 3 Jul 2009 13:16:33 -0500 Subject: [PATCH] trace: function profiler band-aid @@ -28,10 +28,10 @@ Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index 4521c77..4e48a3f 100644 +index 1e6640f..a6d0ebe 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c -@@ -377,7 +377,8 @@ static int function_stat_show(struct seq_file *m, void *v) +@@ -392,7 +392,8 @@ static int function_stat_show(struct seq_file *m, void *v) #ifdef CONFIG_FUNCTION_GRAPH_TRACER seq_printf(m, " "); avg = rec->time; @@ -42,10 +42,10 @@ index 4521c77..4e48a3f 100644 mutex_lock(&mutex); trace_seq_init(&s); diff --git a/kernel/trace/trace_functions_graph.c b/kernel/trace/trace_functions_graph.c -index d2249ab..acd847f 100644 +index b1342c5..c2eef67 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c -@@ -470,7 +470,7 @@ trace_print_graph_duration(unsigned long long duration, struct trace_seq *s) +@@ -608,7 +608,7 @@ trace_print_graph_duration(unsigned long long duration, struct trace_seq *s) int ret, len; int i; diff --git a/trace-rt-support.patch b/trace-rt-support.patch index 4884753..b6a20f6 100644 --- a/trace-rt-support.patch +++ b/trace-rt-support.patch @@ -1,4 +1,4 @@ -From cf38a9d10ee2a550f278693726e1a74082237a3e Mon Sep 17 00:00:00 2001 +From 9e7b2269c526f2118b9c24849f9c29bba61dedd2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:30:28 -0500 Subject: [PATCH] trace: rt support @@ -10,7 +10,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index e7e9438..9b66ee1 100644 +index e599a03..4af5b21 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -272,6 +272,11 @@ void trace_wake_up(void) diff --git a/tracing-Add-histograms-of-potential-and-effective-wa.patch b/tracing-Add-histograms-of-potential-and-effective-wa.patch index 066d992..418eb76 100644 --- a/tracing-Add-histograms-of-potential-and-effective-wa.patch +++ b/tracing-Add-histograms-of-potential-and-effective-wa.patch @@ -1,4 +1,4 @@ -From 7023a9885b1097187da492dce37206b072cf6b43 Mon Sep 17 00:00:00 2001 +From e4dbb65eed75b4b081ad8fd53c181f51d14d28f1 Mon Sep 17 00:00:00 2001 From: Carsten Emde <Carsten.Emde@osadl.org> Date: Tue, 15 Sep 2009 02:20:37 +0200 Subject: [PATCH] tracing: Add histograms of potential and effective wakeup latencies @@ -26,7 +26,7 @@ Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/Documentation/trace/histograms.txt b/Documentation/trace/histograms.txt new file mode 100644 -index 0000000..6645057 +index 0000000..78df495 --- /dev/null +++ b/Documentation/trace/histograms.txt @@ -0,0 +1,156 @@ @@ -187,10 +187,10 @@ index 0000000..6645057 + +These data are also reset when the wakeup histogram is reset. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 8c3a789..92170f0 100644 +index 5ceabb5..d1d4df4 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2093,6 +2093,7 @@ extern int sched_setscheduler_nocheck(struct task_struct *, int, +@@ -2092,6 +2092,7 @@ extern int sched_setscheduler_nocheck(struct task_struct *, int, extern struct task_struct *idle_task(int cpu); extern struct task_struct *curr_task(int cpu); extern void set_curr_task(int cpu, struct task_struct *p); @@ -243,7 +243,7 @@ index 0000000..73b0454 +#include <trace/define_trace.h> diff --git a/include/trace/events/latency_hist.h b/include/trace/events/latency_hist.h new file mode 100644 -index 0000000..d6b5d77 +index 0000000..7f70794 --- /dev/null +++ b/include/trace/events/latency_hist.h @@ -0,0 +1,29 @@ @@ -277,7 +277,7 @@ index 0000000..d6b5d77 + +#endif /* _LATENCY_HIST_H */ diff --git a/init/main.c b/init/main.c -index 425b757..e170aa7 100644 +index ed4c511..b90180a 100644 --- a/init/main.c +++ b/init/main.c @@ -899,7 +899,7 @@ static int __init kernel_init(void * unused) @@ -307,10 +307,10 @@ index 425b757..e170aa7 100644 printk(KERN_ERR "* CONFIG_WAKEUP_LATENCY_HIST *\n"); #endif diff --git a/kernel/sched.c b/kernel/sched.c -index 98e02da..e9c855f 100644 +index 9676d63..50e6608 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -682,6 +682,11 @@ struct rq { +@@ -660,6 +660,11 @@ struct rq { #endif }; diff --git a/tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch b/tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch index d627096..b5089c6 100644 --- a/tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch +++ b/tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch @@ -1,4 +1,4 @@ -From dc7dde7adbc57b7461b4b1302c94fe31699f60e2 Mon Sep 17 00:00:00 2001 +From b74e20102c13e1aa0e4470d7301ecab7192956c1 Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Wed, 8 Sep 2010 11:20:37 -0400 Subject: [PATCH] tracing: Do not allow llseek to set_ftrace_filter @@ -36,7 +36,7 @@ Cc: <stable@kernel.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index 9ed787f..a30e205 100644 +index a6d0ebe..4a23d1f 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -2410,7 +2410,7 @@ static const struct file_operations ftrace_filter_fops = { diff --git a/tracing-Update-the-comm-field-in-the-right-variable-.patch b/tracing-Update-the-comm-field-in-the-right-variable-.patch index 7c7b3f7..468feb6 100644 --- a/tracing-Update-the-comm-field-in-the-right-variable-.patch +++ b/tracing-Update-the-comm-field-in-the-right-variable-.patch @@ -1,4 +1,4 @@ -From b5ac516899cddc495436a8c0f9c8c6e657a5240d Mon Sep 17 00:00:00 2001 +From c02c7c6312ac15987dd78175d48ee97405fe8b6b Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo <acme@redhat.com> Date: Fri, 5 Mar 2010 18:23:50 -0300 Subject: [PATCH] tracing: Update the comm field in the right variable in update_max_tr @@ -31,7 +31,7 @@ Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> ] diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 9b66ee1..a1cf0ad 100644 +index 4af5b21..8ed1e35 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -520,7 +520,7 @@ static void diff --git a/tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch b/tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch index c5e8f4d..9f441b9 100644 --- a/tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch +++ b/tty-Do-not-disable-interrupts-in-put_ldisc-on-rt.patch @@ -1,4 +1,4 @@ -From b67602a5975990e35c964312a9da333e594e3840 Mon Sep 17 00:00:00 2001 +From 0911dbb6c9da67011ee6139087b3c8c99d9a8f0e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 17 Aug 2009 19:49:19 +0200 Subject: [PATCH] tty: Do not disable interrupts in put_ldisc on -rt @@ -25,10 +25,10 @@ Call Trace: Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/char/tty_ldisc.c b/drivers/char/tty_ldisc.c -index 1733d34..173afad 100644 +index 3f653f7..53b87b5 100644 --- a/drivers/char/tty_ldisc.c +++ b/drivers/char/tty_ldisc.c -@@ -69,7 +69,7 @@ static void put_ldisc(struct tty_ldisc *ld) +@@ -71,7 +71,7 @@ static void put_ldisc(struct tty_ldisc *ld) * We really want an "atomic_dec_and_lock_irqsave()", * but we don't have it, so this does it by hand. */ @@ -37,7 +37,7 @@ index 1733d34..173afad 100644 if (atomic_dec_and_lock(&ld->users, &tty_ldisc_lock)) { struct tty_ldisc_ops *ldo = ld->ops; -@@ -80,7 +80,7 @@ static void put_ldisc(struct tty_ldisc *ld) +@@ -82,7 +82,7 @@ static void put_ldisc(struct tty_ldisc *ld) kfree(ld); return; } diff --git a/usb-dont-disable-irqs-on-RT.patch b/usb-dont-disable-irqs-on-RT.patch index 6f587dd..622d0bb 100644 --- a/usb-dont-disable-irqs-on-RT.patch +++ b/usb-dont-disable-irqs-on-RT.patch @@ -1,4 +1,4 @@ -From 30a9d03116e112b018942bdf7049f0f66fb243a1 Mon Sep 17 00:00:00 2001 +From 4b9ea4fc3e6fd636d2b7150a9c761dee36299d9e Mon Sep 17 00:00:00 2001 From: Steven Rostedt <srostedt@redhat.com> Date: Fri, 3 Jul 2009 08:44:26 -0500 Subject: [PATCH] usb: dont disable irqs on RT @@ -10,10 +10,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 95ccfa0..167548a 100644 +index 80995ef..94a217a 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -1880,7 +1880,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) +@@ -1946,7 +1946,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) * when the first handler doesn't use it. So let's just * assume it's never used. */ @@ -22,7 +22,7 @@ index 95ccfa0..167548a 100644 if (unlikely(hcd->state == HC_STATE_HALT || !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) { -@@ -1895,7 +1895,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) +@@ -1961,7 +1961,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) rc = IRQ_HANDLED; } diff --git a/usb-gadgetfs-Convert-semaphore-to-mutex.patch b/usb-gadgetfs-Convert-semaphore-to-mutex.patch index a992164..30c3fe6 100644 --- a/usb-gadgetfs-Convert-semaphore-to-mutex.patch +++ b/usb-gadgetfs-Convert-semaphore-to-mutex.patch @@ -1,4 +1,4 @@ -From fb8f31a2a04cb68dd26ad27559a3b9f0653a478c Mon Sep 17 00:00:00 2001 +From 9017ce568f43983b320098d76d5c6b7529bfe9d9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:48:34 +0200 Subject: [PATCH] usb: gadgetfs: Convert semaphore to mutex @@ -11,10 +11,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@suse.de> diff --git a/drivers/usb/gadget/inode.c b/drivers/usb/gadget/inode.c -index 7d33f50..2e2ae7f 100644 +index bf0f652..30ce48d 100644 --- a/drivers/usb/gadget/inode.c +++ b/drivers/usb/gadget/inode.c -@@ -193,7 +193,7 @@ enum ep_state { +@@ -194,7 +194,7 @@ enum ep_state { }; struct ep_data { @@ -23,7 +23,7 @@ index 7d33f50..2e2ae7f 100644 enum ep_state state; atomic_t count; struct dev_data *dev; -@@ -297,10 +297,10 @@ get_ready_ep (unsigned f_flags, struct ep_data *epdata) +@@ -298,10 +298,10 @@ get_ready_ep (unsigned f_flags, struct ep_data *epdata) int val; if (f_flags & O_NONBLOCK) { @@ -36,7 +36,7 @@ index 7d33f50..2e2ae7f 100644 nonblock: val = -EAGAIN; } else -@@ -308,7 +308,8 @@ nonblock: +@@ -309,7 +309,8 @@ nonblock: return val; } @@ -46,7 +46,7 @@ index 7d33f50..2e2ae7f 100644 return val; switch (epdata->state) { -@@ -322,7 +323,7 @@ nonblock: +@@ -323,7 +324,7 @@ nonblock: // FALLTHROUGH case STATE_EP_UNBOUND: /* clean disconnect */ val = -ENODEV; @@ -55,7 +55,7 @@ index 7d33f50..2e2ae7f 100644 } return val; } -@@ -392,7 +393,7 @@ ep_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr) +@@ -393,7 +394,7 @@ ep_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr) if (likely (data->ep != NULL)) usb_ep_set_halt (data->ep); spin_unlock_irq (&data->dev->lock); @@ -64,7 +64,7 @@ index 7d33f50..2e2ae7f 100644 return -EBADMSG; } -@@ -410,7 +411,7 @@ ep_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr) +@@ -411,7 +412,7 @@ ep_read (struct file *fd, char __user *buf, size_t len, loff_t *ptr) value = -EFAULT; free1: @@ -73,7 +73,7 @@ index 7d33f50..2e2ae7f 100644 kfree (kbuf); return value; } -@@ -435,7 +436,7 @@ ep_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr) +@@ -436,7 +437,7 @@ ep_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr) if (likely (data->ep != NULL)) usb_ep_set_halt (data->ep); spin_unlock_irq (&data->dev->lock); @@ -82,7 +82,7 @@ index 7d33f50..2e2ae7f 100644 return -EBADMSG; } -@@ -454,7 +455,7 @@ ep_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr) +@@ -455,7 +456,7 @@ ep_write (struct file *fd, const char __user *buf, size_t len, loff_t *ptr) VDEBUG (data->dev, "%s write %zu IN, status %d\n", data->name, len, (int) value); free1: @@ -91,7 +91,7 @@ index 7d33f50..2e2ae7f 100644 kfree (kbuf); return value; } -@@ -465,7 +466,8 @@ ep_release (struct inode *inode, struct file *fd) +@@ -466,7 +467,8 @@ ep_release (struct inode *inode, struct file *fd) struct ep_data *data = fd->private_data; int value; @@ -101,7 +101,7 @@ index 7d33f50..2e2ae7f 100644 return value; /* clean up if this can be reopened */ -@@ -475,7 +477,7 @@ ep_release (struct inode *inode, struct file *fd) +@@ -476,7 +478,7 @@ ep_release (struct inode *inode, struct file *fd) data->hs_desc.bDescriptorType = 0; usb_ep_disable(data->ep); } @@ -110,7 +110,7 @@ index 7d33f50..2e2ae7f 100644 put_ep (data); return 0; } -@@ -506,7 +508,7 @@ static long ep_ioctl(struct file *fd, unsigned code, unsigned long value) +@@ -507,7 +509,7 @@ static long ep_ioctl(struct file *fd, unsigned code, unsigned long value) } else status = -ENODEV; spin_unlock_irq (&data->dev->lock); @@ -119,7 +119,7 @@ index 7d33f50..2e2ae7f 100644 return status; } -@@ -672,7 +674,7 @@ fail: +@@ -673,7 +675,7 @@ fail: value = -ENODEV; spin_unlock_irq(&epdata->dev->lock); @@ -128,7 +128,7 @@ index 7d33f50..2e2ae7f 100644 if (unlikely(value)) { kfree(priv); -@@ -764,7 +766,8 @@ ep_config (struct file *fd, const char __user *buf, size_t len, loff_t *ptr) +@@ -765,7 +767,8 @@ ep_config (struct file *fd, const char __user *buf, size_t len, loff_t *ptr) u32 tag; int value, length = len; @@ -138,7 +138,7 @@ index 7d33f50..2e2ae7f 100644 return value; if (data->state != STATE_EP_READY) { -@@ -853,7 +856,7 @@ fail: +@@ -854,7 +857,7 @@ fail: data->desc.bDescriptorType = 0; data->hs_desc.bDescriptorType = 0; } @@ -147,7 +147,7 @@ index 7d33f50..2e2ae7f 100644 return value; fail0: value = -EINVAL; -@@ -869,7 +872,7 @@ ep_open (struct inode *inode, struct file *fd) +@@ -870,7 +873,7 @@ ep_open (struct inode *inode, struct file *fd) struct ep_data *data = inode->i_private; int value = -EBUSY; @@ -156,7 +156,7 @@ index 7d33f50..2e2ae7f 100644 return -EINTR; spin_lock_irq (&data->dev->lock); if (data->dev->state == STATE_DEV_UNBOUND) -@@ -884,7 +887,7 @@ ep_open (struct inode *inode, struct file *fd) +@@ -885,7 +888,7 @@ ep_open (struct inode *inode, struct file *fd) DBG (data->dev, "%s state %d\n", data->name, data->state); spin_unlock_irq (&data->dev->lock); @@ -165,7 +165,7 @@ index 7d33f50..2e2ae7f 100644 return value; } -@@ -1630,7 +1633,7 @@ static int activate_ep_files (struct dev_data *dev) +@@ -1631,7 +1634,7 @@ static int activate_ep_files (struct dev_data *dev) if (!data) goto enomem0; data->state = STATE_EP_DISABLED; diff --git a/usb-rt-support.patch b/usb-rt-support.patch index 952ab22..0262684 100644 --- a/usb-rt-support.patch +++ b/usb-rt-support.patch @@ -1,4 +1,4 @@ -From 186505e1b485cfbda01a01fc9e14ce0951673865 Mon Sep 17 00:00:00 2001 +From c9218ede599f68376fc3ed1aa0cfa7dae5ff4014 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:22 -0500 Subject: [PATCH] usb: rt support @@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c -index 4fd67d6..5aca447 100644 +index a678186..1f07cbf 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c @@ -393,8 +393,9 @@ static void async_completed(struct urb *urb) @@ -34,7 +34,7 @@ index 4fd67d6..5aca447 100644 if (signr) kill_pid_info_as_uid(sinfo.si_signo, &sinfo, pid, uid, diff --git a/drivers/usb/core/message.c b/drivers/usb/core/message.c -index 1a48aac..5417ab1 100644 +index 9bc95fe..405f479 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -269,8 +269,9 @@ static void sg_complete(struct urb *urb) diff --git a/video-Convert-vga-console-lock-to-raw_spinlock.patch b/video-Convert-vga-console-lock-to-raw_spinlock.patch index 09825c5..486b218 100644 --- a/video-Convert-vga-console-lock-to-raw_spinlock.patch +++ b/video-Convert-vga-console-lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 87f163a2ab9601820c2a6b7d14f81ab3d7d2b642 Mon Sep 17 00:00:00 2001 +From f43e00aa79a423502cb8be919a8538fef9c09ad9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:17:02 +0200 Subject: [PATCH] video: Convert vga console lock to raw_spinlock @@ -8,7 +8,7 @@ commit 87f163a2ab9601820c2a6b7d14f81ab3d7d2b642 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c -index 59d7d5e..41cc04c 100644 +index cc4bbbe..7f29a2e 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c @@ -51,7 +51,7 @@ @@ -38,7 +38,7 @@ index 59d7d5e..41cc04c 100644 } static inline void vga_set_mem_top(struct vc_data *c) -@@ -662,7 +662,7 @@ static void vgacon_set_cursor_size(int xpos, int from, int to) +@@ -668,7 +668,7 @@ static void vgacon_set_cursor_size(int xpos, int from, int to) cursor_size_lastfrom = from; cursor_size_lastto = to; @@ -47,7 +47,7 @@ index 59d7d5e..41cc04c 100644 if (vga_video_type >= VIDEO_TYPE_VGAC) { outb_p(VGA_CRTC_CURSOR_START, vga_video_port_reg); curs = inb_p(vga_video_port_val); -@@ -680,7 +680,7 @@ static void vgacon_set_cursor_size(int xpos, int from, int to) +@@ -686,7 +686,7 @@ static void vgacon_set_cursor_size(int xpos, int from, int to) outb_p(curs, vga_video_port_val); outb_p(VGA_CRTC_CURSOR_END, vga_video_port_reg); outb_p(cure, vga_video_port_val); @@ -56,7 +56,7 @@ index 59d7d5e..41cc04c 100644 } static void vgacon_cursor(struct vc_data *c, int mode) -@@ -755,7 +755,7 @@ static int vgacon_doresize(struct vc_data *c, +@@ -761,7 +761,7 @@ static int vgacon_doresize(struct vc_data *c, unsigned int scanlines = height * c->vc_font.height; u8 scanlines_lo = 0, r7 = 0, vsync_end = 0, mode, max_scan; @@ -65,7 +65,7 @@ index 59d7d5e..41cc04c 100644 vgacon_xres = width * VGA_FONTWIDTH; vgacon_yres = height * c->vc_font.height; -@@ -806,7 +806,7 @@ static int vgacon_doresize(struct vc_data *c, +@@ -812,7 +812,7 @@ static int vgacon_doresize(struct vc_data *c, outb_p(vsync_end, vga_video_port_val); } @@ -74,7 +74,7 @@ index 59d7d5e..41cc04c 100644 return 0; } -@@ -889,11 +889,11 @@ static void vga_vesa_blank(struct vgastate *state, int mode) +@@ -895,11 +895,11 @@ static void vga_vesa_blank(struct vgastate *state, int mode) { /* save original values of VGA controller registers */ if (!vga_vesa_blanked) { @@ -88,7 +88,7 @@ index 59d7d5e..41cc04c 100644 outb_p(0x00, vga_video_port_reg); /* HorizontalTotal */ vga_state.HorizontalTotal = inb_p(vga_video_port_val); -@@ -916,7 +916,7 @@ static void vga_vesa_blank(struct vgastate *state, int mode) +@@ -922,7 +922,7 @@ static void vga_vesa_blank(struct vgastate *state, int mode) /* assure that video is enabled */ /* "0x20" is VIDEO_ENABLE_bit in register 01 of sequencer */ @@ -97,7 +97,7 @@ index 59d7d5e..41cc04c 100644 vga_wseq(state->vgabase, VGA_SEQ_CLOCK_MODE, vga_state.ClockingMode | 0x20); /* test for vertical retrace in process.... */ -@@ -952,13 +952,13 @@ static void vga_vesa_blank(struct vgastate *state, int mode) +@@ -958,13 +958,13 @@ static void vga_vesa_blank(struct vgastate *state, int mode) /* restore both index registers */ vga_w(state->vgabase, VGA_SEQ_I, vga_state.SeqCtrlIndex); outb_p(vga_state.CrtCtrlIndex, vga_video_port_reg); @@ -113,7 +113,7 @@ index 59d7d5e..41cc04c 100644 vga_w(state->vgabase, VGA_MIS_W, vga_state.CrtMiscIO); outb_p(0x00, vga_video_port_reg); /* HorizontalTotal */ -@@ -983,7 +983,7 @@ static void vga_vesa_unblank(struct vgastate *state) +@@ -989,7 +989,7 @@ static void vga_vesa_unblank(struct vgastate *state) /* restore index/control registers */ vga_w(state->vgabase, VGA_SEQ_I, vga_state.SeqCtrlIndex); outb_p(vga_state.CrtCtrlIndex, vga_video_port_reg); @@ -122,7 +122,7 @@ index 59d7d5e..41cc04c 100644 } static void vga_pal_blank(struct vgastate *state) -@@ -1103,7 +1103,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) +@@ -1109,7 +1109,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) #endif unlock_kernel(); @@ -131,7 +131,7 @@ index 59d7d5e..41cc04c 100644 /* First, the Sequencer */ vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x1); /* CPU writes only to map 2 */ -@@ -1119,7 +1119,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) +@@ -1125,7 +1125,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) vga_wgfx(state->vgabase, VGA_GFX_MODE, 0x00); /* map start at A000:0000 */ vga_wgfx(state->vgabase, VGA_GFX_MISC, 0x00); @@ -140,7 +140,7 @@ index 59d7d5e..41cc04c 100644 if (arg) { if (set) -@@ -1146,7 +1146,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) +@@ -1152,7 +1152,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) } } @@ -149,7 +149,7 @@ index 59d7d5e..41cc04c 100644 /* First, the sequencer, Synchronous reset */ vga_wseq(state->vgabase, VGA_SEQ_RESET, 0x01); /* CPU writes to maps 0 and 1 */ -@@ -1185,7 +1185,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) +@@ -1191,7 +1191,7 @@ static int vgacon_do_font_op(struct vgastate *state,char *arg,int set,int ch512) inb_p(video_port_status); vga_wattr(state->vgabase, VGA_AR_ENABLE_DISPLAY, 0); } @@ -158,7 +158,7 @@ index 59d7d5e..41cc04c 100644 lock_kernel(); return 0; } -@@ -1211,26 +1211,26 @@ static int vgacon_adjust_height(struct vc_data *vc, unsigned fontheight) +@@ -1217,26 +1217,26 @@ static int vgacon_adjust_height(struct vc_data *vc, unsigned fontheight) registers; they are write-only on EGA, but it appears that they are all don't care bits on EGA, so I guess it doesn't matter. */ diff --git a/x86-Convert-pci_config_lock-to-raw_spinlock.patch b/x86-Convert-pci_config_lock-to-raw_spinlock.patch index e38feca..a133823 100644 --- a/x86-Convert-pci_config_lock-to-raw_spinlock.patch +++ b/x86-Convert-pci_config_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From bde31e2e149219765bb3a4bb3c568fa9623b5521 Mon Sep 17 00:00:00 2001 +From 7b252b44fbb763fe42018380c723b03a39a04aad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 18:27:52 +0200 Subject: [PATCH] x86: Convert pci_config_lock to raw_spinlock @@ -8,7 +8,7 @@ commit bde31e2e149219765bb3a4bb3c568fa9623b5521 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/include/asm/pci_x86.h b/arch/x86/include/asm/pci_x86.h -index b399988..a2baf26 100644 +index b4bf9a9..567d009 100644 --- a/arch/x86/include/asm/pci_x86.h +++ b/arch/x86/include/asm/pci_x86.h @@ -83,7 +83,7 @@ struct irq_routing_table { @@ -21,7 +21,7 @@ index b399988..a2baf26 100644 extern int (*pcibios_enable_irq)(struct pci_dev *dev); extern void (*pcibios_disable_irq)(struct pci_dev *dev); diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c -index 2202b62..fc2697c 100644 +index d2552c6..b79d322 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c @@ -81,7 +81,7 @@ int pcibios_scanned; @@ -34,7 +34,7 @@ index 2202b62..fc2697c 100644 static int __devinit can_skip_ioresource_align(const struct dmi_system_id *d) { diff --git a/arch/x86/pci/direct.c b/arch/x86/pci/direct.c -index bd13c3e..286ca01 100644 +index 347d882..bd33620 100644 --- a/arch/x86/pci/direct.c +++ b/arch/x86/pci/direct.c @@ -27,7 +27,7 @@ static int pci_conf1_read(unsigned int seg, unsigned int bus, @@ -110,10 +110,10 @@ index bd13c3e..286ca01 100644 return 0; } diff --git a/arch/x86/pci/mmconfig_32.c b/arch/x86/pci/mmconfig_32.c -index 8b2d561..7ca333f 100644 +index 90d5fd4..a3d9c54 100644 --- a/arch/x86/pci/mmconfig_32.c +++ b/arch/x86/pci/mmconfig_32.c -@@ -72,7 +72,7 @@ err: *value = -1; +@@ -64,7 +64,7 @@ err: *value = -1; if (!base) goto err; @@ -122,7 +122,7 @@ index 8b2d561..7ca333f 100644 pci_exp_set_dev_base(base, bus, devfn); -@@ -87,7 +87,7 @@ err: *value = -1; +@@ -79,7 +79,7 @@ err: *value = -1; *value = mmio_config_readl(mmcfg_virt_addr + reg); break; } @@ -131,7 +131,7 @@ index 8b2d561..7ca333f 100644 return 0; } -@@ -105,7 +105,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, +@@ -97,7 +97,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, if (!base) return -EINVAL; @@ -140,7 +140,7 @@ index 8b2d561..7ca333f 100644 pci_exp_set_dev_base(base, bus, devfn); -@@ -120,7 +120,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, +@@ -112,7 +112,7 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus, mmio_config_writel(mmcfg_virt_addr + reg, value); break; } @@ -150,7 +150,7 @@ index 8b2d561..7ca333f 100644 return 0; } diff --git a/arch/x86/pci/numaq_32.c b/arch/x86/pci/numaq_32.c -index 8eb295e..f2a1f1f 100644 +index 8eb295e..2dad4dc 100644 --- a/arch/x86/pci/numaq_32.c +++ b/arch/x86/pci/numaq_32.c @@ -41,7 +41,7 @@ static int pci_conf1_mq_read(unsigned int seg, unsigned int bus, @@ -190,7 +190,7 @@ index 8eb295e..f2a1f1f 100644 return 0; } diff --git a/arch/x86/pci/pcbios.c b/arch/x86/pci/pcbios.c -index 1c975cc..ffebd80 100644 +index 1c975cc..2daa521 100644 --- a/arch/x86/pci/pcbios.c +++ b/arch/x86/pci/pcbios.c @@ -161,7 +161,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus, diff --git a/x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch b/x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch index d3fa16c..9867cbe 100644 --- a/x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch +++ b/x86-Disable-IST-stacks-for-debug-int-3-stack-fault-f.patch @@ -1,4 +1,4 @@ -From a57c178479855928b3e4a81d53d3e9f6cb9fb0b5 Mon Sep 17 00:00:00 2001 +From 255d5b8dab6dc68c12ac8efe9919847a5db82abd Mon Sep 17 00:00:00 2001 From: Andi Kleen <ak@suse.de> Date: Fri, 3 Jul 2009 08:44:10 -0500 Subject: [PATCH] x86: Disable IST stacks for debug/int 3/stack fault for PREEMPT_RT @@ -87,7 +87,7 @@ index 4868e4a..fae7a32 100644 static DEFINE_PER_CPU_PAGE_ALIGNED(char, exception_stacks diff --git a/arch/x86/kernel/dumpstack_64.c b/arch/x86/kernel/dumpstack_64.c -index a6c906c..9c0393a 100644 +index 0ad9597..bd49ca5 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c @@ -22,10 +22,14 @@ diff --git a/x86-Disable-SPARSE_IRQ-DMAR-INTR_REMAP-when-PREEMPT_.patch b/x86-Disable-SPARSE_IRQ-DMAR-INTR_REMAP-when-PREEMPT_.patch index 9baf0e4..12766b9 100644 --- a/x86-Disable-SPARSE_IRQ-DMAR-INTR_REMAP-when-PREEMPT_.patch +++ b/x86-Disable-SPARSE_IRQ-DMAR-INTR_REMAP-when-PREEMPT_.patch @@ -1,4 +1,4 @@ -From 82c07cbbdf7d44564497122eb6d984ffe2497fa3 Mon Sep 17 00:00:00 2001 +From 42ba3c84abfea57314bf01c5a228213040c384b9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 18 Sep 2009 17:40:49 +0200 Subject: [PATCH] x86: Disable SPARSE_IRQ, DMAR, INTR_REMAP when PREEMPT_RT=y @@ -11,10 +11,10 @@ of grief with these features. Needs some real work to get that solved. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 2ddf286..bc24095 100644 +index 8b29139..f50f8b0 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -281,6 +281,7 @@ config X86_X2APIC +@@ -289,6 +289,7 @@ config X86_X2APIC config SPARSE_IRQ bool "Support sparse irq numbering" depends on PCI_MSI || HT_IRQ @@ -22,7 +22,7 @@ index 2ddf286..bc24095 100644 ---help--- This enables support for sparse irqs. This is useful for distro kernels that want to define a high CONFIG_NR_CPUS value but still -@@ -1902,7 +1903,7 @@ config PCI_MMCONFIG +@@ -1906,7 +1907,7 @@ config PCI_MMCONFIG config DMAR bool "Support for DMA Remapping Devices (EXPERIMENTAL)" @@ -31,7 +31,7 @@ index 2ddf286..bc24095 100644 help DMA remapping (DMAR) devices support enables independent address translations for Direct Memory Access (DMA) from devices. -@@ -1945,6 +1946,7 @@ config DMAR_FLOPPY_WA +@@ -1949,6 +1950,7 @@ config DMAR_FLOPPY_WA config INTR_REMAP bool "Support for Interrupt Remapping (EXPERIMENTAL)" depends on X86_64 && X86_IO_APIC && PCI_MSI && ACPI && EXPERIMENTAL diff --git a/x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch b/x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch index 1100100..d64b75b 100644 --- a/x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch +++ b/x86-Do-not-unmask-io_apic-when-interrupt-is-in-progr.patch @@ -1,4 +1,4 @@ -From 3f87904e73bfb67c331016bcb8846771cce43bfc Mon Sep 17 00:00:00 2001 +From 141e2a07463caa77d10cd52b4b36e4ee77bf13a3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:27 -0500 Subject: [PATCH] x86: Do not unmask io_apic when interrupt is in progress @@ -12,10 +12,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 6ad845e..ce322b2 100644 +index 53243ca..678dc18 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -2528,7 +2528,8 @@ static void ack_apic_level(unsigned int irq) +@@ -2570,7 +2570,8 @@ static void ack_apic_level(unsigned int irq) irq_complete_move(&desc); #ifdef CONFIG_GENERIC_PENDING_IRQ /* If we are moving the irq we need to mask it */ diff --git a/x86-Fix-32bit-HIGHMEM-n-compile.patch b/x86-Fix-32bit-HIGHMEM-n-compile.patch index 518eb14..6ed69e1 100644 --- a/x86-Fix-32bit-HIGHMEM-n-compile.patch +++ b/x86-Fix-32bit-HIGHMEM-n-compile.patch @@ -1,4 +1,4 @@ -From 4d500f873da12c9761a05f0a0324acc08dec80a2 Mon Sep 17 00:00:00 2001 +From 7537550aa94716d1150c8bcb7a61541abf8bc6fb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 10 Mar 2010 23:07:50 +0100 Subject: [PATCH] x86: Fix 32bit HIGHMEM=n compile @@ -9,7 +9,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index b316b77..e97d6d3 100644 +index f50f8b0..f039584 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -2081,7 +2081,7 @@ endmenu diff --git a/x86-GTOD-offer-scalable-vgettimeofday.patch b/x86-GTOD-offer-scalable-vgettimeofday.patch index 228e226..ce290e9 100644 --- a/x86-GTOD-offer-scalable-vgettimeofday.patch +++ b/x86-GTOD-offer-scalable-vgettimeofday.patch @@ -1,4 +1,4 @@ -From 4b10b24a38155ecba8d585788b846119ae689a1b Mon Sep 17 00:00:00 2001 +From 137118f73bcc5a97d742749627bbf72264deb785 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:00 -0500 Subject: [PATCH] x86: GTOD: offer scalable vgettimeofday @@ -15,10 +15,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c -index 18d0d55..5c19a83 100644 +index 6520c37..00f768f 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c -@@ -123,6 +123,25 @@ static __always_inline void do_vgettimeofday(struct timeval * tv) +@@ -125,6 +125,25 @@ static __always_inline void do_vgettimeofday(struct timeval * tv) unsigned seq; unsigned long mult, shift, nsec; cycle_t (*vread)(void); diff --git a/x86-Mark-various-interrupts-IRQF_NODELAY.patch b/x86-Mark-various-interrupts-IRQF_NODELAY.patch index f7f5120..e1fbe03 100644 --- a/x86-Mark-various-interrupts-IRQF_NODELAY.patch +++ b/x86-Mark-various-interrupts-IRQF_NODELAY.patch @@ -1,4 +1,4 @@ -From 8e419d53135e146f3088c3c683c8a826bd64e140 Mon Sep 17 00:00:00 2001 +From 8db4a93eb6b6dab769ecaa76c254f0bc3bd9f9ce Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:35 -0500 Subject: [PATCH] x86: Mark various interrupts IRQF_NODELAY @@ -11,7 +11,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/irqinit.c b/arch/x86/kernel/irqinit.c -index 696f0e4..9505171 100644 +index d593222..7cdd31c 100644 --- a/arch/x86/kernel/irqinit.c +++ b/arch/x86/kernel/irqinit.c @@ -72,6 +72,7 @@ static irqreturn_t math_error_irq(int cpl, void *dev_id) @@ -31,10 +31,10 @@ index 696f0e4..9505171 100644 DEFINE_PER_CPU(vector_irq_t, vector_irq) = { diff --git a/arch/x86/kernel/visws_quirks.c b/arch/x86/kernel/visws_quirks.c -index 31ffc24..c40ba3f 100644 +index 34a279a..b7f6b7b 100644 --- a/arch/x86/kernel/visws_quirks.c +++ b/arch/x86/kernel/visws_quirks.c -@@ -643,11 +643,13 @@ out_unlock: +@@ -621,11 +621,13 @@ out_unlock: static struct irqaction master_action = { .handler = piix4_master_intr, .name = "PIIX4-8259", diff --git a/x86-No-pageattr_flush_unused-on-RT.patch b/x86-No-pageattr_flush_unused-on-RT.patch index a2df59f..6558bc1 100644 --- a/x86-No-pageattr_flush_unused-on-RT.patch +++ b/x86-No-pageattr_flush_unused-on-RT.patch @@ -1,4 +1,4 @@ -From 9ea2e5bb605809ebbe90571edf4c78163832e8ca Mon Sep 17 00:00:00 2001 +From ca5cc01ec3aab5b0dbc8337ca213319cd434b830 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:34 -0500 Subject: [PATCH] x86: No pageattr_flush_unused on RT @@ -9,10 +9,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c -index cf07c26..02e58e5 100644 +index 1d4eb93..a84a759 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c -@@ -882,8 +882,10 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, +@@ -861,8 +861,10 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, baddr = *addr; } diff --git a/x86-Optimize-and-fix-the-8259-ack-code-for-rt.patch b/x86-Optimize-and-fix-the-8259-ack-code-for-rt.patch index 844718d..4fbf877 100644 --- a/x86-Optimize-and-fix-the-8259-ack-code-for-rt.patch +++ b/x86-Optimize-and-fix-the-8259-ack-code-for-rt.patch @@ -1,4 +1,4 @@ -From 600b1f32140d45f06ddbe68db9788f6f59013e8b Mon Sep 17 00:00:00 2001 +From 5b28df58db43f29fc7d87d005243a2c1c6280425 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:35 -0500 Subject: [PATCH] x86: Optimize and fix the 8259 ack code for -rt @@ -9,7 +9,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c -index eadb891..6fbe669 100644 +index 8c93a84..96400fe 100644 --- a/arch/x86/kernel/i8259.c +++ b/arch/x86/kernel/i8259.c @@ -168,6 +168,8 @@ static void mask_and_ack_8259A(unsigned int irq) diff --git a/x86-PAE-preempt-rt-fix.patch b/x86-PAE-preempt-rt-fix.patch index f1c53a3..0c26efb 100644 --- a/x86-PAE-preempt-rt-fix.patch +++ b/x86-PAE-preempt-rt-fix.patch @@ -1,4 +1,4 @@ -From dabac300b124a630d2521f3cbf510b194f1aaba8 Mon Sep 17 00:00:00 2001 +From a2244f09807502350e1b702620bd52349caad641 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:52 -0500 Subject: [PATCH] x86: PAE preempt-rt fix @@ -28,7 +28,7 @@ index 177b016..0e989a1 100644 #ifdef CONFIG_SMP diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c -index af8f965..5e3bd3e 100644 +index ed34f5e..c2ea747 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -132,6 +132,7 @@ void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) diff --git a/x86-Suppress-empty-cpumask-ipi-warning.patch b/x86-Suppress-empty-cpumask-ipi-warning.patch index 22bdee5..0cb5a87 100644 --- a/x86-Suppress-empty-cpumask-ipi-warning.patch +++ b/x86-Suppress-empty-cpumask-ipi-warning.patch @@ -1,4 +1,4 @@ -From 9425c8dcf9f42569334bf249e48e6666d4d29cba Mon Sep 17 00:00:00 2001 +From 8dded56a71cdd665c603f24947e74734c7db9625 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 15 Sep 2009 21:09:40 +0200 Subject: [PATCH] x86: Suppress empty cpumask ipi warning @@ -11,7 +11,7 @@ disable it again and just keep the early return when mask == 0. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/apic/ipi.c b/arch/x86/kernel/apic/ipi.c -index 6ef00ba..c83acda 100644 +index 08385e0..54e774d 100644 --- a/arch/x86/kernel/apic/ipi.c +++ b/arch/x86/kernel/apic/ipi.c @@ -106,7 +106,7 @@ void default_send_IPI_mask_logical(const struct cpumask *cpumask, int vector) diff --git a/x86-Use-generic-rwsem_spinlocks-on-rt.patch b/x86-Use-generic-rwsem_spinlocks-on-rt.patch index ae075a0..424598f 100644 --- a/x86-Use-generic-rwsem_spinlocks-on-rt.patch +++ b/x86-Use-generic-rwsem_spinlocks-on-rt.patch @@ -1,4 +1,4 @@ -From 472e73122da0287f9c7a75ba38414eb7c3f105e9 Mon Sep 17 00:00:00 2001 +From eacdf1baeb96718095ac3f0cebc44e792653633d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 02:21:32 +0200 Subject: [PATCH] x86: Use generic rwsem_spinlocks on -rt @@ -11,10 +11,10 @@ Simplifies the separation of anon_rw_semaphores and rw_semaphores for Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 738bdc6..315a0c9 100644 +index eb40925..0c6f553 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -122,10 +122,18 @@ config ARCH_MAY_HAVE_PC_FDC +@@ -124,10 +124,18 @@ config ARCH_MAY_HAVE_PC_FDC def_bool y config RWSEM_GENERIC_SPINLOCK diff --git a/x86-apic-level-smp-affinity.patch b/x86-apic-level-smp-affinity.patch index 672fe90..38c65de 100644 --- a/x86-apic-level-smp-affinity.patch +++ b/x86-apic-level-smp-affinity.patch @@ -1,4 +1,4 @@ -From fa8d73203d1b2d228ccb3eb117b79617c75ac1a2 Mon Sep 17 00:00:00 2001 +From b47f200ddbd4cf1c776a3d5b87e0a6073e3861a9 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:15 -0500 Subject: [PATCH] x86: apic: level smp affinity @@ -10,10 +10,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 8d3aa2d..9564287 100644 +index fe923da..dced1f6 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -2720,6 +2719,16 @@ static void ack_apic_level(unsigned int irq) +@@ -2665,6 +2665,16 @@ static void ack_apic_level(unsigned int irq) move_masked_irq(irq); unmask_IO_APIC_irq_desc(desc); } diff --git a/x86-convert-i8259_lock-to-raw_spinlock.patch b/x86-convert-i8259_lock-to-raw_spinlock.patch index 8519eb1..42ab9bb 100644 --- a/x86-convert-i8259_lock-to-raw_spinlock.patch +++ b/x86-convert-i8259_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 66ab356f255e8b25f3c520a903607d0513f90c2e Mon Sep 17 00:00:00 2001 +From a0d8441e2831c7abe756e05974a42a5ad80ed3e1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 18:35:11 +0200 Subject: [PATCH] x86: convert i8259_lock to raw_spinlock @@ -22,10 +22,10 @@ index 58d7091..7ec65b1 100644 extern void init_8259A(int auto_eoi); extern void enable_8259A_irq(unsigned int irq); diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 74231e5..2f43d36 100644 +index 678dc18..548f1b2 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -1880,7 +1880,7 @@ __apicdebuginit(void) print_PIC(void) +@@ -1830,7 +1830,7 @@ __apicdebuginit(void) print_PIC(void) printk(KERN_DEBUG "\nprinting PIC contents\n"); @@ -34,7 +34,7 @@ index 74231e5..2f43d36 100644 v = inb(0xa1) << 8 | inb(0x21); printk(KERN_DEBUG "... PIC IMR: %04x\n", v); -@@ -1894,7 +1894,7 @@ __apicdebuginit(void) print_PIC(void) +@@ -1844,7 +1844,7 @@ __apicdebuginit(void) print_PIC(void) outb(0x0a,0xa0); outb(0x0a,0x20); diff --git a/x86-decouple-page-fault-logic.patch b/x86-decouple-page-fault-logic.patch index 880bc18..5ab96aa 100644 --- a/x86-decouple-page-fault-logic.patch +++ b/x86-decouple-page-fault-logic.patch @@ -1,4 +1,4 @@ -From 9a55d5ea74093fb07569e05f25d8e773c9bb2993 Mon Sep 17 00:00:00 2001 +From a1d5181886d8f3a201cfc98985dd228fd629bac4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 24 Jul 2009 15:23:05 +0200 Subject: [PATCH] x86-decouple-page-fault-logic @@ -8,10 +8,10 @@ commit 9a55d5ea74093fb07569e05f25d8e773c9bb2993 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c -index bfae139..cf326e6 100644 +index f627779..ed046ed 100644 --- a/arch/x86/mm/fault.c +++ b/arch/x86/mm/fault.c -@@ -1032,7 +1032,7 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code) +@@ -1035,7 +1035,7 @@ do_page_fault(struct pt_regs *regs, unsigned long error_code) * If we're in an interrupt, have no user context or are running * in an atomic region then we must not take the fault: */ @@ -21,10 +21,10 @@ index bfae139..cf326e6 100644 return; } diff --git a/arch/x86/mm/iomap_32.c b/arch/x86/mm/iomap_32.c -index fe6f84c..bd045c2 100644 +index 84e236c..715d822 100644 --- a/arch/x86/mm/iomap_32.c +++ b/arch/x86/mm/iomap_32.c -@@ -37,6 +37,7 @@ void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot) +@@ -60,6 +60,7 @@ void *kmap_atomic_prot_pfn(unsigned long pfn, enum km_type type, pgprot_t prot) enum fixed_addresses idx; unsigned long vaddr; @@ -32,7 +32,7 @@ index fe6f84c..bd045c2 100644 pagefault_disable(); debug_kmap_atomic(type); -@@ -83,5 +84,6 @@ iounmap_atomic(void *kvaddr, enum km_type type) +@@ -106,5 +107,6 @@ iounmap_atomic(void *kvaddr, enum km_type type) kpte_clear_flush(kmap_pte-idx, vaddr); pagefault_enable(); diff --git a/x86-decouple-pagefault-logic-in-highmem-kmap.patch b/x86-decouple-pagefault-logic-in-highmem-kmap.patch index ea2c1c9..ac86ef8 100644 --- a/x86-decouple-pagefault-logic-in-highmem-kmap.patch +++ b/x86-decouple-pagefault-logic-in-highmem-kmap.patch @@ -1,4 +1,4 @@ -From 4beedc411ebd0cd5d294acfe9b33e8c2ad7dc598 Mon Sep 17 00:00:00 2001 +From aba1a788bf04417b1abfbc31c2e90c223a46a726 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri, 3 Jul 2009 08:30:37 -0500 Subject: [PATCH] x86: decouple pagefault-logic in highmem/kmap @@ -19,7 +19,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c -index 58f621e..66d84b5 100644 +index c838ac8..76e0544 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c @@ -33,6 +33,7 @@ void *kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot) diff --git a/x86-disable-maxcpus-ion-RT-for-now.patch b/x86-disable-maxcpus-ion-RT-for-now.patch index bc9e671..9e43bfd 100644 --- a/x86-disable-maxcpus-ion-RT-for-now.patch +++ b/x86-disable-maxcpus-ion-RT-for-now.patch @@ -1,4 +1,4 @@ -From ba18c86f5cd0d5eefa9c580320f06742188bd66b Mon Sep 17 00:00:00 2001 +From 09ea570437bd05ff920775576bc8f0579964e687 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:36 -0500 Subject: [PATCH] x86: disable maxcpus ion RT for now @@ -8,10 +8,10 @@ commit ba18c86f5cd0d5eefa9c580320f06742188bd66b in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 315a0c9..6136f26 100644 +index 0c6f553..8b29139 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -679,7 +679,7 @@ config IOMMU_API +@@ -720,7 +720,7 @@ config IOMMU_API config MAXSMP bool "Configure Maximum number of SMP Processors and NUMA Nodes" @@ -21,7 +21,7 @@ index 315a0c9..6136f26 100644 default n ---help--- diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug -index 25cd362..3347029 100644 +index 4fd6ace..93dc8cc 100644 --- a/arch/x86/Kconfig.debug +++ b/arch/x86/Kconfig.debug @@ -76,6 +76,7 @@ config DEBUG_PER_CPU_MAPS @@ -33,10 +33,10 @@ index 25cd362..3347029 100644 ---help--- Say Y to verify that the per_cpu map being accessed has diff --git a/lib/Kconfig b/lib/Kconfig -index bb1326d..faefb80 100644 +index 97b136f..38dc31e 100644 --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -179,6 +179,7 @@ config HAVE_LMB +@@ -183,6 +183,7 @@ config HAVE_LMB config CPUMASK_OFFSTACK bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS diff --git a/x86-fix-preempt_enable_no_resched-usage.patch b/x86-fix-preempt_enable_no_resched-usage.patch index 7902dc2..7a7a941 100644 --- a/x86-fix-preempt_enable_no_resched-usage.patch +++ b/x86-fix-preempt_enable_no_resched-usage.patch @@ -1,4 +1,4 @@ -From f2905d541f2329af7ce09a2b95bfa307e5c05fb6 Mon Sep 17 00:00:00 2001 +From 2864724534d26ca82b39f475bc98908cf2c764ae Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 22:37:24 +0200 Subject: [PATCH] x86: fix preempt_enable_no_resched usage @@ -10,10 +10,10 @@ Triggers the missed preemption check. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 59f4524..b08886b 100644 +index 37ad1e0..e1cd13c 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c -@@ -118,7 +118,7 @@ void cpu_idle(void) +@@ -114,7 +114,7 @@ void cpu_idle(void) start_critical_timings(); } tick_nohz_restart_sched_tick(); @@ -23,10 +23,10 @@ index 59f4524..b08886b 100644 preempt_disable(); } diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c -index ebefb54..c5fd632 100644 +index 126f0b4..781c115 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c -@@ -152,7 +152,7 @@ void cpu_idle(void) +@@ -146,7 +146,7 @@ void cpu_idle(void) } tick_nohz_restart_sched_tick(); diff --git a/x86-get-user-pages-kmap-atomic-fix-32bit.patch b/x86-get-user-pages-kmap-atomic-fix-32bit.patch index cbeb51e..d7c36bc 100644 --- a/x86-get-user-pages-kmap-atomic-fix-32bit.patch +++ b/x86-get-user-pages-kmap-atomic-fix-32bit.patch @@ -1,4 +1,4 @@ -From 2d875a788f6c416b6330e917ccb7437750d3b3cf Mon Sep 17 00:00:00 2001 +From 9b09e394d118ac3614d1372ce3a1384e91e887e9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:33 -0500 Subject: [PATCH] x86: get user pages kmap atomic fix (32bit) @@ -175,7 +175,7 @@ index 738e659..5aeae53 100644 return 1; } diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c -index 0a23d79..c2a95d7 100644 +index 419d8f6..dcb1899 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c @@ -70,6 +70,11 @@ void *__kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot) diff --git a/x86-highmem-Replace-BUG_ON-by-WARN_ON.patch b/x86-highmem-Replace-BUG_ON-by-WARN_ON.patch index 7549c10..5bb9de1 100644 --- a/x86-highmem-Replace-BUG_ON-by-WARN_ON.patch +++ b/x86-highmem-Replace-BUG_ON-by-WARN_ON.patch @@ -1,4 +1,4 @@ -From 1b4dbe669d40066fe35bc6b581677dc824970a6e Mon Sep 17 00:00:00 2001 +From 8a350158acf9d03525e949969faf22cb818f6b8e Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:25 -0500 Subject: [PATCH] x86: highmem: Replace BUG_ON by WARN_ON @@ -12,7 +12,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c -index 58f621e..ad570a6 100644 +index 63a6ba6..c838ac8 100644 --- a/arch/x86/mm/highmem_32.c +++ b/arch/x86/mm/highmem_32.c @@ -42,7 +42,7 @@ void *kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot) diff --git a/x86-kvm-Convert-i8254-i8259-locks-to-raw_spinlocks.patch b/x86-kvm-Convert-i8254-i8259-locks-to-raw_spinlocks.patch index 9add3a9..88a34e5 100644 --- a/x86-kvm-Convert-i8254-i8259-locks-to-raw_spinlocks.patch +++ b/x86-kvm-Convert-i8254-i8259-locks-to-raw_spinlocks.patch @@ -1,4 +1,4 @@ -From e28840bc052798ad34bf8e352f2c302b3bed0e2b Mon Sep 17 00:00:00 2001 +From 6744c03ea234632913698051d8ca94c0fb0b33f6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:51:05 +0200 Subject: [PATCH] x86: kvm: Convert i8254/i8259 locks to raw_spinlocks @@ -196,10 +196,10 @@ index be399e2..b994083 100644 struct kvm *kvm; struct kvm_kpic_state pics[2]; /* 0 is master pic, 1 is slave pic */ diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c -index dd78927..55e20f8 100644 +index a1e1bc9..43e16bf 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c -@@ -2251,18 +2251,18 @@ static int kvm_vm_ioctl_set_irqchip(struct kvm *kvm, struct kvm_irqchip *chip) +@@ -2273,18 +2273,18 @@ static int kvm_vm_ioctl_set_irqchip(struct kvm *kvm, struct kvm_irqchip *chip) r = 0; switch (chip->chip_id) { case KVM_IRQCHIP_PIC_MASTER: diff --git a/x86-mmu-gather-fixups.patch b/x86-mmu-gather-fixups.patch index 4176720..f39bc51 100644 --- a/x86-mmu-gather-fixups.patch +++ b/x86-mmu-gather-fixups.patch @@ -1,4 +1,4 @@ -From 6a781e481548e435f451dde48c59117c378c1c7e Mon Sep 17 00:00:00 2001 +From 9d924a65290570874795b4fd1d753cea533dce64 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:51 -0500 Subject: [PATCH] x86: mmu gather fixups @@ -9,7 +9,7 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c -index 0607119..eab22a7 100644 +index d406c52..9a69721 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c @@ -14,8 +14,6 @@ diff --git a/x86-preempt-rt-preparatory-patches-32bit.patch b/x86-preempt-rt-preparatory-patches-32bit.patch index a071930..dca3490 100644 --- a/x86-preempt-rt-preparatory-patches-32bit.patch +++ b/x86-preempt-rt-preparatory-patches-32bit.patch @@ -1,4 +1,4 @@ -From b6e1b6e9b395aba7ac5abc4d660210720adc1753 Mon Sep 17 00:00:00 2001 +From 523033e3bc5966318ba09c8064c22e5b2ccb04bf Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:02 -0500 Subject: [PATCH] x86: preempt-rt preparatory patches (32bit) @@ -13,10 +13,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> diff --git a/arch/Kconfig b/arch/Kconfig -index 25e69f7..76683b0 100644 +index 9d055b4..4c3c06a 100644 --- a/arch/Kconfig +++ b/arch/Kconfig -@@ -44,6 +44,11 @@ config OPROFILE_EVENT_MULTIPLEX +@@ -46,6 +46,11 @@ config OPROFILE_EVENT_MULTIPLEX config HAVE_OPROFILE bool @@ -192,7 +192,7 @@ index 7fd318b..4fabb36 100644 popl %es popl %edx diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index e1cd13c..db72cb6 100644 +index e1cd13c..525df46 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -148,8 +148,10 @@ void __show_regs(struct pt_regs *regs, int all) diff --git a/x86-preempt-rt-preparatory-patches-for-x86-32bit.patch b/x86-preempt-rt-preparatory-patches-for-x86-32bit.patch index 70f341c..a8d59a0 100644 --- a/x86-preempt-rt-preparatory-patches-for-x86-32bit.patch +++ b/x86-preempt-rt-preparatory-patches-for-x86-32bit.patch @@ -1,4 +1,4 @@ -From 5458d9325176060f6753ee5c4f09102dd273e573 Mon Sep 17 00:00:00 2001 +From ebbaadeea9405cf653e0db3ebc626d189c96280e Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:02 -0500 Subject: [PATCH] x86: preempt-rt preparatory patches for x86 (32bit) @@ -72,7 +72,7 @@ index b5a9896..8e77347 100644 /* Don't add a printk in there. printk relies on the PDA which is not initialized diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c -index 18e5c90..259f8ce 100644 +index 781c115..bb62edf 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -146,9 +146,11 @@ void cpu_idle(void) diff --git a/x86-preempt-rt-scheduling-support-32bit.patch b/x86-preempt-rt-scheduling-support-32bit.patch index ca630cd..4d8ae3a 100644 --- a/x86-preempt-rt-scheduling-support-32bit.patch +++ b/x86-preempt-rt-scheduling-support-32bit.patch @@ -1,4 +1,4 @@ -From 94b3cbf2548a023b4187e252043eac367f84740c Mon Sep 17 00:00:00 2001 +From f885634adab8347527f902b8b54abc17cb9991d7 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:06 -0500 Subject: [PATCH] x86: preempt-rt scheduling support (32bit) @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S -index c097e7d..f86fc3b 100644 +index 44a8e0d..57d3849 100644 --- a/arch/x86/kernel/entry_32.S +++ b/arch/x86/kernel/entry_32.S -@@ -371,13 +371,13 @@ END(ret_from_exception) +@@ -375,13 +375,13 @@ END(ret_from_exception) ENTRY(resume_kernel) DISABLE_INTERRUPTS(CLBR_ANY) cmpl $0,TI_preempt_count(%ebp) # non-zero preempt_count ? @@ -29,7 +29,7 @@ index c097e7d..f86fc3b 100644 call preempt_schedule_irq jmp need_resched END(resume_kernel) -@@ -627,12 +627,9 @@ work_pending: +@@ -639,12 +639,9 @@ work_pending: testb $_TIF_NEED_RESCHED, %cl jz work_notifysig work_resched: @@ -45,10 +45,10 @@ index c097e7d..f86fc3b 100644 andl $_TIF_WORK_MASK, %ecx # is there any work to be done other # than syscall tracing? diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 2535e10..b9e7a3f 100644 +index 489cb0e..46f5881 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c -@@ -116,10 +116,12 @@ void cpu_idle(void) +@@ -112,10 +112,12 @@ void cpu_idle(void) pm_idle(); start_critical_timings(); } diff --git a/x86-remove-idle-check-pgt-cache-calls.patch b/x86-remove-idle-check-pgt-cache-calls.patch index 78c08a1..c1d619f 100644 --- a/x86-remove-idle-check-pgt-cache-calls.patch +++ b/x86-remove-idle-check-pgt-cache-calls.patch @@ -1,4 +1,4 @@ -From 42cd561b099de734b16c92b7e29f418f0d62daad Mon Sep 17 00:00:00 2001 +From 345976594d2182a84bfc407a08813c44f08bbf66 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:03 -0500 Subject: [PATCH] x86: remove idle check pgt cache calls @@ -9,10 +9,10 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 7372719..2535e10 100644 +index 525df46..489cb0e 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c -@@ -105,7 +105,6 @@ void cpu_idle(void) +@@ -101,7 +101,6 @@ void cpu_idle(void) tick_nohz_stop_sched_tick(1); while (!need_resched()) { diff --git a/xfs-Convert-mr_lock-m_peraglock-to-rw_anon_semaphore.patch b/xfs-Convert-mr_lock-m_peraglock-to-rw_anon_semaphore.patch index 8561f76..2afe5a7 100644 --- a/xfs-Convert-mr_lock-m_peraglock-to-rw_anon_semaphore.patch +++ b/xfs-Convert-mr_lock-m_peraglock-to-rw_anon_semaphore.patch @@ -1,4 +1,4 @@ -From c219bfb1a0c7533148bcd9719581dc4fedc95848 Mon Sep 17 00:00:00 2001 +From b8d5f48ecbe1251b97219de48e7e936745b22a6f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 17:48:08 +0200 Subject: [PATCH] xfs: Convert mr_lock, m_peraglock to rw_anon_semaphore @@ -11,17 +11,6 @@ annotate their semantics hereby. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> ---- - fs/xfs/linux-2.6/mrlock.h | 20 ++++++++++---------- - fs/xfs/xfs_alloc.c | 16 ++++++++-------- - fs/xfs/xfs_bmap.c | 8 ++++---- - fs/xfs/xfs_filestream.c | 6 +++--- - fs/xfs/xfs_fsops.c | 4 ++-- - fs/xfs/xfs_ialloc.c | 38 +++++++++++++++++++------------------- - fs/xfs/xfs_itable.c | 8 ++++---- - fs/xfs/xfs_mount.c | 2 +- - fs/xfs/xfs_mount.h | 2 +- - 9 files changed, 52 insertions(+), 52 deletions(-) diff --git a/fs/xfs/linux-2.6/mrlock.h b/fs/xfs/linux-2.6/mrlock.h index ff6a198..77de2c2 100644 @@ -439,7 +428,7 @@ index eb403b4..95997a6 100644 KM_MAYFAIL); if (!mp->m_perag) diff --git a/fs/xfs/xfs_mount.h b/fs/xfs/xfs_mount.h -index c95f81a..b20d59e 100644 +index 1df7e45..0088311 100644 --- a/fs/xfs/xfs_mount.h +++ b/fs/xfs/xfs_mount.h @@ -208,7 +208,7 @@ typedef struct xfs_mount { @@ -452,5 +441,5 @@ index c95f81a..b20d59e 100644 int m_fixedfsid[2]; /* unchanged for life of FS */ uint m_dmevmask; /* DMI events for this FS */ -- -1.7.3.3 +1.7.1.1 diff --git a/xfs-semaphore-cleanup.patch b/xfs-semaphore-cleanup.patch index 708c69d..9095053 100644 --- a/xfs-semaphore-cleanup.patch +++ b/xfs-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 13a12e586373a8dd7a078d07921044f84f6e2601 Mon Sep 17 00:00:00 2001 +From c5afd9e2f7eb81a77d19cea263528d42d8ea171e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:55:00 +0200 Subject: [PATCH] xfs: semaphore cleanup @@ -12,10 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Christoph Hellwig <hch@lst.de> diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c -index 0c93c7e..d02638c 100644 +index 77b8be8..ddd2fc2 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c -@@ -263,7 +263,7 @@ _xfs_buf_initialize( +@@ -236,7 +236,7 @@ _xfs_buf_initialize( init_completion(&bp->b_iowait); INIT_LIST_HEAD(&bp->b_list); INIT_LIST_HEAD(&bp->b_hash_list); diff --git a/xtime_lock-Convert-to-raw_seqlock.patch b/xtime_lock-Convert-to-raw_seqlock.patch index 79ec2db..3fca1aa 100644 --- a/xtime_lock-Convert-to-raw_seqlock.patch +++ b/xtime_lock-Convert-to-raw_seqlock.patch @@ -1,4 +1,4 @@ -From 8a18e801a2e84e9bad56e248589f2302f54572b0 Mon Sep 17 00:00:00 2001 +From e9737360de94c7d789e1230e69e1ea587a7764ad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 19:43:27 +0200 Subject: [PATCH] xtime_lock: Convert to raw_seqlock @@ -307,10 +307,10 @@ index a79c6f9..52c8cf7 100644 printk(KERN_ERR "Error reading tod clock\n"); xtime.tv_sec = 0; diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c -index 6f174e7..331502b 100644 +index 6c6093d..d5f6048 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c -@@ -1085,7 +1085,7 @@ void __init time_init(void) +@@ -1049,7 +1049,7 @@ void __init time_init(void) /* Save the current timebase to pretty up CONFIG_PRINTK_TIME */ boot_tb = get_tb_or_rtc(); @@ -319,7 +319,7 @@ index 6f174e7..331502b 100644 /* If platform provided a timezone (pmac), we correct the time */ if (timezone_offset) { -@@ -1099,7 +1099,7 @@ void __init time_init(void) +@@ -1063,7 +1063,7 @@ void __init time_init(void) vdso_data->stamp_xsec = (u64) xtime.tv_sec * XSEC_PER_SEC; vdso_data->tb_to_xs = tb_to_xs; |