diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-03-04 14:27:01 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2011-03-04 14:27:01 -0500 |
commit | 96e1dbf56ae9214ec415b8972dd6ce5940246498 (patch) | |
tree | 3401494c4342991f00aa3d8a44660e50a71d8d54 | |
parent | a4497eee1dcca1d588d1e2283cdd6a72c84204b4 (diff) | |
download | rt-patches-96e1dbf56ae9214ec415b8972dd6ce5940246498.tar.gz |
patch refresh, nothing to see herev2.6.34
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
434 files changed, 4313 insertions, 2250 deletions
diff --git a/ACPI-Convert-c3_lock-to-raw_spinlock.patch b/ACPI-Convert-c3_lock-to-raw_spinlock.patch index 7645748..9f0496d 100644 --- a/ACPI-Convert-c3_lock-to-raw_spinlock.patch +++ b/ACPI-Convert-c3_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From b4e03db2f4b2318144b917786cdee81575cf525c Mon Sep 17 00:00:00 2001 +From eb20ad20b950b49a16fe85fcea527533604af9f1 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 @@ -6,12 +6,16 @@ Subject: [PATCH] ACPI: Convert c3_lock to raw_spinlock commit 50fee3b3ad7cd773f0b50739bb0ed9ac43561c7d in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/acpi/processor_idle.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c -index cc978a8..3e047b8 100644 +index 5939e7f..e1f0b51 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c -@@ -927,7 +927,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, +@@ -928,7 +928,7 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev, } static int c3_cpu_count; @@ -20,7 +24,7 @@ index cc978a8..3e047b8 100644 /** * acpi_idle_enter_bm - enters C3 with proper BM handling -@@ -1004,12 +1004,12 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, +@@ -1005,12 +1005,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 +39,7 @@ index cc978a8..3e047b8 100644 } else if (!pr->flags.bm_check) { ACPI_FLUSH_CPU_CACHE(); } -@@ -1018,10 +1018,10 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev, +@@ -1019,10 +1019,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) { @@ -49,5 +53,5 @@ index cc978a8..3e047b8 100644 kt2 = ktime_get_real(); idle_time = ktime_to_us(ktime_sub(kt2, kt1)); -- -1.7.1.1 +1.7.0.4 diff --git a/ACPI-RT-support.patch b/ACPI-RT-support.patch index eb4f58f..deb94c3 100644 --- a/ACPI-RT-support.patch +++ b/ACPI-RT-support.patch @@ -1,4 +1,4 @@ -From d72e4afc4075289dcbd6ae4c48fe427eaad26157 Mon Sep 17 00:00:00 2001 +From 1bf40d5bfd22215e4b877a5a998e9fe6d7b03a6c 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 @@ -8,6 +8,14 @@ commit 3490ceb8e831c92a439dd4ec79e3d1ecd9365545 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/acpi/acpica/acglobal.h | 7 ++++++- + drivers/acpi/acpica/hwregs.c | 4 ++-- + drivers/acpi/acpica/hwxface.c | 4 ++-- + drivers/acpi/acpica/utmutex.c | 7 +------ + drivers/acpi/ec.c | 12 ++++++++++++ + include/acpi/acpiosxf.h | 2 +- + 6 files changed, 24 insertions(+), 12 deletions(-) diff --git a/drivers/acpi/acpica/acglobal.h b/drivers/acpi/acpica/acglobal.h index f8dd8f2..98f8afc 100644 @@ -97,10 +105,10 @@ index 55d014e..184d6fa 100644 acpi_ut_delete_rw_lock(&acpi_gbl_namespace_rw_lock); diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c -index d7a6bbb..36d34e5 100644 +index f2234db..de9ea42 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c -@@ -585,7 +585,19 @@ static u32 acpi_ec_gpe_handler(void *data) +@@ -617,7 +617,19 @@ static u32 acpi_ec_gpe_handler(void *data) advance_transaction(ec, acpi_ec_read_status(ec)); if (ec_transaction_done(ec) && (acpi_ec_read_status(ec) & ACPI_EC_FLAG_IBF) == 0) { @@ -134,5 +142,5 @@ index b396854..41fb677 100644 /* Functions for acpi_os_signal */ -- -1.7.1.1 +1.7.0.4 diff --git a/ARM-AT91-Use-edge-irq-for-AT91-GPIO.patch b/ARM-AT91-Use-edge-irq-for-AT91-GPIO.patch index d4b3dc9..22ee414 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 43558d7569c38566e851c97962648c53ecc04bb9 Mon Sep 17 00:00:00 2001 +From 768b34203fcab2f769cda3b9d6e7243b662d65fd 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 @@ -35,6 +35,10 @@ Tested on: Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mach-at91/gpio.c | 8 +++++++- + 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-at91/gpio.c b/arch/arm/mach-at91/gpio.c index ae4772e..d959979 100644 @@ -69,5 +73,5 @@ index ae4772e..d959979 100644 } -- -1.7.1.1 +1.7.0.4 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 d8acbf2..444ee72 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 a6d290294a35a0de2f9867d94fb3eb07f1dc8f67 Mon Sep 17 00:00:00 2001 +From ee6e5a5e8ceabcd788af823f92e4f5f439eaa146 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() @@ -10,9 +10,13 @@ when used with the -rt patch, since it may be called recursively. Signed-off-by: Kevin Hilman <khilman@mvista.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/plat-omap/clock.c | 3 --- + 1 files changed, 0 insertions(+), 3 deletions(-) diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c -index 4becbdd..50f299b 100644 +index 5261a09..0af5402 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -78,15 +78,12 @@ EXPORT_SYMBOL(clk_disable); @@ -32,5 +36,5 @@ index 4becbdd..50f299b 100644 return ret; } -- -1.7.1.1 +1.7.0.4 diff --git a/ARM-RT-support.patch b/ARM-RT-support.patch index 02d2f67..89a8374 100644 --- a/ARM-RT-support.patch +++ b/ARM-RT-support.patch @@ -1,4 +1,4 @@ -From 748310623a1ad724ea0e9c4a3d6d282d27b66da8 Mon Sep 17 00:00:00 2001 +From 739f10892ed5dcb3e9be2768bfb5e9ee557d6c5a 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 @@ -6,6 +6,13 @@ Subject: [PATCH] ARM: RT support commit d0aa7f953917613cf85b1ba7b8c68688a98137fc in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/include/asm/system.h | 2 ++ + arch/arm/include/asm/tlb.h | 13 +++---------- + arch/arm/kernel/signal.c | 8 ++++++++ + arch/arm/mm/mmu.c | 2 -- + 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/arch/arm/include/asm/system.h b/arch/arm/include/asm/system.h index 4ace45e..b973987 100644 @@ -55,10 +62,10 @@ index f41a6f5..dd667f2 100644 /* diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c -index e7714f3..469f223 100644 +index 907d5a6..0e7cddd 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c -@@ -607,6 +607,14 @@ static void do_signal(struct pt_regs *regs, int syscall) +@@ -692,6 +692,14 @@ static void do_signal(struct pt_regs *regs, int syscall) siginfo_t info; int signr; @@ -74,7 +81,7 @@ index e7714f3..469f223 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 9d4da6a..9108680 100644 +index 241c24a..9560e13 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -30,8 +30,6 @@ @@ -87,5 +94,5 @@ index 9d4da6a..9108680 100644 * empty_zero_page is a special page that is used for * zero-initialized data and COW. -- -1.7.1.1 +1.7.0.4 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 f16e587..c0933b7 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 f00a56771b7ec542dd316fd70e99df5cbe822f44 Mon Sep 17 00:00:00 2001 +From 2f53ee5af567e4c8460f19522883dc663f554e12 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 @@ -8,12 +8,16 @@ commit 30d18e076a68c1f50647c008d14f6b1c9303d40d in tip. Reduce latencies on -rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mach-sa1100/badge4.c | 11 +++++++++-- + 1 files changed, 9 insertions(+), 2 deletions(-) diff --git a/arch/arm/mach-sa1100/badge4.c b/arch/arm/mach-sa1100/badge4.c -index 051ec0f..fd8ceef 100644 +index 259cb2c..4b92bf8 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) +@@ -245,15 +245,22 @@ void badge4_set_5V(unsigned subsystem, int on) /* detect on->off and off->on transitions */ if ((!old_5V_bitmap) && (badge4_5V_bitmap)) { /* was off, now on */ @@ -39,5 +43,5 @@ index 051ec0f..fd8ceef 100644 EXPORT_SYMBOL(badge4_set_5V); -- -1.7.1.1 +1.7.0.4 diff --git a/ARM-ixp2000-fix-type-of-ixp2000_timer_interrupt.patch b/ARM-ixp2000-fix-type-of-ixp2000_timer_interrupt.patch index 7e30857..0d56f53 100644 --- a/ARM-ixp2000-fix-type-of-ixp2000_timer_interrupt.patch +++ b/ARM-ixp2000-fix-type-of-ixp2000_timer_interrupt.patch @@ -1,4 +1,4 @@ -From 93a5ba103458201ebb0f2e75cd02401e2d169f2d Mon Sep 17 00:00:00 2001 +From 8272560e8ded431eacf24621010b0cd57346feba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de> Date: Fri, 7 Aug 2009 22:42:39 +0200 Subject: [PATCH] ARM: ixp2000: fix type of ixp2000_timer_interrupt @@ -18,6 +18,10 @@ Cc: Russell King <linux@arm.linux.org.uk> Cc: Dmitry Baryshkov <dbaryshkov@gmail.com> LKML-Reference: <1249677761-19470-4-git-send-email-u.kleine-koenig@pengutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mach-ixp2000/core.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-ixp2000/core.c b/arch/arm/mach-ixp2000/core.c index babb225..e24e3d0 100644 @@ -33,5 +37,5 @@ index babb225..e24e3d0 100644 /* clear timer 1 */ ixp2000_reg_wrb(IXP2000_T1_CLR, 1); -- -1.7.1.1 +1.7.0.4 diff --git a/ARM-msm-include-linux-cache.h-in-proc_comm.c.patch b/ARM-msm-include-linux-cache.h-in-proc_comm.c.patch index d11a43a..09f17c5 100644 --- a/ARM-msm-include-linux-cache.h-in-proc_comm.c.patch +++ b/ARM-msm-include-linux-cache.h-in-proc_comm.c.patch @@ -1,4 +1,4 @@ -From 68718e6f364fbf51398f33d3cf39121ae2756275 Mon Sep 17 00:00:00 2001 +From 5a6bfd8e71496f94ebd84d1c0b6e03d4fb74eab9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de> Date: Fri, 7 Aug 2009 22:42:38 +0200 Subject: [PATCH] ARM: msm: include linux/cache.h in proc_comm.c @@ -23,6 +23,10 @@ Cc: Russell King <linux@arm.linux.org.uk> Cc: Brian Swetland <swetland@google.com> LKML-Reference: <1249677761-19470-3-git-send-email-u.kleine-koenig@pengutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mach-msm/proc_comm.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-msm/proc_comm.c b/arch/arm/mach-msm/proc_comm.c index 915ee70..e825c36 100644 @@ -37,5 +41,5 @@ index 915ee70..e825c36 100644 #include <linux/errno.h> #include <linux/io.h> -- -1.7.1.1 +1.7.0.4 diff --git a/ARM-raw_lock-conversions.patch b/ARM-raw_lock-conversions.patch index e80bdd3..2aed961 100644 --- a/ARM-raw_lock-conversions.patch +++ b/ARM-raw_lock-conversions.patch @@ -1,4 +1,4 @@ -From aef1b3d587c85699a84fdd3e53f7045e937b9c9a Mon Sep 17 00:00:00 2001 +From bf8b38f16a16bda70ac0d74712aacf97ba4b2a31 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 @@ -9,6 +9,24 @@ Annotate the locks which cannot be converted to sleeping locks in -rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/include/asm/dma.h | 6 ++-- + arch/arm/kernel/dma.c | 2 +- + arch/arm/kernel/smp.c | 6 ++-- + arch/arm/kernel/traps.c | 20 +++++++------- + arch/arm/mach-footbridge/include/mach/hardware.h | 2 +- + arch/arm/mach-footbridge/netwinder-hw.c | 14 +++++----- + arch/arm/mach-footbridge/netwinder-leds.c | 10 +++--- + arch/arm/mach-integrator/core.c | 6 ++-- + arch/arm/mach-integrator/pci_v3.c | 14 +++++----- + arch/arm/mach-ixp4xx/common-pci.c | 22 ++++++++-------- + arch/arm/mach-shark/leds.c | 6 ++-- + arch/arm/mm/cache-l2x0.c | 30 +++++++++++----------- + arch/arm/mm/context.c | 6 ++-- + arch/arm/mm/copypage-v4mc.c | 6 ++-- + arch/arm/mm/copypage-v6.c | 10 +++--- + arch/arm/mm/copypage-xscale.c | 6 ++-- + 16 files changed, 83 insertions(+), 83 deletions(-) diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h index ca51143..8ff6602 100644 @@ -50,10 +68,10 @@ index 7d5b9fb..0b5ad04 100644 static dma_t *dma_chan[MAX_DMA_CHANNELS]; diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c -index 57162af..9c67108 100644 +index a01194e..fd4c58f 100644 --- a/arch/arm/kernel/smp.c +++ b/arch/arm/kernel/smp.c -@@ -452,17 +452,17 @@ void __cpuinit percpu_timer_setup(void) +@@ -460,17 +460,17 @@ void __cpuinit percpu_timer_setup(void) local_timer_setup(evt); } @@ -275,10 +293,10 @@ index 8b390e3..9f8ebe6 100644 EXPORT_SYMBOL(cm_control); diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c -index 148d25f..f7fe214 100644 +index ffbd349..67edbdd 100644 --- a/arch/arm/mach-integrator/pci_v3.c +++ b/arch/arm/mach-integrator/pci_v3.c -@@ -163,7 +163,7 @@ +@@ -162,7 +162,7 @@ * 7:2 register number * */ @@ -287,7 +305,7 @@ index 148d25f..f7fe214 100644 #define PCI_BUS_NONMEM_START 0x00000000 #define PCI_BUS_NONMEM_SIZE SZ_256M -@@ -284,7 +284,7 @@ static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where, +@@ -283,7 +283,7 @@ static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where, unsigned long flags; u32 v; @@ -296,7 +314,7 @@ index 148d25f..f7fe214 100644 addr = v3_open_config_window(bus, devfn, where); switch (size) { -@@ -302,7 +302,7 @@ static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where, +@@ -301,7 +301,7 @@ static int v3_read_config(struct pci_bus *bus, unsigned int devfn, int where, } v3_close_config_window(); @@ -305,7 +323,7 @@ index 148d25f..f7fe214 100644 *val = v; return PCIBIOS_SUCCESSFUL; -@@ -314,7 +314,7 @@ static int v3_write_config(struct pci_bus *bus, unsigned int devfn, int where, +@@ -313,7 +313,7 @@ static int v3_write_config(struct pci_bus *bus, unsigned int devfn, int where, unsigned long addr; unsigned long flags; @@ -314,7 +332,7 @@ index 148d25f..f7fe214 100644 addr = v3_open_config_window(bus, devfn, where); switch (size) { -@@ -335,7 +335,7 @@ static int v3_write_config(struct pci_bus *bus, unsigned int devfn, int where, +@@ -334,7 +334,7 @@ static int v3_write_config(struct pci_bus *bus, unsigned int devfn, int where, } v3_close_config_window(); @@ -323,7 +341,7 @@ index 148d25f..f7fe214 100644 return PCIBIOS_SUCCESSFUL; } -@@ -510,7 +510,7 @@ void __init pci_v3_preinit(void) +@@ -509,7 +509,7 @@ void __init pci_v3_preinit(void) hook_fault_code(8, v3_pci_fault, SIGBUS, "external abort on non-linefetch"); hook_fault_code(10, v3_pci_fault, SIGBUS, "external abort on non-linefetch"); @@ -332,7 +350,7 @@ index 148d25f..f7fe214 100644 /* * Unlock V3 registers, but only if they were previously locked. -@@ -583,7 +583,7 @@ void __init pci_v3_preinit(void) +@@ -582,7 +582,7 @@ void __init pci_v3_preinit(void) printk(KERN_ERR "PCI: unable to grab PCI error " "interrupt: %d\n", ret); @@ -342,7 +360,7 @@ index 148d25f..f7fe214 100644 void __init pci_v3_postinit(void) diff --git a/arch/arm/mach-ixp4xx/common-pci.c b/arch/arm/mach-ixp4xx/common-pci.c -index c4a0159..fefbf10 100644 +index e318153..f5778c4 100644 --- a/arch/arm/mach-ixp4xx/common-pci.c +++ b/arch/arm/mach-ixp4xx/common-pci.c @@ -54,7 +54,7 @@ unsigned long ixp4xx_pci_reg_base = 0; @@ -466,7 +484,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 0733463..823bd25 100644 +index 21ad68b..91d1bfb 100644 --- a/arch/arm/mm/cache-l2x0.c +++ b/arch/arm/mm/cache-l2x0.c @@ -26,7 +26,7 @@ @@ -478,7 +496,7 @@ index 0733463..823bd25 100644 static inline void cache_wait(void __iomem *reg, unsigned long mask) { -@@ -98,11 +98,11 @@ static inline void l2x0_inv_all(void) +@@ -107,11 +107,11 @@ static inline void l2x0_inv_all(void) unsigned long flags; /* invalidate all ways */ @@ -492,7 +510,7 @@ index 0733463..823bd25 100644 } static void l2x0_inv_range(unsigned long start, unsigned long end) -@@ -110,7 +110,7 @@ static void l2x0_inv_range(unsigned long start, unsigned long end) +@@ -119,7 +119,7 @@ static void l2x0_inv_range(unsigned long start, unsigned long end) void __iomem *base = l2x0_base; unsigned long flags; @@ -501,7 +519,7 @@ index 0733463..823bd25 100644 if (start & (CACHE_LINE_SIZE - 1)) { start &= ~(CACHE_LINE_SIZE - 1); debug_writel(0x03); -@@ -135,13 +135,13 @@ static void l2x0_inv_range(unsigned long start, unsigned long end) +@@ -144,13 +144,13 @@ static void l2x0_inv_range(unsigned long start, unsigned long end) } if (blk_end < end) { @@ -518,7 +536,7 @@ index 0733463..823bd25 100644 } static void l2x0_clean_range(unsigned long start, unsigned long end) -@@ -149,7 +149,7 @@ static void l2x0_clean_range(unsigned long start, unsigned long end) +@@ -158,7 +158,7 @@ static void l2x0_clean_range(unsigned long start, unsigned long end) void __iomem *base = l2x0_base; unsigned long flags; @@ -527,7 +545,7 @@ index 0733463..823bd25 100644 start &= ~(CACHE_LINE_SIZE - 1); while (start < end) { unsigned long blk_end = start + min(end - start, 4096UL); -@@ -160,13 +160,13 @@ static void l2x0_clean_range(unsigned long start, unsigned long end) +@@ -169,13 +169,13 @@ static void l2x0_clean_range(unsigned long start, unsigned long end) } if (blk_end < end) { @@ -544,7 +562,7 @@ index 0733463..823bd25 100644 } static void l2x0_flush_range(unsigned long start, unsigned long end) -@@ -174,7 +174,7 @@ static void l2x0_flush_range(unsigned long start, unsigned long end) +@@ -183,7 +183,7 @@ static void l2x0_flush_range(unsigned long start, unsigned long end) void __iomem *base = l2x0_base; unsigned long flags; @@ -553,7 +571,7 @@ index 0733463..823bd25 100644 start &= ~(CACHE_LINE_SIZE - 1); while (start < end) { unsigned long blk_end = start + min(end - start, 4096UL); -@@ -187,13 +187,13 @@ static void l2x0_flush_range(unsigned long start, unsigned long end) +@@ -196,13 +196,13 @@ static void l2x0_flush_range(unsigned long start, unsigned long end) debug_writel(0x00); if (blk_end < end) { @@ -630,7 +648,7 @@ index 598c51a..bb17acd 100644 kunmap_atomic(kto, KM_USER1); } diff --git a/arch/arm/mm/copypage-v6.c b/arch/arm/mm/copypage-v6.c -index 8bca4de..ce88369 100644 +index f55fa10..32bd1fb 100644 --- a/arch/arm/mm/copypage-v6.c +++ b/arch/arm/mm/copypage-v6.c @@ -27,7 +27,7 @@ @@ -642,7 +660,7 @@ index 8bca4de..ce88369 100644 /* * Copy the user page. No aliasing to deal with so we can just -@@ -96,7 +96,7 @@ static void v6_copy_user_highpage_aliasing(struct page *to, +@@ -89,7 +89,7 @@ static void v6_copy_user_highpage_aliasing(struct page *to, * Now copy the page using the same cache colour as the * pages ultimate destination. */ @@ -651,7 +669,7 @@ index 8bca4de..ce88369 100644 set_pte_ext(TOP_PTE(from_address) + offset, pfn_pte(page_to_pfn(from), PAGE_KERNEL), 0); set_pte_ext(TOP_PTE(to_address) + offset, pfn_pte(page_to_pfn(to), PAGE_KERNEL), 0); -@@ -109,7 +109,7 @@ static void v6_copy_user_highpage_aliasing(struct page *to, +@@ -102,7 +102,7 @@ static void v6_copy_user_highpage_aliasing(struct page *to, copy_page((void *)kto, (void *)kfrom); @@ -660,7 +678,7 @@ index 8bca4de..ce88369 100644 } /* -@@ -129,13 +129,13 @@ static void v6_clear_user_highpage_aliasing(struct page *page, unsigned long vad +@@ -122,13 +122,13 @@ static void v6_clear_user_highpage_aliasing(struct page *page, unsigned long vad * Now clear the page using the same cache colour as * the pages ultimate destination. */ @@ -707,5 +725,5 @@ index 9920c0a..e73cf5c 100644 kunmap_atomic(kto, KM_USER1); } -- -1.7.1.1 +1.7.0.4 diff --git a/ARM-scheduling-fixups.patch b/ARM-scheduling-fixups.patch index aaa7687..9e0b102 100644 --- a/ARM-scheduling-fixups.patch +++ b/ARM-scheduling-fixups.patch @@ -1,10 +1,16 @@ -From a4f8c114719ace1694e9e4e270f39cf82ea89b10 Mon Sep 17 00:00:00 2001 +From 4ed2e15612f4ee53666bbee5b47842e408c3275a 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. +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/kernel/entry-common.S | 3 ++- + arch/arm/kernel/process.c | 6 ++++-- + 2 files changed, 6 insertions(+), 3 deletions(-) + diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S index 2c1db77..1d2a386 100644 --- a/arch/arm/kernel/entry-common.S @@ -20,10 +26,10 @@ index 2c1db77..1d2a386 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 ba2adef..2bec4a9 100644 +index acf5e6f..3ebef83 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c -@@ -174,9 +174,11 @@ void cpu_idle(void) +@@ -173,9 +173,11 @@ void cpu_idle(void) } leds_event(led_idle_end); tick_nohz_restart_sched_tick(); @@ -38,5 +44,5 @@ index ba2adef..2bec4a9 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/AT91-PIT-Remove-irq-handler-when-clock-event-is-unus.patch b/AT91-PIT-Remove-irq-handler-when-clock-event-is-unus.patch index 9a1b55d..7ee3180 100644 --- a/AT91-PIT-Remove-irq-handler-when-clock-event-is-unus.patch +++ b/AT91-PIT-Remove-irq-handler-when-clock-event-is-unus.patch @@ -1,4 +1,4 @@ -From e0b1607c092a65b357c79a86405859fe3b773a20 Mon Sep 17 00:00:00 2001 +From 6db80bd602cbe2cb8c6deaa27425c6b97d8f7853 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger <b.spranger@linutronix.de> Date: Sat, 6 Mar 2010 17:47:10 +0100 Subject: [PATCH] AT91: PIT: Remove irq handler when clock event is unused @@ -11,6 +11,11 @@ not used. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mach-at91/at91rm9200_time.c | 2 ++ + arch/arm/mach-at91/at91sam926x_time.c | 6 +++++- + 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c index 2500f41..b546586 100644 @@ -64,5 +69,5 @@ index 608a632..e22a06f 100644 case CLOCK_EVT_MODE_RESUME: break; -- -1.7.1.1 +1.7.0.4 diff --git a/Atmel-TCLIB-Allow-higher-clock-rates-for-clock-event.patch b/Atmel-TCLIB-Allow-higher-clock-rates-for-clock-event.patch index 419724b..b9f56b2 100644 --- a/Atmel-TCLIB-Allow-higher-clock-rates-for-clock-event.patch +++ b/Atmel-TCLIB-Allow-higher-clock-rates-for-clock-event.patch @@ -1,4 +1,4 @@ -From 917c377817e393775fb6a2eaf961c153e38760fd Mon Sep 17 00:00:00 2001 +From c7e39ba40085693541595bee4604b70f2b716915 Mon Sep 17 00:00:00 2001 From: Benedikt Spranger <b.spranger@linutronix.de> Date: Mon, 8 Mar 2010 18:57:04 +0100 Subject: [PATCH] Atmel TCLIB: Allow higher clock rates for clock events @@ -10,6 +10,11 @@ Add a compile time selection to allow higher clock resulution. Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/clocksource/tcb_clksrc.c | 44 ++++++++++++++++++++++--------------- + drivers/misc/Kconfig | 11 +++++++- + 2 files changed, 35 insertions(+), 20 deletions(-) diff --git a/drivers/clocksource/tcb_clksrc.c b/drivers/clocksource/tcb_clksrc.c index 01b886e..90350b6 100644 @@ -131,7 +136,7 @@ index 01b886e..90350b6 100644 } arch_initcall(tcb_clksrc_init); diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 9eaa647..3f3a4c8 100644 +index 2d883bb..652af64 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -54,8 +54,7 @@ config ATMEL_TCB_CLKSRC @@ -160,5 +165,5 @@ index 9eaa647..3f3a4c8 100644 tristate "Device driver for IBM RSA service processor" depends on X86 && PCI && INPUT && EXPERIMENTAL -- -1.7.1.1 +1.7.0.4 diff --git a/DEBUG_SHIRQ-dont-use-this-with-RT.patch b/DEBUG_SHIRQ-dont-use-this-with-RT.patch index 2f8cad6..9d9c124 100644 --- a/DEBUG_SHIRQ-dont-use-this-with-RT.patch +++ b/DEBUG_SHIRQ-dont-use-this-with-RT.patch @@ -1,4 +1,4 @@ -From 51cc5de76f92162d9fe23ee5d245bb81cf8acffa Mon Sep 17 00:00:00 2001 +From 59f2b68db51b431b9685e7bd5f0c913983f5028d Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 20:20:03 -0500 Subject: [PATCH] DEBUG_SHIRQ: dont use this with RT. @@ -23,12 +23,15 @@ 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> +--- + lib/Kconfig.debug | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug -index 4beb74a..cbf6e02 100644 +index da38548..549624f 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug -@@ -144,7 +144,7 @@ config DEBUG_KERNEL +@@ -145,7 +145,7 @@ config DEBUG_KERNEL config DEBUG_SHIRQ bool "Debug shared IRQ handlers" @@ -38,5 +41,5 @@ index 4beb74a..cbf6e02 100644 Enable this to generate a spurious interrupt as soon as a shared interrupt handler is registered, and just before one is deregistered. -- -1.7.1.1 +1.7.0.4 diff --git a/Fix-compile-failures-due-to-missing-perf-header.patch b/Fix-compile-failures-due-to-missing-perf-header.patch index 1cbcd85..5dc0100 100644 --- a/Fix-compile-failures-due-to-missing-perf-header.patch +++ b/Fix-compile-failures-due-to-missing-perf-header.patch @@ -1,4 +1,4 @@ -From 3c4b21171e9bcd73c7037d6767a783218aee8d7c Mon Sep 17 00:00:00 2001 +From e819252f148375509fec4668c76eac75ec68cfb0 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Tue, 15 Feb 2011 13:16:05 -0500 Subject: [PATCH] Fix compile failures due to missing perf header @@ -20,6 +20,10 @@ and similar for kernel/trace/power-traces.c -- the fix is the same for both. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/power-traces.c | 1 + + lib/kernel_lock.c | 1 + + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/kernel/trace/power-traces.c b/kernel/trace/power-traces.c index a22582a..1f2d92a 100644 diff --git a/KVM-x86-Kick-VCPU-outside-PIC-lock-again.patch b/KVM-x86-Kick-VCPU-outside-PIC-lock-again.patch index b76cd52..18f3347 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 dcbb466353d8053369a280a000e0774d51dfe222 Mon Sep 17 00:00:00 2001 +From 5ce249cdb588645adffe5253f1d96bdadd2f4611 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 @@ -14,12 +14,16 @@ Cc: Gleb Natapov <gleb@redhat.com> LKML-Reference: <4B84F466.2080009@siemens.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kvm/i8259.c | 53 +++++++++++++++++++++++++++++++++++-------------- + arch/x86/kvm/irq.h | 1 + + 2 files changed, 39 insertions(+), 15 deletions(-) diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c -index 07771da..ca426bd 100644 +index a790fa1..93825ff 100644 --- a/arch/x86/kvm/i8259.c +++ b/arch/x86/kvm/i8259.c -@@ -32,6 +32,29 @@ +@@ -33,6 +33,29 @@ #include <linux/kvm_host.h> #include "trace.h" @@ -49,7 +53,7 @@ index 07771da..ca426bd 100644 static void pic_clear_isr(struct kvm_kpic_state *s, int irq) { s->isr &= ~(1 << irq); -@@ -44,19 +67,19 @@ static void pic_clear_isr(struct kvm_kpic_state *s, int irq) +@@ -45,19 +68,19 @@ static void pic_clear_isr(struct kvm_kpic_state *s, int irq) * Other interrupt may be delivered to PIC while lock is dropped but * it should be safe since PIC state is already updated at this stage. */ @@ -73,7 +77,7 @@ index 07771da..ca426bd 100644 } /* -@@ -157,9 +180,9 @@ static void pic_update_irq(struct kvm_pic *s) +@@ -158,9 +181,9 @@ static void pic_update_irq(struct kvm_pic *s) void kvm_pic_update_irq(struct kvm_pic *s) { @@ -85,7 +89,7 @@ index 07771da..ca426bd 100644 } int kvm_pic_set_irq(void *opaque, int irq, int level) -@@ -167,14 +190,14 @@ int kvm_pic_set_irq(void *opaque, int irq, int level) +@@ -168,14 +191,14 @@ int kvm_pic_set_irq(void *opaque, int irq, int level) struct kvm_pic *s = opaque; int ret = -1; @@ -102,7 +106,7 @@ index 07771da..ca426bd 100644 return ret; } -@@ -204,7 +227,7 @@ int kvm_pic_read_irq(struct kvm *kvm) +@@ -205,7 +228,7 @@ int kvm_pic_read_irq(struct kvm *kvm) int irq, irq2, intno; struct kvm_pic *s = pic_irqchip(kvm); @@ -111,7 +115,7 @@ index 07771da..ca426bd 100644 irq = pic_get_irq(&s->pics[0]); if (irq >= 0) { pic_intack(&s->pics[0], irq); -@@ -229,7 +252,7 @@ int kvm_pic_read_irq(struct kvm *kvm) +@@ -230,7 +253,7 @@ int kvm_pic_read_irq(struct kvm *kvm) intno = s->pics[0].irq_base + irq; } pic_update_irq(s); @@ -120,7 +124,7 @@ index 07771da..ca426bd 100644 return intno; } -@@ -443,7 +466,7 @@ static int picdev_write(struct kvm_io_device *this, +@@ -444,7 +467,7 @@ static int picdev_write(struct kvm_io_device *this, printk(KERN_ERR "PIC: non byte write\n"); return 0; } @@ -129,7 +133,7 @@ index 07771da..ca426bd 100644 switch (addr) { case 0x20: case 0x21: -@@ -456,7 +479,7 @@ static int picdev_write(struct kvm_io_device *this, +@@ -457,7 +480,7 @@ static int picdev_write(struct kvm_io_device *this, elcr_ioport_write(&s->pics[addr & 1], addr, data); break; } @@ -138,7 +142,7 @@ index 07771da..ca426bd 100644 return 0; } -@@ -473,7 +496,7 @@ static int picdev_read(struct kvm_io_device *this, +@@ -474,7 +497,7 @@ static int picdev_read(struct kvm_io_device *this, printk(KERN_ERR "PIC: non byte read\n"); return 0; } @@ -147,7 +151,7 @@ index 07771da..ca426bd 100644 switch (addr) { case 0x20: case 0x21: -@@ -487,7 +510,7 @@ static int picdev_read(struct kvm_io_device *this, +@@ -488,7 +511,7 @@ static int picdev_read(struct kvm_io_device *this, break; } *(unsigned char *)val = data; @@ -156,7 +160,7 @@ index 07771da..ca426bd 100644 return 0; } -@@ -504,7 +527,7 @@ static void pic_irq_request(void *opaque, int level) +@@ -505,7 +528,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); @@ -178,5 +182,5 @@ index 34b1591..cd1f362 100644 struct kvm *kvm; struct kvm_kpic_state pics[2]; /* 0 is master pic, 1 is slave pic */ -- -1.7.1.1 +1.7.0.4 diff --git a/Kbuild-fixup-RT-utsname.patch b/Kbuild-fixup-RT-utsname.patch index abb4ec0..cb7b972 100644 --- a/Kbuild-fixup-RT-utsname.patch +++ b/Kbuild-fixup-RT-utsname.patch @@ -1,4 +1,4 @@ -From c29a737a8c6dcb92416955cfb1eb2b3c9afdcab6 Mon Sep 17 00:00:00 2001 +From e17bb87733ed8b5ba8badd6963da2dd5aedfe71b Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:03 -0500 Subject: [PATCH] Kbuild: fixup RT utsname @@ -8,6 +8,10 @@ commit 01234e0fa6eb9b1cd0976d1fdcc52c56a613658a in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/Makefile | 3 ++- + scripts/mkcompile_h | 4 +++- + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/init/Makefile b/init/Makefile index 0bf677a..dc276e4 100644 @@ -43,5 +47,5 @@ index 23dbad8..20fc5f6 100755 # Truncate to maximum length -- -1.7.1.1 +1.7.0.4 diff --git a/Loongson-2F-Enable-fixups-of-binutils-2.20.1.patch b/Loongson-2F-Enable-fixups-of-binutils-2.20.1.patch index 931d67c..da23005 100644 --- a/Loongson-2F-Enable-fixups-of-binutils-2.20.1.patch +++ b/Loongson-2F-Enable-fixups-of-binutils-2.20.1.patch @@ -1,4 +1,4 @@ -From 749244852cf6915b57049619908594e6b9e67750 Mon Sep 17 00:00:00 2001 +From acdc859b00a8655a4246c26dc447306945aed823 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Fri, 4 Sep 2009 15:01:25 +0800 Subject: [PATCH] Loongson-2F: Enable fixups of binutils 2.20.1 @@ -24,6 +24,10 @@ http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Zhang Le <r0bertz@gentoo.org> Signed-off-by: Wu Zhangjin <wuzj@lemote.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/Makefile | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 0b9c01a..5dcd4fc 100644 @@ -41,5 +45,5 @@ index 0b9c01a..5dcd4fc 100644 ifdef CONFIG_CPU_LOONGSON2F_WORKAROUNDS ifeq ($(call as-option,-Wa$(comma)-mfix-loongson2f-nop,),) -- -1.7.1.1 +1.7.0.4 diff --git a/Loongson-2F-Fixup-of-problems-introduced-by-mfix-loo.patch b/Loongson-2F-Fixup-of-problems-introduced-by-mfix-loo.patch index dfb2c10..9e43106 100644 --- a/Loongson-2F-Fixup-of-problems-introduced-by-mfix-loo.patch +++ b/Loongson-2F-Fixup-of-problems-introduced-by-mfix-loo.patch @@ -1,4 +1,4 @@ -From bd4785c942ae10ec13bc8bd287f4805e8709cb1e Mon Sep 17 00:00:00 2001 +From ab1cb8a17c14641dcd9119ca1292b961b370426e Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Fri, 11 Sep 2009 12:52:28 +0800 Subject: [PATCH] Loongson-2F: Fixup of problems introduced by -mfix-loongson2f-jump of binutils 2.20.1 @@ -21,6 +21,10 @@ http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Reported-and-tested-by: Liu Shiwei <liushiwei@gmail.com> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/loongson/common/reset.c | 12 +++++++++++- + 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/arch/mips/loongson/common/reset.c b/arch/mips/loongson/common/reset.c index 9e10d62..8d1985b 100644 @@ -47,5 +51,5 @@ index 9e10d62..8d1985b 100644 static void loongson_poweroff(void) -- -1.7.1.1 +1.7.0.4 diff --git a/Loongson-2F-Flush-the-branch-target-history-such-as-.patch b/Loongson-2F-Flush-the-branch-target-history-such-as-.patch index b1c570c..2022579 100644 --- a/Loongson-2F-Flush-the-branch-target-history-such-as-.patch +++ b/Loongson-2F-Flush-the-branch-target-history-such-as-.patch @@ -1,4 +1,4 @@ -From 9dc32aa94ab1857541789641e6b62f0209416b0b Mon Sep 17 00:00:00 2001 +From 4fdaa5e13105cb6702c37f8e8de7650e85cf0e1b Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Mon, 6 Jul 2009 15:39:03 +0800 Subject: [PATCH] Loongson-2F: Flush the branch target history such as BTB and RAS @@ -22,9 +22,13 @@ via Loongson-2F's 64bit diagnostic register. http://groups.google.com.hk/group/loongson-dev/msg/e0d2e220958f10a6?dmode=source Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/include/asm/stackframe.h | 19 +++++++++++++++++++ + 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/arch/mips/include/asm/stackframe.h b/arch/mips/include/asm/stackframe.h -index c841912..0f4f73f 100644 +index 58730c5..83e6590 100644 --- a/arch/mips/include/asm/stackframe.h +++ b/arch/mips/include/asm/stackframe.h @@ -100,6 +100,25 @@ @@ -54,5 +58,5 @@ index c841912..0f4f73f 100644 lui k1, %hi(kernelsp) #else -- -1.7.1.1 +1.7.0.4 diff --git a/Loongson-Cleanup-the-comment-of-reset_cpu.patch b/Loongson-Cleanup-the-comment-of-reset_cpu.patch index 2e0f383..6198ad5 100644 --- a/Loongson-Cleanup-the-comment-of-reset_cpu.patch +++ b/Loongson-Cleanup-the-comment-of-reset_cpu.patch @@ -1,4 +1,4 @@ -From 142f50c7dad7c5d4b48f7849e81e027c52d18de3 Mon Sep 17 00:00:00 2001 +From 1035d753565a08a83e35f3b9203260676d37674f Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 22:04:08 +0800 Subject: [PATCH] Loongson: Cleanup the comment of reset_cpu() @@ -6,9 +6,13 @@ Subject: [PATCH] Loongson: Cleanup the comment of reset_cpu() commit 142f50c7dad7c5d4b48f7849e81e027c52d18de3 in tip. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/loongson/lemote-2f/reset.c | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arch/mips/loongson/lemote-2f/reset.c b/arch/mips/loongson/lemote-2f/reset.c -index 51d1a60..95aca75 100644 +index 36020a0..a1b22da 100644 --- a/arch/mips/loongson/lemote-2f/reset.c +++ b/arch/mips/loongson/lemote-2f/reset.c @@ -25,8 +25,9 @@ @@ -24,5 +28,5 @@ index 51d1a60..95aca75 100644 LOONGSON_CHIPCFG0 |= 0x7; } -- -1.7.1.1 +1.7.0.4 diff --git a/MIPS-add-a-common-mips_sched_clock.patch b/MIPS-add-a-common-mips_sched_clock.patch index cd90d86..e7f68be 100644 --- a/MIPS-add-a-common-mips_sched_clock.patch +++ b/MIPS-add-a-common-mips_sched_clock.patch @@ -1,4 +1,4 @@ -From 659368dde84e22aa3ff10187e05ce202fde8d804 Mon Sep 17 00:00:00 2001 +From b12d949b769bb8e1fecf40318c072a5cf7d7ef1c Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Mon, 1 Feb 2010 18:47:38 +0800 Subject: [PATCH] MIPS: add a common mips_sched_clock() @@ -21,6 +21,10 @@ Two patches for Cavium and R4K will be sent out respectively to use this common function. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/include/asm/time.h | 30 ++++++++++++++++++++++++++++++ + 1 files changed, 30 insertions(+), 0 deletions(-) diff --git a/arch/mips/include/asm/time.h b/arch/mips/include/asm/time.h index c7f1bfe..f7bd5ce 100644 @@ -62,5 +66,5 @@ index c7f1bfe..f7bd5ce 100644 + #endif /* _ASM_TIME_H */ -- -1.7.1.1 +1.7.0.4 diff --git a/MIPS-cavium-octeon-rewrite-the-sched_clock-based-on-.patch b/MIPS-cavium-octeon-rewrite-the-sched_clock-based-on-.patch index d0b2982..6833780 100644 --- a/MIPS-cavium-octeon-rewrite-the-sched_clock-based-on-.patch +++ b/MIPS-cavium-octeon-rewrite-the-sched_clock-based-on-.patch @@ -1,4 +1,4 @@ -From 4bf235ddf271eeb96f0fd08f2dbeef26495ebd10 Mon Sep 17 00:00:00 2001 +From 24ee9b048e7c5d0446840f4f3ed03882a6d2cd78 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Mon, 1 Feb 2010 18:58:13 +0800 Subject: [PATCH] MIPS: cavium-octeon: rewrite the sched_clock() based on mips_sched_clock() @@ -11,6 +11,10 @@ mips_sched_clock() function in arch/mips/include/asm/time.h, This patch just rewrites the sched_clock() for cavium-octeon on it. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/cavium-octeon/csrc-octeon.c | 27 +-------------------------- + 1 files changed, 1 insertions(+), 26 deletions(-) diff --git a/arch/mips/cavium-octeon/csrc-octeon.c b/arch/mips/cavium-octeon/csrc-octeon.c index 0bf4bbe..53b1c32 100644 @@ -53,5 +57,5 @@ index 0bf4bbe..53b1c32 100644 void __init plat_time_init(void) -- -1.7.1.1 +1.7.0.4 diff --git a/MIPS-r4k-Add-a-high-resolution-sched_clock.patch b/MIPS-r4k-Add-a-high-resolution-sched_clock.patch index 5f9de84..3907c98 100644 --- a/MIPS-r4k-Add-a-high-resolution-sched_clock.patch +++ b/MIPS-r4k-Add-a-high-resolution-sched_clock.patch @@ -1,4 +1,4 @@ -From 7ac72cc54968c4820052f39de5b9b7891f625498 Mon Sep 17 00:00:00 2001 +From 59d01a7aaae9dc52790bbe49ba1bafb9c975168a Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Thu, 17 Dec 2009 21:48:53 +0800 Subject: [PATCH] MIPS: r4k: Add a high resolution sched_clock() @@ -65,12 +65,18 @@ This revision works well for function graph tracer now, and also, PRINTK_TIME=y will get normal timestamp informatin. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/Kconfig | 13 ++++++++++++ + arch/mips/kernel/csrc-r4k.c | 45 +++++++++++++++++++++++++++++++++++++++++++ + arch/mips/kernel/time.c | 5 ++++ + 3 files changed, 63 insertions(+), 0 deletions(-) diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig -index 8b5d174..e87a850 100644 +index 7e6fd1c..10b2923 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig -@@ -1934,6 +1934,19 @@ config NR_CPUS +@@ -1965,6 +1965,19 @@ config NR_CPUS source "kernel/time/Kconfig" # @@ -178,5 +184,5 @@ index fb74974..86cf18a 100644 if (!mips_clockevent_init() || !cpu_has_mfc0_count_bug()) -- -1.7.1.1 +1.7.0.4 diff --git a/Makefile-mark-the-tree-as-RT-WIP.patch b/Makefile-mark-the-tree-as-RT-WIP.patch index b760d4d..9d8dd5d 100644 --- a/Makefile-mark-the-tree-as-RT-WIP.patch +++ b/Makefile-mark-the-tree-as-RT-WIP.patch @@ -1,9 +1,12 @@ -From 939593961f74e017923626c5c05491378849396c Mon Sep 17 00:00:00 2001 +From 4709a2113a832b3b3c4f79f36933e385e81acf26 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Mon, 24 Jan 2011 20:35:30 -0500 Subject: [PATCH] Makefile: mark the tree as RT WIP Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + Makefile | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index ebc8225..a51585a 100644 @@ -19,5 +22,5 @@ index ebc8225..a51585a 100644 # *DOCUMENTATION* -- -1.7.1.1 +1.7.0.4 diff --git a/OF-Fixup-resursive-locking-code-paths.patch b/OF-Fixup-resursive-locking-code-paths.patch index 9aee622..9a8be22 100644 --- a/OF-Fixup-resursive-locking-code-paths.patch +++ b/OF-Fixup-resursive-locking-code-paths.patch @@ -1,4 +1,4 @@ -From 66d064576831f548dd17615f29ac70c0cb8bb945 Mon Sep 17 00:00:00 2001 +From 236c6fa18598ae8b914238bba620cb72320e7c4b 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 @@ -11,12 +11,16 @@ an atomic_rwlock implementation fixup the code pathes to avoid the recursive locking. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/of/base.c | 93 ++++++++++++++++++++++++++++++++++++++++------------ + 1 files changed, 71 insertions(+), 22 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c -index 861c9d6..196c9ae 100644 +index 4e40618..a05713e 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c -@@ -137,16 +137,14 @@ void of_node_put(struct device_node *node) +@@ -138,16 +138,14 @@ void of_node_put(struct device_node *node) EXPORT_SYMBOL(of_node_put); #endif /* !CONFIG_SPARC */ @@ -35,7 +39,7 @@ index 861c9d6..196c9ae 100644 for (pp = np->properties; pp != 0; pp = pp->next) { if (of_prop_cmp(pp->name, name) == 0) { if (lenp != 0) -@@ -154,6 +152,18 @@ struct property *of_find_property(const struct device_node *np, +@@ -155,6 +153,18 @@ struct property *of_find_property(const struct device_node *np, break; } } @@ -54,7 +58,7 @@ index 861c9d6..196c9ae 100644 raw_spin_unlock(&devtree_lock); return pp; -@@ -187,8 +197,20 @@ EXPORT_SYMBOL(of_find_all_nodes); +@@ -188,8 +198,20 @@ EXPORT_SYMBOL(of_find_all_nodes); * Find a property with a given name for a given node * and return the value. */ @@ -76,7 +80,7 @@ index 861c9d6..196c9ae 100644 { struct property *pp = of_find_property(np, name, lenp); -@@ -199,13 +221,13 @@ EXPORT_SYMBOL(of_get_property); +@@ -200,13 +222,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 +98,7 @@ index 861c9d6..196c9ae 100644 if (cp == NULL) return 0; while (cplen > 0) { -@@ -218,6 +240,20 @@ int of_device_is_compatible(const struct device_node *device, +@@ -219,6 +241,20 @@ int of_device_is_compatible(const struct device_node *device, return 0; } @@ -115,7 +119,7 @@ index 861c9d6..196c9ae 100644 EXPORT_SYMBOL(of_device_is_compatible); /** -@@ -441,7 +477,8 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -442,7 +478,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 +129,7 @@ index 861c9d6..196c9ae 100644 break; } of_node_put(from); -@@ -485,15 +522,9 @@ out: +@@ -486,15 +523,9 @@ out: } EXPORT_SYMBOL(of_find_node_with_property); @@ -144,7 +148,7 @@ index 861c9d6..196c9ae 100644 { while (matches->name[0] || matches->type[0] || matches->compatible[0]) { int match = 1; -@@ -504,14 +535,32 @@ const struct of_device_id *of_match_node(const struct of_device_id *matches, +@@ -505,14 +536,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 +183,7 @@ index 861c9d6..196c9ae 100644 EXPORT_SYMBOL(of_match_node); /** -@@ -534,7 +583,7 @@ struct device_node *of_find_matching_node(struct device_node *from, +@@ -535,7 +584,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) { @@ -189,5 +193,5 @@ index 861c9d6..196c9ae 100644 } of_node_put(from); -- -1.7.1.1 +1.7.0.4 diff --git a/OF-devtree_lock-needs-to-be-taken-irqsave.patch b/OF-devtree_lock-needs-to-be-taken-irqsave.patch index 7515601..b0fd8ef 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 62b3bbbe113631dee7b373e7032e8aba45257203 Mon Sep 17 00:00:00 2001 +From 180df901a3af5c0e3f41816855c125be58867d07 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 @@ -6,12 +6,16 @@ Subject: [PATCH] OF: devtree_lock needs to be taken irqsave commit a87f354dbe174dc43a93844f2d3bc7dd990ffb32 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/of/base.c | 60 +++++++++++++++++++++++++++++++--------------------- + 1 files changed, 36 insertions(+), 24 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c -index eeead4e..ef64f7c 100644 +index a05713e..075e75b 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c -@@ -84,10 +84,11 @@ struct property *of_find_property(const struct device_node *np, +@@ -162,10 +162,11 @@ struct property *of_find_property(const struct device_node *np, int *lenp) { struct property *pp; @@ -25,7 +29,7 @@ index eeead4e..ef64f7c 100644 return pp; } -@@ -170,11 +171,12 @@ static int __of_device_is_compatible(const struct device_node *device, +@@ -248,11 +249,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 +44,7 @@ index eeead4e..ef64f7c 100644 return res; } EXPORT_SYMBOL(of_device_is_compatible); -@@ -215,13 +217,14 @@ EXPORT_SYMBOL(of_device_is_available); +@@ -314,13 +316,14 @@ EXPORT_SYMBOL(of_device_is_available); struct device_node *of_get_parent(const struct device_node *node) { struct device_node *np; @@ -57,7 +61,7 @@ index eeead4e..ef64f7c 100644 return np; } EXPORT_SYMBOL(of_get_parent); -@@ -240,14 +243,15 @@ EXPORT_SYMBOL(of_get_parent); +@@ -339,14 +342,15 @@ EXPORT_SYMBOL(of_get_parent); struct device_node *of_get_next_parent(struct device_node *node) { struct device_node *parent; @@ -75,7 +79,7 @@ index eeead4e..ef64f7c 100644 return parent; } -@@ -263,14 +267,15 @@ struct device_node *of_get_next_child(const struct device_node *node, +@@ -362,14 +366,15 @@ struct device_node *of_get_next_child(const struct device_node *node, struct device_node *prev) { struct device_node *next; @@ -93,7 +97,7 @@ index eeead4e..ef64f7c 100644 return next; } EXPORT_SYMBOL(of_get_next_child); -@@ -285,14 +290,15 @@ EXPORT_SYMBOL(of_get_next_child); +@@ -384,14 +389,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 +115,7 @@ index eeead4e..ef64f7c 100644 return np; } EXPORT_SYMBOL(of_find_node_by_path); -@@ -312,15 +318,16 @@ struct device_node *of_find_node_by_name(struct device_node *from, +@@ -411,15 +417,16 @@ struct device_node *of_find_node_by_name(struct device_node *from, const char *name) { struct device_node *np; @@ -130,7 +134,7 @@ index eeead4e..ef64f7c 100644 return np; } EXPORT_SYMBOL(of_find_node_by_name); -@@ -341,15 +348,16 @@ struct device_node *of_find_node_by_type(struct device_node *from, +@@ -440,15 +447,16 @@ struct device_node *of_find_node_by_type(struct device_node *from, const char *type) { struct device_node *np; @@ -149,7 +153,7 @@ index eeead4e..ef64f7c 100644 return np; } EXPORT_SYMBOL(of_find_node_by_type); -@@ -372,8 +380,9 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -471,8 +479,9 @@ struct device_node *of_find_compatible_node(struct device_node *from, const char *type, const char *compatible) { struct device_node *np; @@ -160,7 +164,7 @@ index eeead4e..ef64f7c 100644 np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { if (type -@@ -384,7 +393,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -483,7 +492,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, break; } of_node_put(from); @@ -169,7 +173,7 @@ index eeead4e..ef64f7c 100644 return np; } EXPORT_SYMBOL(of_find_compatible_node); -@@ -406,8 +415,9 @@ struct device_node *of_find_node_with_property(struct device_node *from, +@@ -505,8 +514,9 @@ struct device_node *of_find_node_with_property(struct device_node *from, { struct device_node *np; struct property *pp; @@ -180,7 +184,7 @@ index eeead4e..ef64f7c 100644 np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { for (pp = np->properties; pp != 0; pp = pp->next) { -@@ -419,7 +429,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, +@@ -518,7 +528,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, } out: of_node_put(from); @@ -189,7 +193,7 @@ index eeead4e..ef64f7c 100644 return np; } EXPORT_SYMBOL(of_find_node_with_property); -@@ -457,10 +467,11 @@ const struct of_device_id *of_match_node(const struct of_device_id *matches, +@@ -556,10 +566,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 +207,7 @@ index eeead4e..ef64f7c 100644 return match; } EXPORT_SYMBOL(of_match_node); -@@ -481,15 +492,16 @@ struct device_node *of_find_matching_node(struct device_node *from, +@@ -580,15 +591,16 @@ struct device_node *of_find_matching_node(struct device_node *from, const struct of_device_id *matches) { struct device_node *np; @@ -223,5 +227,5 @@ index eeead4e..ef64f7c 100644 } EXPORT_SYMBOL(of_find_matching_node); -- -1.7.1.1 +1.7.0.4 diff --git a/PREEMPT_LOCK_OFFSET-force-to-zero-on-RT.patch b/PREEMPT_LOCK_OFFSET-force-to-zero-on-RT.patch index c81ed90..70cf8d1 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 7d700e22ae59cd605399d9dd050aaa35bd7e1dcf Mon Sep 17 00:00:00 2001 +From 682598f48831fc32cbbe7a301ebb01ce815700e3 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 @@ -29,12 +29,15 @@ 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> +--- + include/linux/sched.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index eed1065..8dbd95c 100644 +index 79a17ba..16918ad 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2525,7 +2525,7 @@ extern int _cond_resched(void); +@@ -2464,7 +2464,7 @@ extern int _cond_resched(void); extern int __cond_resched_lock(spinlock_t *lock); @@ -44,5 +47,5 @@ index eed1065..8dbd95c 100644 #else #define PREEMPT_LOCK_OFFSET 0 -- -1.7.1.1 +1.7.0.4 diff --git a/RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch b/RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch index 6b96dbe..fbb00ab 100644 --- a/RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch +++ b/RCU-Force-PREEMPT_RCU-for-PREEMPT-RT.patch @@ -1,4 +1,4 @@ -From 858c304c5783274a4b8455c7c3af2cc82dc854c0 Mon Sep 17 00:00:00 2001 +From fb3dacce075441d4a157bb63b96bf666084a99b1 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:30 -0500 Subject: [PATCH] RCU: Force PREEMPT_RCU for PREEMPT-RT @@ -13,9 +13,12 @@ interactively in the !PREEMPT_RT case. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/Kconfig | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index d95ca7c..9a50980 100644 +index eb77e8c..c1fa035 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -328,6 +328,7 @@ choice @@ -36,5 +39,5 @@ index d95ca7c..9a50980 100644 This option selects the RCU implementation that is designed for UP systems from which real-time response -- -1.7.1.1 +1.7.0.4 diff --git a/RT-Loongson-add-defconfig-for-YeeLoong.patch b/RT-Loongson-add-defconfig-for-YeeLoong.patch index ced4db8..5bcc819 100644 --- a/RT-Loongson-add-defconfig-for-YeeLoong.patch +++ b/RT-Loongson-add-defconfig-for-YeeLoong.patch @@ -1,4 +1,4 @@ -From 6329865ed6774b1d1cb3ab585bce263b2babfcd4 Mon Sep 17 00:00:00 2001 +From 3aa42408c2f4840ad7f362518648fc110504528f Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 07:10:18 +0800 Subject: [PATCH] RT: Loongson: add defconfig for YeeLoong @@ -8,6 +8,11 @@ commit 6329865ed6774b1d1cb3ab585bce263b2babfcd4 in tip. This is a minimal defconfig of PREEMTP_RT for the yeeloong2f netbook. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/configs/yeeloong2f_rt_defconfig | 1376 +++++++++++++++++++++++++++++ + 1 files changed, 1376 insertions(+), 0 deletions(-) + create mode 100644 arch/mips/configs/yeeloong2f_rt_defconfig diff --git a/arch/mips/configs/yeeloong2f_rt_defconfig b/arch/mips/configs/yeeloong2f_rt_defconfig new file mode 100644 @@ -1392,5 +1397,5 @@ index 0000000..7db42aa +CONFIG_HAS_DMA=y +CONFIG_NLATTR=y -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-Convert-the-schedule-to-__schedule.patch b/RT-MIPS-Convert-the-schedule-to-__schedule.patch index 1939bf0..c95b1f5 100644 --- a/RT-MIPS-Convert-the-schedule-to-__schedule.patch +++ b/RT-MIPS-Convert-the-schedule-to-__schedule.patch @@ -1,4 +1,4 @@ -From c10f19d9f405a5325689ba12d372080d62b84170 Mon Sep 17 00:00:00 2001 +From 52c6ed89305008a778644d4cea292cae5944ea63 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 01:38:27 +0800 Subject: [PATCH] RT: MIPS: Convert the schedule to __schedule @@ -9,6 +9,11 @@ There is a new __schedule() defined in the Preempt-rt patch, which should be called between local_irq_disble and local_irq_enable. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/kernel/entry.S | 5 +---- + arch/mips/kernel/process.c | 6 ++++-- + 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index ffa3310..2b43b66 100644 @@ -28,7 +33,7 @@ index ffa3310..2b43b66 100644 andi t0, a2, _TIF_WORK_MASK # is there any work to be done # other than syscall tracing? diff --git a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c -index 87316fc..3b2a0c0 100644 +index 9996094..f733437 100644 --- a/arch/mips/kernel/process.c +++ b/arch/mips/kernel/process.c @@ -78,9 +78,11 @@ void __noreturn cpu_idle(void) @@ -46,5 +51,5 @@ index 87316fc..3b2a0c0 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-Loongson-Un-thread-cascade-interrupts.patch b/RT-MIPS-Loongson-Un-thread-cascade-interrupts.patch index 08d140f..a0857a1 100644 --- a/RT-MIPS-Loongson-Un-thread-cascade-interrupts.patch +++ b/RT-MIPS-Loongson-Un-thread-cascade-interrupts.patch @@ -1,4 +1,4 @@ -From 25daa0f628cf5542204f0c5f8798206d43b730c0 Mon Sep 17 00:00:00 2001 +From 34b3d4e232689c2e0af4aaa9bc157cfea3e54525 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 02:03:26 +0800 Subject: [PATCH] RT: MIPS: Loongson: Un-thread cascade interrupts @@ -9,6 +9,11 @@ There are two cascade interrupts in Loongson machines, one for bonito northbridge, another for the 8259A controller in the southbridge. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/loongson/fuloong-2e/irq.c | 1 + + arch/mips/loongson/lemote-2f/irq.c | 3 ++- + 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/mips/loongson/fuloong-2e/irq.c b/arch/mips/loongson/fuloong-2e/irq.c index 320e937..3844258 100644 @@ -23,7 +28,7 @@ index 320e937..3844258 100644 void __init set_irq_trigger_mode(void) diff --git a/arch/mips/loongson/lemote-2f/irq.c b/arch/mips/loongson/lemote-2f/irq.c -index 882dfcd..6387510 100644 +index 1d8b4d2..b63a661 100644 --- a/arch/mips/loongson/lemote-2f/irq.c +++ b/arch/mips/loongson/lemote-2f/irq.c @@ -106,12 +106,13 @@ static irqreturn_t ip6_action(int cpl, void *dev_id) @@ -42,5 +47,5 @@ index 882dfcd..6387510 100644 void __init mach_init_irq(void) -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-Loongson-make-the-MFGPT-timer-depends-on-PRE.patch b/RT-MIPS-Loongson-make-the-MFGPT-timer-depends-on-PRE.patch index 6e428f8..23b86dc 100644 --- a/RT-MIPS-Loongson-make-the-MFGPT-timer-depends-on-PRE.patch +++ b/RT-MIPS-Loongson-make-the-MFGPT-timer-depends-on-PRE.patch @@ -1,4 +1,4 @@ -From 99335526b57f9e586ddaf3c2cc102abd9eb65e73 Mon Sep 17 00:00:00 2001 +From 30ca60b9223501113ee1345b1a73ca06bbfd0713 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 02:11:26 +0800 Subject: [PATCH] RT: MIPS: Loongson: make the MFGPT timer depends on !PREEMPT_RT @@ -14,6 +14,10 @@ For we disable it for PREEMPT_RT, there is no need to convert the related lock to raw_ one. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/loongson/Kconfig | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/mips/loongson/Kconfig b/arch/mips/loongson/Kconfig index 3df1967..ab08247 100644 @@ -29,5 +33,5 @@ index 3df1967..ab08247 100644 help This option enables the mfgpt0 timer of AMD CS5536. -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-Loongson-speedup-the-irq-dispatch.patch b/RT-MIPS-Loongson-speedup-the-irq-dispatch.patch index 75287f8..09302db 100644 --- a/RT-MIPS-Loongson-speedup-the-irq-dispatch.patch +++ b/RT-MIPS-Loongson-speedup-the-irq-dispatch.patch @@ -1,4 +1,4 @@ -From 75cf6cfe7b15e3290a82b3cb0b5de7d15cbb4c0f Mon Sep 17 00:00:00 2001 +From fec6d97ebe079d3d76fda26f51708d63ea5312e8 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Sat, 27 Feb 2010 15:08:45 +0800 Subject: [PATCH] RT: MIPS: Loongson: speedup the irq dispatch @@ -12,12 +12,19 @@ And also, this patch tries to tune the order of the interrupts to speedup the interrupts from northbright and sourthbrige. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/include/asm/mach-loongson/loongson.h | 6 +++--- + arch/mips/loongson/common/irq.c | 2 +- + arch/mips/loongson/fuloong-2e/irq.c | 14 ++++++++------ + arch/mips/loongson/lemote-2f/irq.c | 12 ++++++------ + 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/arch/mips/include/asm/mach-loongson/loongson.h b/arch/mips/include/asm/mach-loongson/loongson.h -index ee8bc83..fe93e14 100644 +index fcdbe3a..65466b6 100644 --- a/arch/mips/include/asm/mach-loongson/loongson.h +++ b/arch/mips/include/asm/mach-loongson/loongson.h -@@ -16,7 +16,7 @@ +@@ -15,7 +15,7 @@ #include <linux/init.h> /* loongson internal northbridge initialization */ @@ -26,7 +33,7 @@ index ee8bc83..fe93e14 100644 /* machine-specific reboot/halt operation */ extern void mach_prepare_reboot(void); -@@ -48,8 +48,8 @@ extern void bonito_irqdispatch(void); +@@ -47,8 +47,8 @@ extern void bonito_irqdispatch(void); extern void __init bonito_irq_init(void); extern void __init set_irq_trigger_mode(void); extern void __init mach_init_irq(void); @@ -88,7 +95,7 @@ index 3844258..3ee7bd3 100644 spurious_interrupt(); } diff --git a/arch/mips/loongson/lemote-2f/irq.c b/arch/mips/loongson/lemote-2f/irq.c -index 6387510..2120235 100644 +index b63a661..c806553 100644 --- a/arch/mips/loongson/lemote-2f/irq.c +++ b/arch/mips/loongson/lemote-2f/irq.c @@ -31,7 +31,7 @@ @@ -133,5 +140,5 @@ index 6387510..2120235 100644 spurious_interrupt(); } -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-Make-the-die_lock-be-raw.patch b/RT-MIPS-Make-the-die_lock-be-raw.patch index f0ed5fa..f468c9e 100644 --- a/RT-MIPS-Make-the-die_lock-be-raw.patch +++ b/RT-MIPS-Make-the-die_lock-be-raw.patch @@ -1,4 +1,4 @@ -From 9a9d61b4f54baabed86936e36c1c90f72387057c Mon Sep 17 00:00:00 2001 +From 02cb94572cdef7c0434bcbb1e93c0db1c0922799 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Mon, 22 Feb 2010 00:47:45 +0800 Subject: [PATCH] RT: MIPS: Make the die_lock be raw @@ -9,6 +9,10 @@ Kernel is going to die, the lock must be raw to ensure nobody can preempt it at this urgent time. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/kernel/traps.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index d612c6d..35ff8d6 100644 @@ -42,5 +46,5 @@ index d612c6d..35ff8d6 100644 if (in_interrupt()) panic("Fatal exception in interrupt"); -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-Un-thread-several-interrupts.patch b/RT-MIPS-Un-thread-several-interrupts.patch index a39a53b..4eb1101 100644 --- a/RT-MIPS-Un-thread-several-interrupts.patch +++ b/RT-MIPS-Un-thread-several-interrupts.patch @@ -1,4 +1,4 @@ -From cb7a435c2211b301598ded1ae051138b077b6eb9 Mon Sep 17 00:00:00 2001 +From 5e94653c0460d73420f12341b97ff6475bb255a5 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 02:27:12 +0800 Subject: [PATCH] RT: MIPS: Un-thread several interrupts @@ -11,6 +11,21 @@ bus error interrupt, halt interrupt, for they are urgent to the system, to un-thread them too. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/ar7/irq.c | 3 ++- + arch/mips/bcm63xx/irq.c | 1 + + arch/mips/cobalt/irq.c | 1 + + arch/mips/dec/setup.c | 4 ++++ + arch/mips/emma/markeins/irq.c | 2 +- + arch/mips/lasat/interrupt.c | 1 + + arch/mips/mti-malta/malta-int.c | 6 ++++-- + arch/mips/nxp/pnx8550/common/int.c | 2 +- + arch/mips/pmc-sierra/msp71xx/msp_irq.c | 5 +++-- + arch/mips/sgi-ip22/ip22-int.c | 10 +++++----- + arch/mips/sni/rm200.c | 1 + + arch/mips/vr41xx/common/irq.c | 1 + + 12 files changed, 25 insertions(+), 12 deletions(-) diff --git a/arch/mips/ar7/irq.c b/arch/mips/ar7/irq.c index c781556..fce30ee 100644 @@ -105,10 +120,10 @@ index 1353fb1..c8a4e0e 100644 void __init arch_init_irq(void) diff --git a/arch/mips/mti-malta/malta-int.c b/arch/mips/mti-malta/malta-int.c -index 4c3fca1..b985560 100644 +index 15949b0..1e9a7c1 100644 --- a/arch/mips/mti-malta/malta-int.c +++ b/arch/mips/mti-malta/malta-int.c -@@ -350,12 +350,14 @@ unsigned int plat_ipi_resched_int_xlate(unsigned int cpu) +@@ -349,12 +349,14 @@ unsigned int plat_ipi_resched_int_xlate(unsigned int cpu) static struct irqaction i8259irq = { .handler = no_action, @@ -126,10 +141,10 @@ index 4c3fca1..b985560 100644 static msc_irqmap_t __initdata msc_irqmap[] = { diff --git a/arch/mips/nxp/pnx8550/common/int.c b/arch/mips/nxp/pnx8550/common/int.c -index 7aca7d5..ca27dcb 100644 +index cfed505..13ff03b 100644 --- a/arch/mips/nxp/pnx8550/common/int.c +++ b/arch/mips/nxp/pnx8550/common/int.c -@@ -166,7 +166,7 @@ static struct irq_chip level_irq_type = { +@@ -165,7 +165,7 @@ static struct irq_chip level_irq_type = { static struct irqaction gic_action = { .handler = no_action, @@ -197,7 +212,7 @@ index 383f11d..18b1a24 100644 }; #define SGI_INTERRUPTS SGINT_END diff --git a/arch/mips/sni/rm200.c b/arch/mips/sni/rm200.c -index 31e2583..8a0bb58 100644 +index 90c558f..2bd0232 100644 --- a/arch/mips/sni/rm200.c +++ b/arch/mips/sni/rm200.c @@ -361,6 +361,7 @@ void sni_rm200_init_8259A(void) @@ -221,5 +236,5 @@ index bef0687..e16b1c8 100644 int cascade_irq(unsigned int irq, int (*get_irq)(unsigned int)) -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-check-resched-in-do_signal.patch b/RT-MIPS-check-resched-in-do_signal.patch index 41c9f87..e0b5d4c 100644 --- a/RT-MIPS-check-resched-in-do_signal.patch +++ b/RT-MIPS-check-resched-in-do_signal.patch @@ -1,4 +1,4 @@ -From aa60f24bac7c129cfc97e25319669d1a5c95400c Mon Sep 17 00:00:00 2001 +From 6a218fa1de203250245064236bc3cac1ad7606a9 Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 01:53:58 +0800 Subject: [PATCH] RT: MIPS: check resched in do_signal() @@ -6,12 +6,16 @@ Subject: [PATCH] RT: MIPS: check resched in do_signal() commit aa60f24bac7c129cfc97e25319669d1a5c95400c in tip. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/kernel/signal.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c -index d0c68b5..2ca24d7 100644 +index 2099d5a..24157c2 100644 --- a/arch/mips/kernel/signal.c +++ b/arch/mips/kernel/signal.c -@@ -640,6 +640,14 @@ static void do_signal(struct pt_regs *regs) +@@ -592,6 +592,14 @@ static void do_signal(struct pt_regs *regs) siginfo_t info; int signr; @@ -27,5 +31,5 @@ index d0c68b5..2ca24d7 100644 * We want the common case to go fast, which is why we may in certain * cases get here from kernel mode. Just return without doing anything -- -1.7.1.1 +1.7.0.4 diff --git a/RT-MIPS-make-cpufreq-support-depends-on-PREEMTP_RT.patch b/RT-MIPS-make-cpufreq-support-depends-on-PREEMTP_RT.patch index 6659db5..1211b36 100644 --- a/RT-MIPS-make-cpufreq-support-depends-on-PREEMTP_RT.patch +++ b/RT-MIPS-make-cpufreq-support-depends-on-PREEMTP_RT.patch @@ -1,4 +1,4 @@ -From d94aa877a44e2400a4bbdd0905109d7c0fc99030 Mon Sep 17 00:00:00 2001 +From 0d9ce02fa67fe2a96328e3bdf64869732374b95a Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzhangjin@gmail.com> Date: Wed, 10 Mar 2010 02:07:36 +0800 Subject: [PATCH] RT: MIPS: make cpufreq support depends on !PREEMTP_RT @@ -15,6 +15,10 @@ all of the above will make the whole system un-determinable, so, just disable the cpufreq support when PREEMPT_RT is used. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/kernel/cpufreq/Kconfig | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/mips/kernel/cpufreq/Kconfig b/arch/mips/kernel/cpufreq/Kconfig index 58c601e..8a29c86 100644 @@ -29,5 +33,5 @@ index 58c601e..8a29c86 100644 if MIPS_CPUFREQ -- -1.7.1.1 +1.7.0.4 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 3b6cef5..9f9bd47 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 3ce5cf5cacdfb27a6101b88e5fde8bfd5120dd16 Mon Sep 17 00:00:00 2001 +From ec7ff95127a4af3ddc70d2b2eb90b41e0c68ddff 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'" @@ -20,12 +20,16 @@ arch/avr32/include/asm/system.h:#define finish_arch_switch(prev) arch/mips/include/asm/system.h:#define finish_arch_switch(prev) Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 2119115..4c581d4 100644 +index d524ac8..46869d9 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -919,6 +919,8 @@ static inline u64 global_rt_runtime(void) +@@ -892,6 +892,8 @@ static inline u64 global_rt_runtime(void) #endif #ifndef finish_arch_switch # define _finish_arch_switch(prev) do { } while (0) @@ -35,5 +39,5 @@ index 2119115..4c581d4 100644 static inline int task_current(struct rq *rq, struct task_struct *p) -- -1.7.1.1 +1.7.0.4 diff --git a/USB-Fix-the-mouse-problem-when-copying-large-amounts.patch b/USB-Fix-the-mouse-problem-when-copying-large-amounts.patch index c277599..2621b4d 100644 --- a/USB-Fix-the-mouse-problem-when-copying-large-amounts.patch +++ b/USB-Fix-the-mouse-problem-when-copying-large-amounts.patch @@ -1,4 +1,4 @@ -From a54476e9eae1335542ac01492934398025b3999c Mon Sep 17 00:00:00 2001 +From 845576c63592e15acc4188f968fc500168e6796f Mon Sep 17 00:00:00 2001 From: Wu Zhangjin <wuzj@lemote.com> Date: Mon, 4 Jan 2010 11:33:02 +0800 Subject: [PATCH] USB: Fix the mouse problem when copying large amounts of data @@ -13,9 +13,13 @@ sure whether it is producible on other platforms] Signed-off-by: Hu Hongbing <huhb@lemote.com> Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/usb/host/ohci-hcd.c | 10 +++++++--- + 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c -index 24eb747..ddbc272 100644 +index afe59be..4b49e3f 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -832,9 +832,13 @@ static irqreturn_t ohci_irq (struct usb_hcd *hcd) @@ -36,5 +40,5 @@ index 24eb747..ddbc272 100644 if (quirk_zfmicro(ohci) && (ints & OHCI_INTR_SF)) { -- -1.7.1.1 +1.7.0.4 diff --git a/__raw_read-write-use-__preempt_enable-not-preempt_en.patch b/__raw_read-write-use-__preempt_enable-not-preempt_en.patch index 9b47fe0..41489ae 100644 --- a/__raw_read-write-use-__preempt_enable-not-preempt_en.patch +++ b/__raw_read-write-use-__preempt_enable-not-preempt_en.patch @@ -1,4 +1,4 @@ -From 1eefbe2d3de1ebcf9a4d1b957ea52910d39e55c2 Mon Sep 17 00:00:00 2001 +From d0971b1dd2404cd7cbc7d70448a04b7875fcd6b1 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 18:42:39 -0500 Subject: [PATCH] __raw_read/write: use __preempt_enable, not preempt_enable @@ -29,6 +29,9 @@ 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> +--- + include/linux/rwlock_api_smp.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/rwlock_api_smp.h b/include/linux/rwlock_api_smp.h index 9c9f049..99d0eed 100644 @@ -53,5 +56,5 @@ index 9c9f049..99d0eed 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/__raw_spin-use-__preempt_enable-not-preempt_enable.patch b/__raw_spin-use-__preempt_enable-not-preempt_enable.patch index 44012db..ae064df 100644 --- a/__raw_spin-use-__preempt_enable-not-preempt_enable.patch +++ b/__raw_spin-use-__preempt_enable-not-preempt_enable.patch @@ -1,4 +1,4 @@ -From ede831041e8cd6e1b3f0e810d73d234ea445cb28 Mon Sep 17 00:00:00 2001 +From 3fa8a204d5ae3155fac6673a52214fcb8685552c Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 16:41:12 -0500 Subject: [PATCH] __raw_spin: use __preempt_enable, not preempt_enable @@ -29,6 +29,9 @@ 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> +--- + include/linux/spinlock_api_smp.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/spinlock_api_smp.h b/include/linux/spinlock_api_smp.h index efe395f..4586f95 100644 @@ -53,5 +56,5 @@ index efe395f..4586f95 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch b/acpi-Do-not-disable-interrupts-on-PREEMPT_RT.patch index 498a40b..313bb63 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 e049db9003fdef94fcd891e98a76224ed30c8f54 Mon Sep 17 00:00:00 2001 +From cd0c54c10fb3af1115b74b1ddbcd6886c84af5be 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 @@ -6,6 +6,10 @@ Subject: [PATCH] acpi: Do not disable interrupts on PREEMPT_RT commit cf3d66ac52acec41987926996a665c93e3c4c378 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/acpi.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h index 56f462c..ead7e0b 100644 @@ -23,5 +27,5 @@ index 56f462c..ead7e0b 100644 int __acpi_acquire_global_lock(unsigned int *lock); -- -1.7.1.1 +1.7.0.4 diff --git a/affs-convert-from-semaphore-to-mutex.patch b/affs-convert-from-semaphore-to-mutex.patch index 5e600e6..a6024df 100644 --- a/affs-convert-from-semaphore-to-mutex.patch +++ b/affs-convert-from-semaphore-to-mutex.patch @@ -1,4 +1,4 @@ -From fa0fac3c986a7a3f0f2b5beb4da163a6a16c8bc8 Mon Sep 17 00:00:00 2001 +From 0447dad04ab82a25db9fb3c8611fad0510347f97 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 20:07:06 -0500 Subject: [PATCH] affs: convert from semaphore to mutex @@ -23,9 +23,13 @@ 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> +--- + fs/affs/affs.h | 26 +++++++++----------------- + fs/affs/super.c | 4 ++-- + 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/fs/affs/affs.h b/fs/affs/affs.h -index 0e40caa..e76128a 100644 +index 861dae6..6abe86f 100644 --- a/fs/affs/affs.h +++ b/fs/affs/affs.h @@ -50,9 +50,8 @@ struct affs_ext_key { @@ -40,7 +44,7 @@ index 0e40caa..e76128a 100644 u32 i_blkcnt; /* block count */ u32 i_extcnt; /* extended block count */ u32 *i_lc; /* linear cache of extended blocks */ -@@ -275,30 +274,23 @@ affs_adjust_bitmapchecksum(struct buffer_head *bh, u32 val) +@@ -276,30 +275,23 @@ affs_adjust_bitmapchecksum(struct buffer_head *bh, u32 val) static inline void affs_lock_link(struct inode *inode) { @@ -79,10 +83,10 @@ index 0e40caa..e76128a 100644 +#define affs_lock_dir(i) affs_lock_ext(i) +#define affs_unlock_dir(i) affs_unlock_ext(i) diff --git a/fs/affs/super.c b/fs/affs/super.c -index b3b1a86..f010759 100644 +index 51e326f..8ada98f 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c -@@ -113,8 +113,8 @@ static void init_once(void *foo) +@@ -114,8 +114,8 @@ static void init_once(void *foo) { struct affs_inode_info *ei = (struct affs_inode_info *) foo; @@ -94,5 +98,5 @@ index b3b1a86..f010759 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/affs-use-semaphore_init-instead-of-init_MUTEX.patch b/affs-use-semaphore_init-instead-of-init_MUTEX.patch index 936f30c..402cbaf 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 800a567c248b40e3172120a9baf1208ea003f692 Mon Sep 17 00:00:00 2001 +From 94b46868088cfcba70fecb1d1c0a924178e072b0 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 @@ -10,12 +10,16 @@ in some places. Make it them semaphores. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/affs/super.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/affs/super.c b/fs/affs/super.c -index d41e967..b3b1a86 100644 +index 16a3e47..51e326f 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c -@@ -113,8 +113,8 @@ static void init_once(void *foo) +@@ -114,8 +114,8 @@ static void init_once(void *foo) { struct affs_inode_info *ei = (struct affs_inode_info *) foo; @@ -27,5 +31,5 @@ index d41e967..b3b1a86 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/arm-Mark-XScale-performance-monitor-unit-PMU-interru.patch b/arm-Mark-XScale-performance-monitor-unit-PMU-interru.patch index 56bd392..4e0e708 100644 --- a/arm-Mark-XScale-performance-monitor-unit-PMU-interru.patch +++ b/arm-Mark-XScale-performance-monitor-unit-PMU-interru.patch @@ -1,4 +1,4 @@ -From 779a264d514f28743aca359f1fa8f7a3d0929609 Mon Sep 17 00:00:00 2001 +From 94a0a4602714e8f6acdd90a5c8241f27f2623a81 Mon Sep 17 00:00:00 2001 From: Kevin Hilman <khilman@mvista.com> Date: Fri, 3 Jul 2009 08:44:45 -0500 Subject: [PATCH] arm: Mark XScale performance monitor unit (PMU) interrupt IRQF_NODELAY @@ -12,6 +12,10 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> arch/arm/oprofile/op_model_xscale.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/oprofile/op_model_xscale.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/arm/oprofile/op_model_xscale.c b/arch/arm/oprofile/op_model_xscale.c index 1d34a02..1fa40e8 100644 @@ -35,5 +39,5 @@ index 1d34a02..1fa40e8 100644 if (ret < 0) { printk(KERN_ERR "oprofile: unable to request IRQ%d for XScale PMU\n", -- -1.7.1.1 +1.7.0.4 diff --git a/arm-Prepare-decoupling-page-fault-logic-from-preempt.patch b/arm-Prepare-decoupling-page-fault-logic-from-preempt.patch index e7d4a73..7ba947c 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 c095f66000760bcee5414f538b4b232d4d0ca90c Mon Sep 17 00:00:00 2001 +From 1dc13016189e1653819785a9a114380a8750df2b 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 @@ -6,12 +6,16 @@ Subject: [PATCH] arm: Prepare decoupling page-fault logic from preempt-count commit 9cc0ea6be0eafee87ffe5e4d7bb9cc4594235693 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mm/fault.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mm/fault.c b/arch/arm/mm/fault.c -index 10e0680..7aa9b88 100644 +index 9d40c34..527ca54 100644 --- a/arch/arm/mm/fault.c +++ b/arch/arm/mm/fault.c -@@ -273,7 +273,7 @@ do_page_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs) +@@ -274,7 +274,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.. */ @@ -21,5 +25,5 @@ index 10e0680..7aa9b88 100644 /* -- -1.7.1.1 +1.7.0.4 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 d008afb..90164ea 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 e0390e128c9d8e8f6babca9527466abd291b759d Mon Sep 17 00:00:00 2001 +From 5f397b3064b843c9ae72034b0d01f55d1f27e455 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 @@ -10,12 +10,16 @@ Use the local_irq_*_nort variants. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/ata/libata-sff.c | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c -index 730ef3c..bc24dfb 100644 +index e3877b6..ec1c34b 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, +@@ -838,9 +838,9 @@ unsigned int ata_sff_data_xfer_noirq(struct ata_device *dev, unsigned char *buf, unsigned long flags; unsigned int consumed; @@ -27,7 +31,7 @@ index 730ef3c..bc24dfb 100644 return consumed; } -@@ -878,7 +878,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) +@@ -879,7 +879,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) unsigned long flags; /* FIXME: use a bounce buffer */ @@ -36,7 +40,7 @@ index 730ef3c..bc24dfb 100644 buf = kmap_atomic(page, KM_IRQ0); /* do the actual data transfer */ -@@ -886,7 +886,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) +@@ -887,7 +887,7 @@ static void ata_pio_sector(struct ata_queued_cmd *qc) do_write); kunmap_atomic(buf, KM_IRQ0); @@ -45,7 +49,7 @@ index 730ef3c..bc24dfb 100644 } else { buf = page_address(page); ap->ops->sff_data_xfer(qc->dev, buf + offset, qc->sect_size, -@@ -1019,7 +1019,7 @@ next_sg: +@@ -1020,7 +1020,7 @@ next_sg: unsigned long flags; /* FIXME: use bounce buffer */ @@ -54,7 +58,7 @@ index 730ef3c..bc24dfb 100644 buf = kmap_atomic(page, KM_IRQ0); /* do the actual data transfer */ -@@ -1027,7 +1027,7 @@ next_sg: +@@ -1028,7 +1028,7 @@ next_sg: count, rw); kunmap_atomic(buf, KM_IRQ0); @@ -64,5 +68,5 @@ index 730ef3c..bc24dfb 100644 buf = page_address(page); consumed = ap->ops->sff_data_xfer(dev, buf + offset, -- -1.7.1.1 +1.7.0.4 diff --git a/audit-Do-not-send-uninitialized-data-for-AUDIT_TTY_G.patch b/audit-Do-not-send-uninitialized-data-for-AUDIT_TTY_G.patch index e33400b..bb032fa 100644 --- a/audit-Do-not-send-uninitialized-data-for-AUDIT_TTY_G.patch +++ b/audit-Do-not-send-uninitialized-data-for-AUDIT_TTY_G.patch @@ -1,4 +1,4 @@ -From 4c9a0a35cd3c2984a3c58bc22c7214472d01c9c9 Mon Sep 17 00:00:00 2001 +From 95eeb751dc6e68948dbfa955f69e2b03f0e4b242 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 9 Dec 2009 14:35:10 +0100 Subject: [PATCH] audit: Do not send uninitialized data for AUDIT_TTY_GET @@ -13,12 +13,16 @@ Send reply only when task was found. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Eric Paris <eparis@redhat.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/audit.c | 6 ++++-- + 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/kernel/audit.c b/kernel/audit.c -index 5feed23..bf307dd 100644 +index c71bd26..3d04a64 100644 --- a/kernel/audit.c +++ b/kernel/audit.c -@@ -891,8 +891,10 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) +@@ -892,8 +892,10 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) spin_unlock_irq(&tsk->sighand->siglock); } read_unlock(&tasklist_lock); @@ -32,5 +36,5 @@ index 5feed23..bf307dd 100644 } case AUDIT_TTY_SET: { -- -1.7.1.1 +1.7.0.4 diff --git a/audit-Use-rcu-for-task-lookup-protection.patch b/audit-Use-rcu-for-task-lookup-protection.patch index 8c8dd8c..165fbbd 100644 --- a/audit-Use-rcu-for-task-lookup-protection.patch +++ b/audit-Use-rcu-for-task-lookup-protection.patch @@ -1,4 +1,4 @@ -From 378cc63c24b6c9b9269c05475fbefeb8335790b3 Mon Sep 17 00:00:00 2001 +From 79a3977cdff6edfb2de5d661f8e894aabfd742a4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 9 Dec 2009 14:33:48 +0100 Subject: [PATCH] audit: Use rcu for task lookup protection @@ -13,12 +13,16 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Eric Paris <eparis@redhat.com> Cc: Oleg Nesterov <oleg@redhat.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/audit.c | 30 ++++++++++++++---------------- + 1 files changed, 14 insertions(+), 16 deletions(-) diff --git a/kernel/audit.c b/kernel/audit.c -index bf307dd..8ccf8d5 100644 +index 3d04a64..4ac4746 100644 --- a/kernel/audit.c +++ b/kernel/audit.c -@@ -880,17 +880,16 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) +@@ -881,17 +881,16 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) case AUDIT_TTY_GET: { struct audit_tty_status s; struct task_struct *tsk; @@ -43,7 +47,7 @@ index bf307dd..8ccf8d5 100644 if (!err) audit_send_reply(NETLINK_CB(skb).pid, seq, -@@ -900,22 +899,21 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) +@@ -901,22 +900,21 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) case AUDIT_TTY_SET: { struct audit_tty_status *s; struct task_struct *tsk; @@ -74,5 +78,5 @@ index bf307dd..8ccf8d5 100644 } default: -- -1.7.1.1 +1.7.0.4 diff --git a/blk-use-raw_smp_processor_id-in-blk_cpu_to_group.patch b/blk-use-raw_smp_processor_id-in-blk_cpu_to_group.patch index 8b40d77..667532b 100644 --- a/blk-use-raw_smp_processor_id-in-blk_cpu_to_group.patch +++ b/blk-use-raw_smp_processor_id-in-blk_cpu_to_group.patch @@ -1,4 +1,4 @@ -From bb039626d47b7ce9167e2fe7e3adffa486bd83bc Mon Sep 17 00:00:00 2001 +From 5f6eb0bdd1549942fba2e1b1e3e2bdd0186e8602 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 22:23:44 -0500 Subject: [PATCH] blk: use raw_smp_processor_id in blk_cpu_to_group() @@ -28,9 +28,12 @@ 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> +--- + block/blk-core.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c -index f776d0e..94cf03e 100644 +index f33d074..6e74352 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1267,7 +1267,7 @@ get_rq: @@ -43,5 +46,5 @@ index f776d0e..94cf03e 100644 blk_plug_device(q); add_request(q, req); -- -1.7.1.1 +1.7.0.4 diff --git a/block-paride-RT-compile-fix.patch b/block-paride-RT-compile-fix.patch index 919e561..b5a8647 100644 --- a/block-paride-RT-compile-fix.patch +++ b/block-paride-RT-compile-fix.patch @@ -1,4 +1,4 @@ -From 817a53ad6fb34d62c38b980699e227df6457d8a7 Mon Sep 17 00:00:00 2001 +From c352856cbc3fbea8cf9f519019f4f5e4b0ec87d7 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:15 -0500 Subject: [PATCH] block: paride RT compile fix @@ -7,6 +7,10 @@ commit 817a53ad6fb34d62c38b980699e227df6457d8a7 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/block/paride/pseudo.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/block/paride/pseudo.h b/drivers/block/paride/pseudo.h index bc37032..0fbc78c 100644 @@ -22,5 +26,5 @@ index bc37032..0fbc78c 100644 static DECLARE_DELAYED_WORK(ps_tq, ps_tq_int); -- -1.7.1.1 +1.7.0.4 diff --git a/cond_resched_softirq-mask-SOFTIRQ_OFFSET-in-__might_.patch b/cond_resched_softirq-mask-SOFTIRQ_OFFSET-in-__might_.patch index acf2054..b61e524 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 77c4064a4df38a45d1504aab8d0116aa4d10c335 Mon Sep 17 00:00:00 2001 +From 82c552b519c9037eb23a74966b520e9e57836b23 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 @@ -31,12 +31,15 @@ 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> +--- + include/linux/sched.h | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 8dbd95c..e07e7ef 100644 +index 16918ad..b515f13 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2538,10 +2538,18 @@ extern int __cond_resched_lock(spinlock_t *lock); +@@ -2477,10 +2477,18 @@ extern int __cond_resched_lock(spinlock_t *lock); extern int __cond_resched_softirq(void); @@ -56,5 +59,5 @@ index 8dbd95c..e07e7ef 100644 extern int cond_resched_softirq_context(void); -- -1.7.1.1 +1.7.0.4 diff --git a/console-rt-support.patch b/console-rt-support.patch index 41b49e9..5ae1dfc 100644 --- a/console-rt-support.patch +++ b/console-rt-support.patch @@ -1,4 +1,4 @@ -From aaa8b0586726cb7dab0c5084f0493bb669d53d9d Mon Sep 17 00:00:00 2001 +From 9320fcc18828cc6fd81643e90156f7727441bf6b 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 @@ -7,12 +7,17 @@ commit 76a0a41f5ee87263c88f83798eeeed5015fd720f in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/video/console/fbcon.c | 1 + + include/linux/console.h | 1 + + 2 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c -index 3681c6a..e037da3 100644 +index b0a3fa0..f6a4ed6 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c -@@ -3225,6 +3225,7 @@ static const struct consw fb_con = { +@@ -3276,6 +3276,7 @@ static const struct consw fb_con = { .con_screen_pos = fbcon_screen_pos, .con_getxy = fbcon_getxy, .con_resize = fbcon_resize, @@ -33,5 +38,5 @@ index dcca533..7c2c9ae 100644 extern const struct consw *conswitchp; -- -1.7.1.1 +1.7.0.4 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 354e0da..953a6f7 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 8cd5722c77216adab9ae2606e520b37fa6f0cd5d Mon Sep 17 00:00:00 2001 +From cf78dde27b1d46ea38507f6e750892433b3b9508 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 @@ -9,12 +9,16 @@ Use the local_irq_*_nort variants to reduce latencies in RT. The code is serialized by the locks. No need to disable interrupts. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/user.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/user.c b/kernel/user.c -index 46d0165..0c81912 100644 +index 766467b..f3d2011 100644 --- a/kernel/user.c +++ b/kernel/user.c -@@ -416,11 +416,11 @@ void free_uid(struct user_struct *up) +@@ -125,11 +125,11 @@ void free_uid(struct user_struct *up) if (!up) return; @@ -29,5 +33,5 @@ index 46d0165..0c81912 100644 struct user_struct *alloc_uid(struct user_namespace *ns, uid_t uid) -- -1.7.1.1 +1.7.0.4 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 743dac8..f7fa52b 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 cabdb3dd5ed092c6a2b7844d1abe6f748b3a9ed6 Mon Sep 17 00:00:00 2001 +From fc11a9df6cca216bed244e6b69a8d6a892b5e4c4 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 @@ -44,12 +44,16 @@ So replace it with _nort(). This code needs a second look. Reported-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/res_counter.c | 9 +++++---- + 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/kernel/res_counter.c b/kernel/res_counter.c -index bcdabf3..a340d29 100644 +index c7eaa37..bd325f7 100644 --- a/kernel/res_counter.c +++ b/kernel/res_counter.c -@@ -14,6 +14,7 @@ +@@ -13,6 +13,7 @@ #include <linux/res_counter.h> #include <linux/uaccess.h> #include <linux/mm.h> @@ -57,7 +61,7 @@ index bcdabf3..a340d29 100644 void res_counter_init(struct res_counter *counter, struct res_counter *parent) { -@@ -44,7 +45,7 @@ int res_counter_charge(struct res_counter *counter, unsigned long val, +@@ -43,7 +44,7 @@ int res_counter_charge(struct res_counter *counter, unsigned long val, struct res_counter *c, *u; *limit_fail_at = NULL; @@ -66,7 +70,7 @@ index bcdabf3..a340d29 100644 for (c = counter; c != NULL; c = c->parent) { spin_lock(&c->lock); ret = res_counter_charge_locked(c, val); -@@ -63,7 +64,7 @@ undo: +@@ -62,7 +63,7 @@ undo: spin_unlock(&u->lock); } done: @@ -75,7 +79,7 @@ index bcdabf3..a340d29 100644 return ret; } -@@ -80,13 +81,13 @@ void res_counter_uncharge(struct res_counter *counter, unsigned long val) +@@ -79,13 +80,13 @@ void res_counter_uncharge(struct res_counter *counter, unsigned long val) unsigned long flags; struct res_counter *c; @@ -92,5 +96,5 @@ index bcdabf3..a340d29 100644 -- -1.7.1.1 +1.7.0.4 diff --git a/core-Provide-preempt_-_-no-rt-variants.patch b/core-Provide-preempt_-_-no-rt-variants.patch index 71d0675..c6dc780 100644 --- a/core-Provide-preempt_-_-no-rt-variants.patch +++ b/core-Provide-preempt_-_-no-rt-variants.patch @@ -1,4 +1,4 @@ -From 1624d62862e3439bbc7e4f4bb04f029d0bddd5e6 Mon Sep 17 00:00:00 2001 +From 951a274e3c0e78198fcd596ad0433d5f646becc6 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 @@ -9,6 +9,10 @@ RT needs a few preempt_disable/enable points which are not necessary otherwise. Implement variants to avoid #ifdeffery. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/preempt.h | 12 ++++++++++++ + 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 5c7dba8..9dfe0eb 100644 @@ -34,5 +38,5 @@ index 5c7dba8..9dfe0eb 100644 struct preempt_notifier; -- -1.7.1.1 +1.7.0.4 diff --git a/core-Revert-the-in_irq-in_softirq-modifications.patch b/core-Revert-the-in_irq-in_softirq-modifications.patch index 358afca..11ac1e8 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 3daf998b12ce605e4a3fa81fce0633050182e3a3 Mon Sep 17 00:00:00 2001 +From 7d9e9a8da2f01552ef468a9042fd2deed7800182 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 @@ -29,6 +29,9 @@ makes me sure that it has no weird side effects. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hardirq.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index 3223348..b5dec50 100644 @@ -46,5 +49,5 @@ index 3223348..b5dec50 100644 /* -- -1.7.1.1 +1.7.0.4 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 dfd6b81..c46ae55 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 fe22ca5ca9e5d5b5fa6742b7ad40986c8389f155 Mon Sep 17 00:00:00 2001 +From b60fc07e05f69bce6042ab76ab8e468e6770eb87 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() @@ -9,12 +9,18 @@ When idle tasks exits then we do not want to wake the cpu bound desched thread. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 6 +++--- + kernel/fork.c | 23 ++++++++++++++--------- + kernel/sched.c | 4 ++-- + 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index b4f912f..631c0af 100644 +index d733a51..f52ece2 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2286,7 +2286,7 @@ extern struct mm_struct * mm_alloc(void); +@@ -2224,7 +2224,7 @@ extern struct mm_struct * mm_alloc(void); /* mmdrop drops the mm and the page tables */ extern void __mmdrop(struct mm_struct *); @@ -23,7 +29,7 @@ index b4f912f..631c0af 100644 static inline void mmdrop(struct mm_struct * mm) { -@@ -2294,10 +2294,10 @@ static inline void mmdrop(struct mm_struct * mm) +@@ -2232,10 +2232,10 @@ static inline void mmdrop(struct mm_struct * mm) __mmdrop(mm); } @@ -37,10 +43,10 @@ index b4f912f..631c0af 100644 /* mmput gets rid of the mappings and all user-space */ diff --git a/kernel/fork.c b/kernel/fork.c -index 6dc8e27..74192aa 100644 +index 324cf5c..d0f3c98 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1805,24 +1805,26 @@ int unshare_files(struct files_struct **displaced) +@@ -1783,24 +1783,26 @@ int unshare_files(struct files_struct **displaced) return 0; } @@ -72,7 +78,7 @@ index 6dc8e27..74192aa 100644 return ret; } -@@ -1831,7 +1833,7 @@ static int mmdrop_complete(void) +@@ -1809,7 +1811,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 +87,7 @@ index 6dc8e27..74192aa 100644 { struct task_struct *cpu_desched_task; struct list_head *head; -@@ -1839,7 +1841,7 @@ void __mmdrop_delayed(struct mm_struct *mm) +@@ -1817,7 +1819,7 @@ void __mmdrop_delayed(struct mm_struct *mm) head = &get_cpu_var(delayed_drop_list); list_add_tail(&mm->delayed_drop, head); cpu_desched_task = __get_cpu_var(desched_task); @@ -90,7 +96,7 @@ index 6dc8e27..74192aa 100644 wake_up_process(cpu_desched_task); put_cpu_var(delayed_drop_list); } -@@ -1854,13 +1856,16 @@ static void takeover_delayed_drop(int hotcpu) +@@ -1832,13 +1834,16 @@ static void takeover_delayed_drop(int hotcpu) struct mm_struct, delayed_drop); list_del(&mm->delayed_drop); @@ -108,7 +114,7 @@ index 6dc8e27..74192aa 100644 set_user_nice(current, -10); current->flags |= PF_NOFREEZE; current->extra_flags |= PFE_SOFTIRQ; -@@ -1869,7 +1874,7 @@ static int desched_thread(void * __bind_cpu) +@@ -1847,7 +1852,7 @@ static int desched_thread(void * __bind_cpu) while (!kthread_should_stop()) { @@ -118,10 +124,10 @@ index 6dc8e27..74192aa 100644 schedule(); diff --git a/kernel/sched.c b/kernel/sched.c -index f03f1d2..f8557a5 100644 +index dd1fc16..82dbca6 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) +@@ -2923,7 +2923,7 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) * to do complex work from within the scheduler: */ if (mm) @@ -130,7 +136,7 @@ index f03f1d2..f8557a5 100644 if (unlikely(prev_state == TASK_DEAD)) { /* * Remove function-return probe instances associated with this -@@ -7787,7 +7787,7 @@ void idle_task_exit(void) +@@ -5959,7 +5959,7 @@ void idle_task_exit(void) if (mm != &init_mm) switch_mm(mm, &init_mm, current); #ifdef CONFIG_PREEMPT_RT @@ -140,5 +146,5 @@ index f03f1d2..f8557a5 100644 mmdrop(mm); #endif -- -1.7.1.1 +1.7.0.4 diff --git a/cpu-hotplug-Prevent-softirq-wakeup-on-wrong-CPU.patch b/cpu-hotplug-Prevent-softirq-wakeup-on-wrong-CPU.patch index d328692..b423e8e 100644 --- a/cpu-hotplug-Prevent-softirq-wakeup-on-wrong-CPU.patch +++ b/cpu-hotplug-Prevent-softirq-wakeup-on-wrong-CPU.patch @@ -1,4 +1,4 @@ -From dd6ea834ec1405baa50e0f465c9f570a4686147e Mon Sep 17 00:00:00 2001 +From fc563f23881366463e528340b1660bc82e68633a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 20 Jul 2010 14:34:50 +0200 Subject: [PATCH] cpu-hotplug: Prevent softirq wakeup on wrong CPU @@ -14,12 +14,16 @@ the cpu_active bit. Temporary workaround. Needs more thought. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/smpboot.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c -index 9b44011..0c6ffea 100644 +index 763d815..8849ce2 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c -@@ -322,6 +322,9 @@ notrace static void __cpuinit start_secondary(void *unused) +@@ -329,6 +329,9 @@ notrace static void __cpuinit start_secondary(void *unused) per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE; x86_platform.nmi_init(); @@ -30,5 +34,5 @@ index 9b44011..0c6ffea 100644 local_irq_enable(); -- -1.7.1.1 +1.7.0.4 diff --git a/cpu-hotplug-get_cpu_var_locked-online-aware.patch b/cpu-hotplug-get_cpu_var_locked-online-aware.patch index 2a5310b..1062605 100644 --- a/cpu-hotplug-get_cpu_var_locked-online-aware.patch +++ b/cpu-hotplug-get_cpu_var_locked-online-aware.patch @@ -1,4 +1,4 @@ -From 231b8c5bc149824cdca6c54154d08dfd30536da4 Mon Sep 17 00:00:00 2001 +From 1a1cfcf90fbe895de61f5c96e84f70569db03d94 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri, 3 Jul 2009 08:44:39 -0500 Subject: [PATCH] cpu-hotplug: get_cpu_var_locked online aware @@ -7,12 +7,16 @@ commit 849ac1ba25f218b94876174bc77c25403420d768 in tip. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/percpu.h | 24 +++++++++++++++++++++++- + 1 files changed, 23 insertions(+), 1 deletions(-) diff --git a/include/linux/percpu.h b/include/linux/percpu.h -index 9dda3e3..ea3dfff 100644 +index 4494bb0..ee2d901 100644 --- a/include/linux/percpu.h +++ b/include/linux/percpu.h -@@ -43,14 +43,36 @@ +@@ -50,14 +50,36 @@ * same as the normal per-CPU variables, so there is no runtime * overhead. */ @@ -51,5 +55,5 @@ index 9dda3e3..ea3dfff 100644 #define put_cpu_var_locked(var, cpu) \ do { (void)cpu; spin_unlock(&__get_cpu_lock(var, cpu)); } while (0) -- -1.7.1.1 +1.7.0.4 diff --git a/dca-Fix-fallout-from-raw_spinlock-conversion.patch b/dca-Fix-fallout-from-raw_spinlock-conversion.patch index 688e614..2221728 100644 --- a/dca-Fix-fallout-from-raw_spinlock-conversion.patch +++ b/dca-Fix-fallout-from-raw_spinlock-conversion.patch @@ -1,4 +1,4 @@ -From 911d28c51827fb0dbf2dcc1e3f2f7618c87cf1eb Mon Sep 17 00:00:00 2001 +From 5e0451b0118c9768a754dab60c139f599110cdd1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 20 Jul 2010 22:49:00 +0200 Subject: [PATCH] dca: Fix fallout from raw_spinlock conversion @@ -8,12 +8,16 @@ commit 911d28c51827fb0dbf2dcc1e3f2f7618c87cf1eb in tip. Compiling stuff helps even if there is no hardware to test on. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/dca/dca-core.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/dca/dca-core.c b/drivers/dca/dca-core.c -index c09dcae..b120604 100644 +index 4cb0e57..026b058 100644 --- a/drivers/dca/dca-core.c +++ b/drivers/dca/dca-core.c -@@ -307,7 +307,7 @@ int register_dca_provider(struct dca_provider *dca, struct device *dev) +@@ -308,7 +308,7 @@ int register_dca_provider(struct dca_provider *dca, struct device *dev) if (!domain) { raw_spin_unlock_irqrestore(&dca_lock, flags); @@ -23,5 +27,5 @@ index c09dcae..b120604 100644 return -ENODEV; -- -1.7.1.1 +1.7.0.4 diff --git a/dma-init_MUTEX_LOCKED-sema_init.patch b/dma-init_MUTEX_LOCKED-sema_init.patch index 98a9570..e81c451 100644 --- a/dma-init_MUTEX_LOCKED-sema_init.patch +++ b/dma-init_MUTEX_LOCKED-sema_init.patch @@ -1,4 +1,4 @@ -From 4d46b06fa9dc0f19c4fbb4733f594b1c6ae75192 Mon Sep 17 00:00:00 2001 +From 6b4b16246e53561cbd83fe2b53a17252af0b68bb Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 21:09:43 -0500 Subject: [PATCH] dma: init_MUTEX_LOCKED --> sema_init @@ -23,12 +23,15 @@ 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> +--- + arch/arm/mach-bcmring/dma.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-bcmring/dma.c b/arch/arm/mach-bcmring/dma.c -index 7b20fcc..cbda897 100644 +index 29c0a91..4355424 100644 --- a/arch/arm/mach-bcmring/dma.c +++ b/arch/arm/mach-bcmring/dma.c -@@ -690,7 +690,7 @@ int dma_init(void) +@@ -691,7 +691,7 @@ int dma_init(void) memset(&gDMA, 0, sizeof(gDMA)); @@ -38,5 +41,5 @@ index 7b20fcc..cbda897 100644 /* Initialize the Hardware */ -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-base-Convert-dev-sem-to-mutex.patch b/drivers-base-Convert-dev-sem-to-mutex.patch index 677f6dc..fdfa4ad 100644 --- a/drivers-base-Convert-dev-sem-to-mutex.patch +++ b/drivers-base-Convert-dev-sem-to-mutex.patch @@ -1,4 +1,4 @@ -From 8dbc7a12cfa50a6a9d0c86f1dcf520682446039c Mon Sep 17 00:00:00 2001 +From c3e1ac3a05621cfdf2ae2922478271b7ba28ba08 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 @@ -12,9 +12,13 @@ The semaphore is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/base/core.c | 3 +-- + include/linux/device.h | 9 ++++----- + 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c -index ef55df3..09c10e9 100644 +index b56a0ba..45eb57f 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c @@ -20,7 +20,6 @@ @@ -35,7 +39,7 @@ index ef55df3..09c10e9 100644 INIT_LIST_HEAD(&dev->devres_head); device_init_wakeup(dev, 0); diff --git a/include/linux/device.h b/include/linux/device.h -index 1821928..d0fd2b4 100644 +index 1821928..7a3a5ac 100644 --- a/include/linux/device.h +++ b/include/linux/device.h @@ -22,7 +22,6 @@ @@ -77,5 +81,5 @@ index 1821928..d0fd2b4 100644 void driver_init(void); -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch b/drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch index 5dc0fb2..67d4d83 100644 --- a/drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch +++ b/drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch @@ -1,4 +1,4 @@ -From 5805f5ac2a7b6ca1fb32e406523a00ac1eb45ffb Mon Sep 17 00:00:00 2001 +From 36e3989f2f2ee86c81a9d294879712bcbfed395e Mon Sep 17 00:00:00 2001 From: Mike Galbraith <efault@gmx.de> Date: Wed, 7 Jul 2010 10:29:01 +0200 Subject: [PATCH] drivers/dca: Convert dca_lock to a raw spinlock @@ -45,12 +45,16 @@ drivers/dca: convert dca_lock to a raw spinlock Signed-off-by: Mike Galbraith <efault@gmx.de> LKML-Reference: <1278491341.7926.4.camel@marge.simson.net> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/dca/dca-core.c | 60 ++++++++++++++++++++++++++--------------------- + 1 files changed, 33 insertions(+), 27 deletions(-) diff --git a/drivers/dca/dca-core.c b/drivers/dca/dca-core.c -index 52e6bb7..c09dcae 100644 +index 8661c84..4cb0e57 100644 --- a/drivers/dca/dca-core.c +++ b/drivers/dca/dca-core.c -@@ -34,7 +34,7 @@ MODULE_VERSION(DCA_VERSION); +@@ -35,7 +35,7 @@ MODULE_VERSION(DCA_VERSION); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Intel Corporation"); @@ -59,7 +63,7 @@ index 52e6bb7..c09dcae 100644 static LIST_HEAD(dca_domains); -@@ -87,13 +87,6 @@ static struct dca_domain *dca_get_domain(struct device *dev) +@@ -88,13 +88,6 @@ static struct dca_domain *dca_get_domain(struct device *dev) rc = dca_pci_rc_from_dev(dev); domain = dca_find_domain(rc); @@ -73,7 +77,7 @@ index 52e6bb7..c09dcae 100644 return domain; } -@@ -139,19 +132,19 @@ int dca_add_requester(struct device *dev) +@@ -140,19 +133,19 @@ int dca_add_requester(struct device *dev) if (!dev) return -EFAULT; @@ -96,7 +100,7 @@ index 52e6bb7..c09dcae 100644 return -ENODEV; } -@@ -161,17 +154,17 @@ int dca_add_requester(struct device *dev) +@@ -162,17 +155,17 @@ int dca_add_requester(struct device *dev) break; } @@ -117,7 +121,7 @@ index 52e6bb7..c09dcae 100644 return err; } -@@ -192,14 +185,14 @@ int dca_remove_requester(struct device *dev) +@@ -193,14 +186,14 @@ int dca_remove_requester(struct device *dev) if (!dev) return -EFAULT; @@ -135,7 +139,7 @@ index 52e6bb7..c09dcae 100644 if (slot < 0) return slot; -@@ -221,16 +214,16 @@ u8 dca_common_get_tag(struct device *dev, int cpu) +@@ -222,16 +215,16 @@ u8 dca_common_get_tag(struct device *dev, int cpu) u8 tag; unsigned long flags; @@ -155,7 +159,7 @@ index 52e6bb7..c09dcae 100644 return tag; } -@@ -303,23 +296,36 @@ int register_dca_provider(struct dca_provider *dca, struct device *dev) +@@ -304,23 +297,36 @@ int register_dca_provider(struct dca_provider *dca, struct device *dev) { int err; unsigned long flags; @@ -197,7 +201,7 @@ index 52e6bb7..c09dcae 100644 return 0; } EXPORT_SYMBOL_GPL(register_dca_provider); -@@ -337,7 +343,7 @@ void unregister_dca_provider(struct dca_provider *dca, struct device *dev) +@@ -338,7 +344,7 @@ void unregister_dca_provider(struct dca_provider *dca, struct device *dev) blocking_notifier_call_chain(&dca_provider_chain, DCA_PROVIDER_REMOVE, NULL); @@ -206,7 +210,7 @@ index 52e6bb7..c09dcae 100644 list_del(&dca->node); -@@ -346,7 +352,7 @@ void unregister_dca_provider(struct dca_provider *dca, struct device *dev) +@@ -347,7 +353,7 @@ void unregister_dca_provider(struct dca_provider *dca, struct device *dev) if (list_empty(&domain->dca_providers)) dca_free_domain(domain); @@ -216,5 +220,5 @@ index 52e6bb7..c09dcae 100644 dca_sysfs_remove_provider(dca); } -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-hwmon-coretemp.c-detect-the-thermal-sensors-.patch b/drivers-hwmon-coretemp.c-detect-the-thermal-sensors-.patch index 7bcc3d1..18eb054 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 34a32c59664593ed751778512e891126058b40c0 Mon Sep 17 00:00:00 2001 +From 323d41027941a1567f2f33fdd125478061c03f43 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 @@ -19,6 +19,10 @@ Cc: Yong Wang <yong.y.wang@linux.intel.com> Cc: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/hwmon/coretemp.c | 32 ++++++++++++-------------------- + 1 files changed, 12 insertions(+), 20 deletions(-) diff --git a/drivers/hwmon/coretemp.c b/drivers/hwmon/coretemp.c index e9b7fbc..6f7cbc0 100644 @@ -66,5 +70,5 @@ index e9b7fbc..6f7cbc0 100644 if (list_empty(&pdev_list)) { err = -ENODEV; -- -1.7.1.1 +1.7.0.4 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 b2d7d28..be9ea00 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 8bff8426ecaa0abeb683b12c825d649078745275 Mon Sep 17 00:00:00 2001 +From 6ea62528f1bb25e99f5bf0a1efab97e46ee5896c 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 @@ -19,12 +19,17 @@ Cc: Yong Wang <yong.y.wang@linux.intel.com> Cc: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/msr-index.h | 2 + + drivers/hwmon/coretemp.c | 61 +++++++++++++++++++++++++++++++++++-- + 2 files changed, 59 insertions(+), 4 deletions(-) diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-index.h -index 1cd58cd..1f0002d 100644 +index 4604e6a..9bc0cf8 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h -@@ -230,6 +230,8 @@ +@@ -232,6 +232,8 @@ #define MSR_IA32_MISC_ENABLE 0x000001a0 @@ -34,7 +39,7 @@ index 1cd58cd..1f0002d 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 915dff5..be2cf9b 100644 +index 6f7cbc0..6573961 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 * @@ -117,5 +122,5 @@ index 915dff5..be2cf9b 100644 dev_warn(&pdev->dev, "Unable to read" " IA32_TEMPERATURE_TARGET MSR\n"); -- -1.7.1.1 +1.7.0.4 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 1240eb2..433ac2d 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 17f5c647718e8383e459c6a86a9e82cb64ace93e Mon Sep 17 00:00:00 2001 +From 44e3e173c354122e79ef8b707ae6caa179bb1da4 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 @@ -10,9 +10,13 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/macintosh/adb.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/macintosh/adb.c b/drivers/macintosh/adb.c -index 23741ce..14910a0 100644 +index 1c4ee6e..0ff83ec 100644 --- a/drivers/macintosh/adb.c +++ b/drivers/macintosh/adb.c @@ -83,7 +83,7 @@ static struct adb_driver *adb_controller; @@ -25,5 +29,5 @@ index 23741ce..14910a0 100644 static int autopoll_devs; int __adb_probe_sync; -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-net-Make-loopback_xmit-rt-safe.patch b/drivers-net-Make-loopback_xmit-rt-safe.patch index 52980cd..a7a86dc 100644 --- a/drivers-net-Make-loopback_xmit-rt-safe.patch +++ b/drivers-net-Make-loopback_xmit-rt-safe.patch @@ -1,4 +1,4 @@ -From 6021f45632642d281a50b16a33c4a4563367b49c Mon Sep 17 00:00:00 2001 +From f14a6832fcd25ec95b102552cfe8d331946f1fc7 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/net: Make loopback_xmit -rt safe @@ -13,6 +13,9 @@ Use get_cpu() if -rt is enabled. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/loopback.c | 19 ++++++++++++++----- + 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 72b7949..377144f 100644 @@ -64,5 +67,5 @@ index 72b7949..377144f 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-net-Use-disable_irq_nosync-in-8139too.patch b/drivers-net-Use-disable_irq_nosync-in-8139too.patch index 97f1660..ee09b45 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 3948aaad6a3b33e3a11f1c7b9b9b99b458c23b2d Mon Sep 17 00:00:00 2001 +From 3cd7b3c5097cfb8315d8287dd2dc01204f1dad43 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 @@ -10,12 +10,16 @@ called in atomic context with netpoll. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/8139too.c | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/drivers/net/8139too.c b/drivers/net/8139too.c -index 25f7339..3b8ff0d 100644 +index f0d23de..5bb7407 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) +@@ -2172,7 +2172,11 @@ static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance) */ static void rtl8139_poll_controller(struct net_device *dev) { @@ -29,5 +33,5 @@ index 25f7339..3b8ff0d 100644 enable_irq(dev->irq); } -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-net-fix-livelock-issues.patch b/drivers-net-fix-livelock-issues.patch index e7c578d..cbe79cc 100644 --- a/drivers-net-fix-livelock-issues.patch +++ b/drivers-net-fix-livelock-issues.patch @@ -1,4 +1,4 @@ -From 4a633714d8cd36f73f45d21968e3cd32ec1cf204 Mon Sep 17 00:00:00 2001 +From 2d5eaf3f046351244c97c2bc59b7ff8013ceb005 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 20 Jun 2009 11:36:54 +0200 Subject: [PATCH] drivers/net: fix livelock issues @@ -14,12 +14,21 @@ Remove it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/atl1c/atl1c_main.c | 7 ++----- + drivers/net/atl1e/atl1e_main.c | 3 +-- + drivers/net/chelsio/sge.c | 3 +-- + drivers/net/rionet.c | 6 +----- + drivers/net/s2io.c | 7 +------ + drivers/net/sungem.c | 6 ++---- + drivers/net/tehuti.c | 9 ++------- + 7 files changed, 10 insertions(+), 31 deletions(-) diff --git a/drivers/net/atl1c/atl1c_main.c b/drivers/net/atl1c/atl1c_main.c -index 2f4be59..5b44d14 100644 +index 50dc531..a9c0b58 100644 --- a/drivers/net/atl1c/atl1c_main.c +++ b/drivers/net/atl1c/atl1c_main.c -@@ -2064,11 +2064,8 @@ static netdev_tx_t atl1c_xmit_frame(struct sk_buff *skb, +@@ -2159,11 +2159,8 @@ static netdev_tx_t atl1c_xmit_frame(struct sk_buff *skb, } tpd_req = atl1c_cal_tpd_req(skb); @@ -34,10 +43,10 @@ index 2f4be59..5b44d14 100644 type = atl1c_trans_high; else diff --git a/drivers/net/atl1e/atl1e_main.c b/drivers/net/atl1e/atl1e_main.c -index 08f8c09..5df9cfd 100644 +index 73302ae..a80e796 100644 --- a/drivers/net/atl1e/atl1e_main.c +++ b/drivers/net/atl1e/atl1e_main.c -@@ -1823,8 +1823,7 @@ static netdev_tx_t atl1e_xmit_frame(struct sk_buff *skb, +@@ -1810,8 +1810,7 @@ static netdev_tx_t atl1e_xmit_frame(struct sk_buff *skb, return NETDEV_TX_OK; } tpd_req = atl1e_cal_tdp_req(skb); @@ -48,10 +57,10 @@ index 08f8c09..5df9cfd 100644 if (atl1e_tpd_avail(adapter) < tpd_req) { /* no enough descriptor, just stop queue */ diff --git a/drivers/net/chelsio/sge.c b/drivers/net/chelsio/sge.c -index 109d278..abd372a 100644 +index df3a141..8886c16 100644 --- a/drivers/net/chelsio/sge.c +++ b/drivers/net/chelsio/sge.c -@@ -1671,8 +1671,7 @@ static int t1_sge_tx(struct sk_buff *skb, struct adapter *adapter, +@@ -1672,8 +1672,7 @@ static int t1_sge_tx(struct sk_buff *skb, struct adapter *adapter, struct cmdQ *q = &sge->cmdQ[qid]; unsigned int credits, pidx, genbit, count, use_sched_skb = 0; @@ -62,10 +71,10 @@ index 109d278..abd372a 100644 reclaim_completed_tx(sge, q); diff --git a/drivers/net/rionet.c b/drivers/net/rionet.c -index ede937e..53345da 100644 +index 07eb884..5e82a12 100644 --- a/drivers/net/rionet.c +++ b/drivers/net/rionet.c -@@ -175,11 +175,7 @@ static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev) +@@ -176,11 +176,7 @@ static int rionet_start_xmit(struct sk_buff *skb, struct net_device *ndev) u16 destid; unsigned long flags; @@ -79,10 +88,10 @@ index ede937e..53345da 100644 if ((rnet->tx_cnt + 1) > RIONET_TX_RING_SIZE) { netif_stop_queue(ndev); diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c -index 3c4836d..9984903 100644 +index 92ae8d3..7e57dc4 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c -@@ -4146,12 +4146,7 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) +@@ -4147,12 +4147,7 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) [skb->priority & (MAX_TX_FIFOS - 1)]; fifo = &mac_control->fifos[queue]; @@ -97,7 +106,7 @@ index 3c4836d..9984903 100644 if (sp->config.multiq) { if (__netif_subqueue_stopped(dev, fifo->fifo_no)) { diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c -index b571a1b..c3a1180 100644 +index e6880f1..d104520 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c @@ -1034,10 +1034,8 @@ static netdev_tx_t gem_start_xmit(struct sk_buff *skb, @@ -114,10 +123,10 @@ index b571a1b..c3a1180 100644 if (!gp->running) { spin_unlock_irqrestore(&gp->tx_lock, flags); diff --git a/drivers/net/tehuti.c b/drivers/net/tehuti.c -index 80b404f..1013891 100644 +index f549309..6882943 100644 --- a/drivers/net/tehuti.c +++ b/drivers/net/tehuti.c -@@ -1639,13 +1639,8 @@ static netdev_tx_t bdx_tx_transmit(struct sk_buff *skb, +@@ -1633,13 +1633,8 @@ static netdev_tx_t bdx_tx_transmit(struct sk_buff *skb, unsigned long flags; ENTER; @@ -134,5 +143,5 @@ index 80b404f..1013891 100644 /* build tx descriptor */ BDX_ASSERT(f->m.wptr >= f->m.memsz); /* started with valid wptr */ -- -1.7.1.1 +1.7.0.4 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 fa5abff..bb46900 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 450d743f5efccabeeee0494a69f425e2a5115cc5 Mon Sep 17 00:00:00 2001 +From 0877abc747efc182fd8cb18aed44ad6c71f96468 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() @@ -9,9 +9,13 @@ Otherwise the device is not completely shut down. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/tulip/tulip_core.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/net/tulip/tulip_core.c b/drivers/net/tulip/tulip_core.c -index 20696b5..541a860 100644 +index 3810db9..b4c0c13 100644 --- a/drivers/net/tulip/tulip_core.c +++ b/drivers/net/tulip/tulip_core.c @@ -1837,6 +1837,7 @@ static void __devexit tulip_remove_one (struct pci_dev *pdev) @@ -23,5 +27,5 @@ index 20696b5..541a860 100644 /* pci_power_off (pdev, -1); */ -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-net-vortex-fix-locking-issues.patch b/drivers-net-vortex-fix-locking-issues.patch index 6a3fb00..2f60237 100644 --- a/drivers-net-vortex-fix-locking-issues.patch +++ b/drivers-net-vortex-fix-locking-issues.patch @@ -1,4 +1,4 @@ -From 459833e39814ffe6c88be4e8edd3d5b9ef01e098 Mon Sep 17 00:00:00 2001 +From 3ef17657c212b7d7e6ea7fb4873fa78df90c5539 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 @@ -19,9 +19,13 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> 1 file changed, 7 insertions(+), 9 deletions(-) Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/3c59x.c | 16 +++++++--------- + 1 files changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/net/3c59x.c b/drivers/net/3c59x.c -index 39db0e9..43dcc78 100644 +index 5f92fdb..de4602f 100644 --- a/drivers/net/3c59x.c +++ b/drivers/net/3c59x.c @@ -797,9 +797,9 @@ static void poll_vortex(struct net_device *dev) @@ -89,5 +93,5 @@ index 39db0e9..43dcc78 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-random-Reduce-preempt-disabled-region.patch b/drivers-random-Reduce-preempt-disabled-region.patch index 2237982..396700e 100644 --- a/drivers-random-Reduce-preempt-disabled-region.patch +++ b/drivers-random-Reduce-preempt-disabled-region.patch @@ -1,4 +1,4 @@ -From d7247f625be7fbb17960c14b006d4478a63862df Mon Sep 17 00:00:00 2001 +From ceb2741d7b8db999dd0a69da255eebbe9fb177c8 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 @@ -9,9 +9,13 @@ No need to keep preemption disabled across the whole function. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/char/random.c | 9 +++++---- + 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/char/random.c b/drivers/char/random.c -index 2849713..5e54b4b 100644 +index 2fd3d39..da9f2f9 100644 --- a/drivers/char/random.c +++ b/drivers/char/random.c @@ -625,8 +625,11 @@ static void add_timer_randomness(struct timer_rand_state *state, unsigned num) @@ -38,5 +42,5 @@ index 2849713..5e54b4b 100644 void add_input_randomness(unsigned int type, unsigned int code, -- -1.7.1.1 +1.7.0.4 diff --git a/drivers-serial-Clean-up-the-locking-for-rt.patch b/drivers-serial-Clean-up-the-locking-for-rt.patch index 1c104da..20e18be 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 6d60c75c339e44f48c2e88d4aa3d8c1aafdb24be Mon Sep 17 00:00:00 2001 +From 36cccf2f70b0c0bbac8db59e27bd5b380829a6db 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 @@ -7,12 +7,16 @@ commit 295048108ae1c03ede2297c08133526c5a1b6b3b in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/serial/8250.c | 15 +++++---------- + 1 files changed, 5 insertions(+), 10 deletions(-) diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index e9b15c3..e348e3c 100644 +index 2b1ea3d..42f05ea 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -2735,14 +2735,10 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) +@@ -2766,14 +2766,10 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) touch_nmi_watchdog(); @@ -31,7 +35,7 @@ index e9b15c3..e348e3c 100644 /* * First save the IER then disable the interrupts -@@ -2774,8 +2770,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) +@@ -2805,8 +2801,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) check_modem_status(up); if (locked) @@ -42,5 +46,5 @@ index e9b15c3..e348e3c 100644 static int __init serial8250_console_setup(struct console *co, char *options) -- -1.7.1.1 +1.7.0.4 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 6481609..e4c37b7 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 0e42d26f9cf75079dae4c99c734dc6e99b7258eb Mon Sep 17 00:00:00 2001 +From 4eb7f5c7d5dfe90eec3a505534fb7eca31a241fd 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 @@ -6,12 +6,17 @@ Subject: [PATCH] drivers/serial: call flush_to_ldisc when the irq is threaded commit 7f36d9deaafb246caadc3a94d785e9d856209e01 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/char/tty_buffer.c | 4 ++++ + drivers/serial/8250.c | 7 ++++++- + 2 files changed, 10 insertions(+), 1 deletions(-) diff --git a/drivers/char/tty_buffer.c b/drivers/char/tty_buffer.c -index 66fa4e1..17dfa02 100644 +index 7ee5216..019a8c0 100644 --- a/drivers/char/tty_buffer.c +++ b/drivers/char/tty_buffer.c -@@ -492,10 +492,14 @@ void tty_flip_buffer_push(struct tty_struct *tty) +@@ -495,10 +495,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 +32,10 @@ index 66fa4e1..17dfa02 100644 EXPORT_SYMBOL(tty_flip_buffer_push); diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index e348e3c..708b6d9 100644 +index 42f05ea..c1d31e4 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -1598,7 +1598,12 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id) +@@ -1593,7 +1593,12 @@ static irqreturn_t serial8250_interrupt(int irq, void *dev_id) l = l->next; @@ -45,5 +50,5 @@ index e348e3c..708b6d9 100644 printk(KERN_ERR "serial8250: too much work for " "irq%d\n", irq); -- -1.7.1.1 +1.7.0.4 diff --git a/dvb-Convert-mutex-to-semaphore.patch b/dvb-Convert-mutex-to-semaphore.patch index 3a273cd..3e7395e 100644 --- a/dvb-Convert-mutex-to-semaphore.patch +++ b/dvb-Convert-mutex-to-semaphore.patch @@ -1,4 +1,4 @@ -From 00b946ce00151f076f71b1213bd8687162f95783 Mon Sep 17 00:00:00 2001 +From 0ff146a20360b761676a033e049c2ea593b7cdfe 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 @@ -10,9 +10,13 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Mauro Carvalho Chehab <mchehab@redhat.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/media/dvb/dvb-core/dvb_frontend.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/dvb/dvb-core/dvb_frontend.c b/drivers/media/dvb/dvb-core/dvb_frontend.c -index 0746122..e650983 100644 +index 55ea260..29b4504 100644 --- a/drivers/media/dvb/dvb-core/dvb_frontend.c +++ b/drivers/media/dvb/dvb-core/dvb_frontend.c @@ -694,7 +694,7 @@ static void dvb_frontend_stop(struct dvb_frontend *fe) @@ -24,7 +28,7 @@ index 0746122..e650983 100644 fepriv->state = FESTATE_IDLE; /* paranoia check in case a signal arrived */ -@@ -2054,7 +2054,7 @@ int dvb_register_frontend(struct dvb_adapter* dvb, +@@ -2052,7 +2052,7 @@ int dvb_register_frontend(struct dvb_adapter* dvb, } fepriv = fe->frontend_priv; @@ -34,5 +38,5 @@ index 0746122..e650983 100644 init_waitqueue_head (&fepriv->events.wait_queue); mutex_init(&fepriv->events.mtx); -- -1.7.1.1 +1.7.0.4 diff --git a/fix-sema-in-arm-bcmring_dma.patch b/fix-sema-in-arm-bcmring_dma.patch index e85a279..a5919b1 100644 --- a/fix-sema-in-arm-bcmring_dma.patch +++ b/fix-sema-in-arm-bcmring_dma.patch @@ -1,12 +1,15 @@ -From cad2ad8914ec606329d24b452bca6b2d9a1e5ef2 Mon Sep 17 00:00:00 2001 +From b4f3fc5da801294af7e9545f61375cef0146e29e Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 23:29:37 -0500 Subject: [PATCH] fix sema in arm bcmring_dma Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/mach-bcmring/dma.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/arm/mach-bcmring/dma.c b/arch/arm/mach-bcmring/dma.c -index 4355424..85b0dc1 100644 +index 4355424..77eb35c 100644 --- a/arch/arm/mach-bcmring/dma.c +++ b/arch/arm/mach-bcmring/dma.c @@ -1574,7 +1574,7 @@ int dma_init_mem_map(DMA_MemMap_t *memMap) @@ -19,5 +22,5 @@ index 4355424..85b0dc1 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/fix-undefined-references-to-kernel_sem.patch b/fix-undefined-references-to-kernel_sem.patch index c37d6be..09e691f 100644 --- a/fix-undefined-references-to-kernel_sem.patch +++ b/fix-undefined-references-to-kernel_sem.patch @@ -1,4 +1,4 @@ -From 26392ede3a9d06de9864e47c752cf425bc108be1 Mon Sep 17 00:00:00 2001 +From c7be330846952b0c29655532140f1766d8ac7a5f 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 @@ -11,12 +11,17 @@ lib/kernel_lock.c is compiled conditionally. Signed-off-by: Olaf Hering <olaf@aepfle.de> LKML-Reference: <20100524220428.GA17771@aepfle.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 4 ++++ + kernel/lockdep.c | 2 ++ + 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/init/main.c b/init/main.c -index 39a4f75..63252e8 100644 +index 0d67d3e..10e3f7c 100644 --- a/init/main.c +++ b/init/main.c -@@ -629,9 +629,13 @@ asmlinkage void __init start_kernel(void) +@@ -646,9 +646,13 @@ asmlinkage void __init start_kernel(void) * the lockdep state, so release the one known lock and * acquire it again after the self-test is done. */ @@ -31,10 +36,10 @@ index 39a4f75..63252e8 100644 #ifdef CONFIG_BLK_DEV_INITRD diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index 1199bda..c74c909 100644 +index 32a21cc..7e04e83 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c -@@ -3608,8 +3608,10 @@ void lockdep_init(void) +@@ -3595,8 +3595,10 @@ void lockdep_init(void) for (i = 0; i < CHAINHASH_SIZE; i++) INIT_LIST_HEAD(chainhash_table + i); @@ -46,5 +51,5 @@ index 1199bda..c74c909 100644 lockdep_initialized = 1; } -- -1.7.1.1 +1.7.0.4 diff --git a/fix-up-TASK_STATE-entry.patch b/fix-up-TASK_STATE-entry.patch index b8be7c5..75697ad 100644 --- a/fix-up-TASK_STATE-entry.patch +++ b/fix-up-TASK_STATE-entry.patch @@ -1,4 +1,4 @@ -From 70cc1fef135322cee80a38c4b7f2f4b92cfec5a3 Mon Sep 17 00:00:00 2001 +From a3d38e875da681a90bb52ca96d0f6d6a3c87cd25 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 @@ -23,9 +23,12 @@ 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> +--- + include/linux/sched.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4883407..c969a10 100644 +index afc746b..1a7d4b7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -210,8 +210,8 @@ extern struct semaphore kernel_sem; @@ -40,5 +43,5 @@ index 4883407..c969a10 100644 #define TASK_STATE_TO_CHAR_STR "RMSDTtZXxKW" -- -1.7.1.1 +1.7.0.4 diff --git a/frv-Prepare-distangling-page-fault-logic-from-preemp.patch b/frv-Prepare-distangling-page-fault-logic-from-preemp.patch index 8330cc7..1ccab34 100644 --- a/frv-Prepare-distangling-page-fault-logic-from-preemp.patch +++ b/frv-Prepare-distangling-page-fault-logic-from-preemp.patch @@ -1,4 +1,4 @@ -From 327994e18241383adcf4d95cace71ae79c130809 Mon Sep 17 00:00:00 2001 +From 9f984741a9cba840a4b646acfe8cecf997692e9b 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] frv: Prepare distangling page-fault logic from preempt_count @@ -17,6 +17,10 @@ Make this explicit now - so that we can change pagefault_disable(). Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/frv/include/asm/highmem.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/frv/include/asm/highmem.h b/arch/frv/include/asm/highmem.h index 68e4677..5cb8dff 100644 @@ -39,5 +43,5 @@ index 68e4677..5cb8dff 100644 #endif /* !__ASSEMBLY__ */ -- -1.7.1.1 +1.7.0.4 diff --git a/fs-Add-missing-rcu-protection-for-__task_cred-in-sys.patch b/fs-Add-missing-rcu-protection-for-__task_cred-in-sys.patch index 226c445..07ec069 100644 --- a/fs-Add-missing-rcu-protection-for-__task_cred-in-sys.patch +++ b/fs-Add-missing-rcu-protection-for-__task_cred-in-sys.patch @@ -1,4 +1,4 @@ -From 8f4200b312eb06ab405d2c6d0075ce4bebf738dd Mon Sep 17 00:00:00 2001 +From d977982e72733db9bfaa20306af8543db173a669 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 9 Dec 2009 22:08:35 +0100 Subject: [PATCH] fs: Add missing rcu protection for __task_cred() in sys_ioprio_get @@ -18,12 +18,16 @@ Cc: James Morris <jmorris@namei.org> Cc: linux-security-module@vger.kernel.org Cc: linux-fsdevel@vger.kernel.org Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/ioprio.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/ioprio.c b/fs/ioprio.c -index c7c0b28..82c40a2 100644 +index 748cfb9..e391978 100644 --- a/fs/ioprio.c +++ b/fs/ioprio.c -@@ -230,6 +230,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who) +@@ -231,6 +231,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who) if (!user) break; @@ -31,7 +35,7 @@ index c7c0b28..82c40a2 100644 do_each_thread(g, p) { if (__task_cred(p)->uid != user->uid) continue; -@@ -241,6 +242,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who) +@@ -242,6 +243,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who) else ret = ioprio_best(ret, tmpio); } while_each_thread(g, p); @@ -40,5 +44,5 @@ index c7c0b28..82c40a2 100644 if (who) free_uid(user); -- -1.7.1.1 +1.7.0.4 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 3224134..310a775 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 dd850b2ccb230ada53e5bb63664e0fd53284af38 Mon Sep 17 00:00:00 2001 +From 3297e3c2764e3f4ff20e2cc461f186f885215982 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 @@ -11,12 +11,26 @@ rw_anon_semaphore and annotate the semantics hereby. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/attr.c | 4 ++-- + fs/direct-io.c | 4 ++-- + fs/ext4/inode.c | 4 ++-- + fs/fat/inode.c | 4 ++-- + fs/inode.c | 2 +- + fs/nilfs2/mdt.c | 2 +- + fs/ntfs/file.c | 4 ++-- + fs/ocfs2/aops.c | 2 +- + fs/ocfs2/file.c | 10 +++++----- + fs/reiserfs/xattr.c | 4 ++-- + include/linux/fs.h | 2 +- + mm/memory.c | 4 ++-- + 12 files changed, 23 insertions(+), 23 deletions(-) diff --git a/fs/attr.c b/fs/attr.c -index 96d394b..b3f0527 100644 +index 0815e93..bf18c50 100644 --- a/fs/attr.c +++ b/fs/attr.c -@@ -206,7 +206,7 @@ int notify_change(struct dentry * dentry, struct iattr * attr) +@@ -205,7 +205,7 @@ int notify_change(struct dentry * dentry, struct iattr * attr) return error; if (ia_valid & ATTR_SIZE) @@ -25,7 +39,7 @@ index 96d394b..b3f0527 100644 if (inode->i_op && inode->i_op->setattr) { error = inode->i_op->setattr(dentry, attr); -@@ -223,7 +223,7 @@ int notify_change(struct dentry * dentry, struct iattr * attr) +@@ -216,7 +216,7 @@ int notify_change(struct dentry * dentry, struct iattr * attr) } if (ia_valid & ATTR_SIZE) @@ -57,10 +71,10 @@ index e82adc2..45ee3f6 100644 /* diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c -index e119524..89dbb38 100644 +index 81d6054..50ccb91 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) +@@ -5952,7 +5952,7 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) * Get i_alloc_sem to stop truncates messing with the inode. We cannot * get i_mutex because we are already holding mmap_sem. */ @@ -69,7 +83,7 @@ index e119524..89dbb38 100644 size = i_size_read(inode); if (page->mapping != mapping || size <= page_offset(page) || !PageUptodate(page)) { -@@ -5818,6 +5818,6 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) +@@ -6002,6 +6002,6 @@ int ext4_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) out_unlock: if (ret) ret = VM_FAULT_SIGBUS; @@ -78,7 +92,7 @@ index e119524..89dbb38 100644 return ret; } diff --git a/fs/fat/inode.c b/fs/fat/inode.c -index 14da530..5c5e1cd 100644 +index 0ce143b..ab39032 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c @@ -202,9 +202,9 @@ static sector_t _fat_bmap(struct address_space *mapping, sector_t block) @@ -94,10 +108,10 @@ index 14da530..5c5e1cd 100644 return blocknr; } diff --git a/fs/inode.c b/fs/inode.c -index 03dfeb2..ce10948 100644 +index 407bf39..6314865 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -162,7 +162,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) +@@ -161,7 +161,7 @@ int inode_init_always(struct super_block *sb, struct inode *inode) mutex_init(&inode->i_mutex); lockdep_set_class(&inode->i_mutex, &sb->s_type->i_mutex_key); @@ -107,10 +121,10 @@ index 03dfeb2..ce10948 100644 mapping->a_ops = &empty_aops; diff --git a/fs/nilfs2/mdt.c b/fs/nilfs2/mdt.c -index 06713ff..e7ed4cd 100644 +index 024be8c..10b7675 100644 --- a/fs/nilfs2/mdt.c +++ b/fs/nilfs2/mdt.c -@@ -509,7 +509,7 @@ nilfs_mdt_new_common(struct the_nilfs *nilfs, struct super_block *sb, +@@ -510,7 +510,7 @@ nilfs_mdt_new_common(struct the_nilfs *nilfs, struct super_block *sb, spin_lock_init(&inode->i_lock); mutex_init(&inode->i_mutex); @@ -120,10 +134,10 @@ index 06713ff..e7ed4cd 100644 mapping->host = NULL; /* instead of inode */ mapping->flags = 0; diff --git a/fs/ntfs/file.c b/fs/ntfs/file.c -index 43179dd..b3d9d74 100644 +index 8804f09..c0d6232 100644 --- a/fs/ntfs/file.c +++ b/fs/ntfs/file.c -@@ -1845,9 +1845,9 @@ static ssize_t ntfs_file_buffered_write(struct kiocb *iocb, +@@ -1846,9 +1846,9 @@ static ssize_t ntfs_file_buffered_write(struct kiocb *iocb, * fails again. */ if (unlikely(NInoTruncateFailed(ni))) { @@ -136,10 +150,10 @@ index 43179dd..b3d9d74 100644 if (!err) err = -EIO; diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c -index 7e9df11..5d55344 100644 +index 21441dd..9846b72 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c -@@ -620,7 +620,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, +@@ -621,7 +621,7 @@ static void ocfs2_dio_end_io(struct kiocb *iocb, level = ocfs2_iocb_rw_locked_level(iocb); if (!level) @@ -149,10 +163,10 @@ index 7e9df11..5d55344 100644 } diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c -index 558ce03..4394eec 100644 +index a5fbd9c..56ecd3a 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c -@@ -1934,7 +1934,7 @@ static ssize_t ocfs2_file_aio_write(struct kiocb *iocb, +@@ -1936,7 +1936,7 @@ static ssize_t ocfs2_file_aio_write(struct kiocb *iocb, relock: /* to match setattr's i_mutex -> i_alloc_sem -> rw_lock ordering */ if (direct_io) { @@ -161,7 +175,7 @@ index 558ce03..4394eec 100644 have_alloc_sem = 1; } -@@ -1961,7 +1961,7 @@ relock: +@@ -1963,7 +1963,7 @@ relock: */ if (direct_io && !can_do_direct) { ocfs2_rw_unlock(inode, rw_level); @@ -170,7 +184,7 @@ index 558ce03..4394eec 100644 have_alloc_sem = 0; rw_level = -1; -@@ -2054,7 +2054,7 @@ out: +@@ -2059,7 +2059,7 @@ out: out_sems: if (have_alloc_sem) @@ -179,7 +193,7 @@ index 558ce03..4394eec 100644 mutex_unlock(&inode->i_mutex); -@@ -2203,7 +2203,7 @@ static ssize_t ocfs2_file_aio_read(struct kiocb *iocb, +@@ -2208,7 +2208,7 @@ static ssize_t ocfs2_file_aio_read(struct kiocb *iocb, * need locks to protect pending reads from racing with truncate. */ if (filp->f_flags & O_DIRECT) { @@ -188,7 +202,7 @@ index 558ce03..4394eec 100644 have_alloc_sem = 1; ret = ocfs2_rw_lock(inode, 0); -@@ -2247,7 +2247,7 @@ static ssize_t ocfs2_file_aio_read(struct kiocb *iocb, +@@ -2252,7 +2252,7 @@ static ssize_t ocfs2_file_aio_read(struct kiocb *iocb, bail: if (have_alloc_sem) @@ -198,10 +212,10 @@ 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 81f09fa..75f4c0b 100644 +index e7cc00e..5b91872 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c -@@ -563,11 +563,11 @@ reiserfs_xattr_set_handle(struct reiserfs_transaction_handle *th, +@@ -560,11 +560,11 @@ reiserfs_xattr_set_handle(struct reiserfs_transaction_handle *th, reiserfs_write_unlock(inode->i_sb); mutex_lock_nested(&dentry->d_inode->i_mutex, I_MUTEX_XATTR); @@ -216,10 +230,10 @@ index 81f09fa..75f4c0b 100644 } else update_ctime(inode); diff --git a/include/linux/fs.h b/include/linux/fs.h -index ebb1cd5..590c104 100644 +index 44f35ae..64c3268 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -743,7 +743,7 @@ struct inode { +@@ -746,7 +746,7 @@ struct inode { umode_t i_mode; spinlock_t i_lock; /* i_blocks, i_bytes, maybe i_size */ struct mutex i_mutex; @@ -229,10 +243,10 @@ index ebb1cd5..590c104 100644 const struct file_operations *i_fop; /* former ->i_op->default_file_ops */ struct super_block *i_sb; diff --git a/mm/memory.c b/mm/memory.c -index fef5225..553bf3d 100644 +index 6b45a97..7df5899 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -2494,12 +2494,12 @@ int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end) +@@ -2589,12 +2589,12 @@ int vmtruncate_range(struct inode *inode, loff_t offset, loff_t end) return -ENOSYS; mutex_lock(&inode->i_mutex); @@ -248,5 +262,5 @@ index fef5225..553bf3d 100644 return 0; -- -1.7.1.1 +1.7.0.4 diff --git a/fs-Make-jbd-assertions-smp-only.patch b/fs-Make-jbd-assertions-smp-only.patch index 2b8ad71..0c1331f 100644 --- a/fs-Make-jbd-assertions-smp-only.patch +++ b/fs-Make-jbd-assertions-smp-only.patch @@ -1,4 +1,4 @@ -From eaae5697d2c02843ed17a7da827f21d586d7a52d Mon Sep 17 00:00:00 2001 +From a7aafff4a0ed9171c4ce8f6d15063017dd8c41c3 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 @@ -7,9 +7,14 @@ commit 28303e27fd7d323850dde97b6e06cf727611f348 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/jbd/transaction.c | 6 +++--- + include/linux/jbd.h | 9 +++++++++ + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/fs/jbd/transaction.c b/fs/jbd/transaction.c -index 99e9fea..b737b5b 100644 +index 5ae71e7..feed778 100644 --- a/fs/jbd/transaction.c +++ b/fs/jbd/transaction.c @@ -1577,7 +1577,7 @@ static void __journal_temp_unlink_buffer(struct journal_head *jh) @@ -40,10 +45,10 @@ index 99e9fea..b737b5b 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 bba07bd..05449a0 100644 +index d35a62e..3b86629 100644 --- a/include/linux/jbd.h +++ b/include/linux/jbd.h -@@ -249,6 +249,15 @@ typedef struct journal_superblock_s +@@ -250,6 +250,15 @@ typedef struct journal_superblock_s #define J_ASSERT_BH(bh, expr) J_ASSERT(expr) #define J_ASSERT_JH(jh, expr) J_ASSERT(expr) @@ -60,5 +65,5 @@ index bba07bd..05449a0 100644 #define J_EXPECT(expr, why...) J_ASSERT(expr) #define J_EXPECT_BH(bh, expr, why...) J_ASSERT_BH(bh, expr) -- -1.7.1.1 +1.7.0.4 diff --git a/fs-block-preempt-rt-support.patch b/fs-block-preempt-rt-support.patch index 810b1c4..bcc5fb5 100644 --- a/fs-block-preempt-rt-support.patch +++ b/fs-block-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From d1f7b1468342aaa0b28123a04a329e0e77ad0311 Mon Sep 17 00:00:00 2001 +From b085b0e0b5ef212aef0ef3b5851d0676a12f804d 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 @@ -8,9 +8,17 @@ commit e97977e5171636cba43ae9d30f00cb82e175511b in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + block/blk-core.c | 6 +++--- + fs/dcache.c | 5 +++-- + fs/exec.c | 5 ++++- + fs/file.c | 5 +++-- + fs/pipe.c | 12 ++++++++++++ + fs/proc/task_mmu.c | 4 +++- + 6 files changed, 28 insertions(+), 9 deletions(-) diff --git a/block/blk-core.c b/block/blk-core.c -index d1a9a0a..f776d0e 100644 +index 9fe174d..f33d074 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -202,7 +202,7 @@ EXPORT_SYMBOL(blk_dump_rq_flags); @@ -41,10 +49,10 @@ index d1a9a0a..f776d0e 100644 queue_flag_clear(QUEUE_FLAG_STOPPED, q); __blk_run_queue(q); diff --git a/fs/dcache.c b/fs/dcache.c -index 953173a..116fd33 100644 +index f1358e5..d74e93c 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -727,8 +727,9 @@ void shrink_dcache_for_umount(struct super_block *sb) +@@ -733,8 +733,9 @@ void shrink_dcache_for_umount(struct super_block *sb) { struct dentry *dentry; @@ -57,7 +65,7 @@ index 953173a..116fd33 100644 dentry = sb->s_root; sb->s_root = NULL; diff --git a/fs/exec.c b/fs/exec.c -index cce6bbd..9192f7e 100644 +index e6e94c6..7c75fe6 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -55,6 +55,7 @@ @@ -68,7 +76,7 @@ index cce6bbd..9192f7e 100644 #include <asm/uaccess.h> #include <asm/mmu_context.h> -@@ -734,10 +735,12 @@ static int exec_mmap(struct mm_struct *mm) +@@ -735,10 +736,12 @@ static int exec_mmap(struct mm_struct *mm) } } task_lock(tsk); @@ -83,7 +91,7 @@ index cce6bbd..9192f7e 100644 arch_pick_mmap_layout(mm); if (old_mm) { diff --git a/fs/file.c b/fs/file.c -index 87e1290..b08281f 100644 +index 34bb7f7..b35c2d2 100644 --- a/fs/file.c +++ b/fs/file.c @@ -103,14 +103,15 @@ void free_fdtable_rcu(struct rcu_head *rcu) @@ -139,10 +147,10 @@ index 37ba29f..a9dcf21 100644 } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index f277c4a..da4409e 100644 +index 47f5b14..444ec32 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) +@@ -142,8 +142,10 @@ static void *m_start(struct seq_file *m, loff_t *pos) vma = NULL; if ((unsigned long)l < mm->map_count) { vma = mm->mmap; @@ -155,5 +163,5 @@ index f277c4a..da4409e 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/fs-btrfs-locking-workaround-for-preempt-rt.patch b/fs-btrfs-locking-workaround-for-preempt-rt.patch index 03415d1..f4336da 100644 --- a/fs-btrfs-locking-workaround-for-preempt-rt.patch +++ b/fs-btrfs-locking-workaround-for-preempt-rt.patch @@ -1,4 +1,4 @@ -From 6772ca45ec38d1bb90b6071a3df1d8b0a7ab1f27 Mon Sep 17 00:00:00 2001 +From 6c191358ec62a0647cec8dd66bbb69131cca1ca3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:28 -0500 Subject: [PATCH] fs: btrfs locking workaround for preempt -rt @@ -13,12 +13,16 @@ commit 6772ca45ec38d1bb90b6071a3df1d8b0a7ab1f27 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/btrfs/locking.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/btrfs/locking.c b/fs/btrfs/locking.c -index 1c36e5c..4b3d18a 100644 +index 6151f2e..5095ded 100644 --- a/fs/btrfs/locking.c +++ b/fs/btrfs/locking.c -@@ -94,6 +94,7 @@ static int btrfs_spin_on_block(struct extent_buffer *eb) +@@ -93,6 +93,7 @@ static int btrfs_spin_on_block(struct extent_buffer *eb) */ int btrfs_try_spin_lock(struct extent_buffer *eb) { @@ -26,7 +30,7 @@ index 1c36e5c..4b3d18a 100644 int i; if (btrfs_spin_on_block(eb)) { -@@ -113,6 +114,7 @@ int btrfs_try_spin_lock(struct extent_buffer *eb) +@@ -112,6 +113,7 @@ int btrfs_try_spin_lock(struct extent_buffer *eb) return 1; spin_unlock(&eb->lock); } @@ -35,5 +39,5 @@ index 1c36e5c..4b3d18a 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/fs-jbd-replace-bh_state-lock.patch b/fs-jbd-replace-bh_state-lock.patch index aced9b8..1bb8405 100644 --- a/fs-jbd-replace-bh_state-lock.patch +++ b/fs-jbd-replace-bh_state-lock.patch @@ -1,4 +1,4 @@ -From d6734ca3a2e08b80dc0b3a2966a807cc7adbb45d Mon Sep 17 00:00:00 2001 +From 7abd4b2d400513e2ac967bb4650fdb743d4c0aa7 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 @@ -21,9 +21,15 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> include/linux/buffer_head.h | 1 + include/linux/jbd.h | 12 ++++++------ 3 files changed, 9 insertions(+), 7 deletions(-) +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/buffer.c | 3 ++- + include/linux/buffer_head.h | 1 + + include/linux/jbd.h | 12 ++++++------ + 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c -index 1a0363d..b34323c 100644 +index afa5304..1d6b24f 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -40,7 +40,6 @@ @@ -63,10 +69,10 @@ index cc6a758..a7a7491 100644 /* diff --git a/include/linux/jbd.h b/include/linux/jbd.h -index 331530c..6cfd69e 100644 +index 516a2a2..d35a62e 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) +@@ -305,32 +305,32 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh) static inline void jbd_lock_bh_state(struct buffer_head *bh) { @@ -106,5 +112,5 @@ index 331530c..6cfd69e 100644 struct jbd_revoke_table_s; -- -1.7.1.1 +1.7.0.4 diff --git a/fs-jbd2-Replace-bit-spinlocks.patch b/fs-jbd2-Replace-bit-spinlocks.patch index 0abf305..7d34ba6 100644 --- a/fs-jbd2-Replace-bit-spinlocks.patch +++ b/fs-jbd2-Replace-bit-spinlocks.patch @@ -1,4 +1,4 @@ -From 9153966bb4f0e3449d3a67b0868f7ff81a29bfa7 Mon Sep 17 00:00:00 2001 +From 725e48ee69a020ec974cb652ea8aa0ecc94a026a 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 @@ -10,6 +10,11 @@ them as they escape the lockdep debugging. Make it use the bh locks as we already did for jdb. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/jbd2/transaction.c | 6 +++--- + include/linux/jbd2.h | 21 +++++++++++++++------ + 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/fs/jbd2/transaction.c b/fs/jbd2/transaction.c index bfc70f5..c3d924b 100644 @@ -43,10 +48,10 @@ index bfc70f5..c3d924b 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 8ada2a1..07d5943 100644 +index a4d2e9f..aba2690 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h -@@ -312,6 +312,15 @@ void buffer_assertion_failure(struct buffer_head *bh); +@@ -302,6 +302,15 @@ typedef struct journal_superblock_s #define J_EXPECT_JH(jh, expr, why...) __journal_expect(expr, ## why) #endif @@ -62,7 +67,7 @@ index 8ada2a1..07d5943 100644 enum jbd_state_bits { BH_JBD /* Has an attached ext3 journal_head */ = BH_PrivateStart, -@@ -348,32 +357,32 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh) +@@ -338,32 +347,32 @@ static inline struct journal_head *bh2jh(struct buffer_head *bh) static inline void jbd_lock_bh_state(struct buffer_head *bh) { @@ -102,5 +107,5 @@ index 8ada2a1..07d5943 100644 /* Flags in jbd_inode->i_flags */ -- -1.7.1.1 +1.7.0.4 diff --git a/fs-namespace-preemption-fix.patch b/fs-namespace-preemption-fix.patch index cd52a30..1fe3e80 100644 --- a/fs-namespace-preemption-fix.patch +++ b/fs-namespace-preemption-fix.patch @@ -1,4 +1,4 @@ -From 92b0ddb74ba34dba91878a346c3c6bf396ffb931 Mon Sep 17 00:00:00 2001 +From 2ec16342082a0ac4dddbca1475a124fe574f5661 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 @@ -11,9 +11,13 @@ vfsmount_lock which is held by mnt_make_readonly(). Works for !RT as well. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/namespace.c | 17 ++++++++++++----- + 1 files changed, 12 insertions(+), 5 deletions(-) diff --git a/fs/namespace.c b/fs/namespace.c -index c768f73..962fd96 100644 +index f20cb57..b42380a 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -264,8 +264,16 @@ int mnt_want_write(struct vfsmount *mnt) @@ -51,5 +55,5 @@ index c768f73..962fd96 100644 } EXPORT_SYMBOL_GPL(mnt_want_write); -- -1.7.1.1 +1.7.0.4 diff --git a/fs-ntfs-disable-interrupt-only-on-RT.patch b/fs-ntfs-disable-interrupt-only-on-RT.patch index 810b659..01ecb2e 100644 --- a/fs-ntfs-disable-interrupt-only-on-RT.patch +++ b/fs-ntfs-disable-interrupt-only-on-RT.patch @@ -1,4 +1,4 @@ -From 5519b60893511db84cd7889c41ecd2f27002d7bd Mon Sep 17 00:00:00 2001 +From f1789ecece2d029643208439ca895f6adf4c54a8 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 @@ -37,12 +37,16 @@ instead? Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/ntfs/aops.c | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c -index 8d7118e..2d38d1d 100644 +index 91322b7..58494b1 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c -@@ -29,6 +29,7 @@ +@@ -30,6 +30,7 @@ #include <linux/buffer_head.h> #include <linux/writeback.h> #include <linux/bit_spinlock.h> @@ -50,7 +54,7 @@ index 8d7118e..2d38d1d 100644 #include "aops.h" #include "attrib.h" -@@ -143,13 +144,13 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) +@@ -144,13 +145,13 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) recs = PAGE_CACHE_SIZE / rec_size; /* Should have been verified before we got here... */ BUG_ON(!recs); @@ -67,5 +71,5 @@ index 8d7118e..2d38d1d 100644 if (likely(page_uptodate && !PageError(page))) SetPageUptodate(page); -- -1.7.1.1 +1.7.0.4 diff --git a/fs-replace-bh_uptodate_lock-for-rt.patch b/fs-replace-bh_uptodate_lock-for-rt.patch index b9a6c6e..2c4e4bf 100644 --- a/fs-replace-bh_uptodate_lock-for-rt.patch +++ b/fs-replace-bh_uptodate_lock-for-rt.patch @@ -1,4 +1,4 @@ -From 15ce741fff667bcb5e8be47707e626cac2d83a52 Mon Sep 17 00:00:00 2001 +From 17db8920359350d7afe1438eff94959b4c1e58a7 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:55 -0500 Subject: [PATCH] fs: replace bh_uptodate_lock for -rt @@ -8,9 +8,14 @@ commit da29da1490f45febf0e6a3d9a4cc608fa504a04f in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/buffer.c | 20 ++++++++------------ + fs/ntfs/aops.c | 9 +++------ + include/linux/buffer_head.h | 5 +---- + 3 files changed, 12 insertions(+), 22 deletions(-) diff --git a/fs/buffer.c b/fs/buffer.c -index bc3212e..26c00cc 100644 +index c9c266d..afa5304 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -330,8 +330,7 @@ static void end_buffer_async_read(struct buffer_head *bh, int uptodate) @@ -87,10 +92,10 @@ index bc3212e..26c00cc 100644 get_cpu_var(bh_accounting).nr--; recalc_bh_state(); diff --git a/fs/ntfs/aops.c b/fs/ntfs/aops.c -index cfce53c..8d7118e 100644 +index c3c2c7a..91322b7 100644 --- a/fs/ntfs/aops.c +++ b/fs/ntfs/aops.c -@@ -107,8 +107,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) +@@ -108,8 +108,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) "0x%llx.", (unsigned long long)bh->b_blocknr); } first = page_buffers(page); @@ -100,7 +105,7 @@ index cfce53c..8d7118e 100644 clear_buffer_async_read(bh); unlock_buffer(bh); tmp = bh; -@@ -123,8 +122,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) +@@ -124,8 +123,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) } tmp = tmp->b_this_page; } while (tmp != bh); @@ -110,7 +115,7 @@ index cfce53c..8d7118e 100644 /* * If none of the buffers had errors then we can set the page uptodate, * but we first have to perform the post read mst fixups, if the -@@ -159,8 +157,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) +@@ -160,8 +158,7 @@ static void ntfs_end_buffer_async_read(struct buffer_head *bh, int uptodate) unlock_page(page); return; still_busy: @@ -144,5 +149,5 @@ index 16ed028..cc6a758 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/ftrace-Add-latency-histograms-of-missed-timer-offset.patch b/ftrace-Add-latency-histograms-of-missed-timer-offset.patch index 67d2846..db24816 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 2b9e26d455e61248e467989b2d1cedb75c8e26fe Mon Sep 17 00:00:00 2001 +From 66e503874410f856a8b2b9b311077f1541d7cfa3 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 @@ -21,6 +21,15 @@ Adapted and expanded Documentation/trace/histograms.txt. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + Documentation/trace/histograms.txt | 104 +++++++----- + include/trace/events/hist.h | 29 +++- + init/main.c | 13 ++- + kernel/hrtimer.c | 11 ++ + kernel/trace/Kconfig | 34 ++++- + kernel/trace/Makefile | 1 + + kernel/trace/latency_hist.c | 317 +++++++++++++++++++++++++----------- + 7 files changed, 370 insertions(+), 139 deletions(-) diff --git a/Documentation/trace/histograms.txt b/Documentation/trace/histograms.txt index 3f6070a..2f17967 100644 @@ -236,10 +245,10 @@ index 73b0454..2dc4c70 100644 /* This part must be outside protection */ diff --git a/init/main.c b/init/main.c -index b90180a..4445c08 100644 +index 6859102..36649af 100644 --- a/init/main.c +++ b/init/main.c -@@ -899,7 +899,15 @@ static int __init kernel_init(void * unused) +@@ -917,7 +917,15 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -256,7 +265,7 @@ index b90180a..4445c08 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -931,6 +939,9 @@ static int __init kernel_init(void * unused) +@@ -949,6 +957,9 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_WAKEUP_LATENCY_HIST printk(KERN_ERR "* CONFIG_WAKEUP_LATENCY_HIST *\n"); #endif @@ -303,7 +312,7 @@ index 720ceb5..e018333 100644 * The immediate goal for using the softexpires is * minimizing wakeups, not running timers at the diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index adc44b6..fb9ec61 100644 +index 7c21937..e966f40 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig @@ -187,7 +187,10 @@ config INTERRUPT_OFF_HIST @@ -362,7 +371,7 @@ index adc44b6..fb9ec61 100644 config SYSPROF_TRACER bool "Sysprof Tracer" diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile -index 04e959d..5dddc4d 100644 +index 0603f2e..1989265 100644 --- a/kernel/trace/Makefile +++ b/kernel/trace/Makefile @@ -38,6 +38,7 @@ obj-$(CONFIG_SCHED_TRACER) += trace_sched_wakeup.o @@ -994,5 +1003,5 @@ index 6fe972e..83d8d2f 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/ftrace-Consider-shared-max-priority-in-latency-histo.patch b/ftrace-Consider-shared-max-priority-in-latency-histo.patch index 3e0ac10..6e12cc0 100644 --- a/ftrace-Consider-shared-max-priority-in-latency-histo.patch +++ b/ftrace-Consider-shared-max-priority-in-latency-histo.patch @@ -1,4 +1,4 @@ -From fa8ec14d64362b1f3fd5c3a459c336391e27dcf8 Mon Sep 17 00:00:00 2001 +From b751c10572702949871bb5bd0e24bc30ac9ffa96 Mon Sep 17 00:00:00 2001 From: Carsten Emde <Carsten.Emde@osadl.org> Date: Mon, 26 Oct 2009 00:47:17 +0100 Subject: [PATCH] ftrace: Consider shared max priority in latency histograms @@ -39,6 +39,13 @@ Simplified and cleaned up a bit. Added some more help info to Kconfig. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + Documentation/trace/ftrace.txt | 9 ++- + Documentation/trace/histograms.txt | 34 ++++++-- + include/linux/sched.h | 3 + + kernel/trace/Kconfig | 33 ++++--- + kernel/trace/latency_hist.c | 169 ++++++++++++++++++++++-------------- + 5 files changed, 161 insertions(+), 87 deletions(-) diff --git a/Documentation/trace/ftrace.txt b/Documentation/trace/ftrace.txt index 03485bf..14cc034 100644 @@ -139,7 +146,7 @@ index 78df495..3f6070a 100644 -These data are also reset when the wakeup histogram is reset. +These data are also reset when the related wakeup histograms are reset. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 1fa9bf4..2a86400 100644 +index b34b9a7..afc746b 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1566,6 +1566,9 @@ struct task_struct { @@ -611,5 +618,5 @@ index b3b5ea2..6fe972e 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/futex-Protect-against-pi_blocked_on-corruption-durin.patch b/futex-Protect-against-pi_blocked_on-corruption-durin.patch index 9767fa5..8fc4d10 100644 --- a/futex-Protect-against-pi_blocked_on-corruption-durin.patch +++ b/futex-Protect-against-pi_blocked_on-corruption-durin.patch @@ -1,4 +1,4 @@ -From 19491de1201af8b1a506b32387a875dfb3bec2f9 Mon Sep 17 00:00:00 2001 +From cd5ba5c89897fec633e8a8e75984fde6c5b5e600 Mon Sep 17 00:00:00 2001 From: Darren Hart <dvhltc@us.ibm.com> Date: Fri, 9 Jul 2010 17:50:23 -0400 Subject: [PATCH] futex: Protect against pi_blocked_on corruption during requeue PI @@ -36,6 +36,12 @@ Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Mike Galbraith <efault@gmx.de> LKML-Reference: <4C3C1DCF.9090509@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/futex.c | 76 +++++++++++++++++++++++++++++++++++++++-------- + kernel/rtmutex.c | 33 +++++++++++++++++--- + kernel/rtmutex_common.h | 3 ++ + 3 files changed, 94 insertions(+), 18 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c index e7a35f1..6085332 100644 @@ -260,5 +266,5 @@ index 4df690c..97fc68c 100644 extern void rt_mutex_init_proxy_locked(struct rt_mutex *lock, struct task_struct *proxy_owner); -- -1.7.1.1 +1.7.0.4 diff --git a/generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch b/generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch index dfe7f75..f469678 100644 --- a/generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch +++ b/generic-Use-raw-local-irq-variant-for-generic-cmpxch.patch @@ -1,4 +1,4 @@ -From 030dc4adec445a7a670ef7a4ef664f83f3943c30 Mon Sep 17 00:00:00 2001 +From 6e6c0a1e1e38ca8ec6fb46beda2804be7c4798f3 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:30 -0500 Subject: [PATCH] generic: Use raw local irq variant for generic cmpxchg @@ -6,6 +6,10 @@ Subject: [PATCH] generic: Use raw local irq variant for generic cmpxchg commit 030dc4adec445a7a670ef7a4ef664f83f3943c30 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/asm-generic/cmpxchg-local.h | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/asm-generic/cmpxchg-local.h b/include/asm-generic/cmpxchg-local.h index b2ba2fc..9793123 100644 @@ -44,5 +48,5 @@ index b2ba2fc..9793123 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-Cleanup-forced-threading-bits-when-handler-th.patch b/genirq-Cleanup-forced-threading-bits-when-handler-th.patch index d06b0ef..0aac6dd 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 3945dede0b0339e0e0cee7e772c4d400ece06a86 Mon Sep 17 00:00:00 2001 +From 95c6a403c768aa2de401266506c95b57aea9230e 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 @@ -11,12 +11,15 @@ last thread which blocked the unmask. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/manage.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index b6ee643..89345ec 100644 +index 8fb33fe..c6e4830 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -535,6 +535,13 @@ again: +@@ -539,6 +539,13 @@ again: return 0; } @@ -30,7 +33,7 @@ index b6ee643..89345ec 100644 static int irq_wait_for_interrupt(struct irq_desc *desc, struct irqaction *action) { -@@ -647,6 +654,8 @@ static int irq_thread(void *data) +@@ -669,6 +676,8 @@ static int irq_thread(void *data) wake_up(&desc->wait_for_threads); } @@ -40,5 +43,5 @@ index b6ee643..89345ec 100644 * Clear irqaction. Otherwise exit_irq_thread() would make * fuzz about an active irq thread going into nirvana. -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch b/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch index 9a1f5f6..a46f8a4 100644 --- a/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch +++ b/genirq-Do-not-mask-edge-ONESHOT-interrupts.patch @@ -1,4 +1,4 @@ -From 6116e8d2a20468fc26d0b316fb4f1386c4377206 Mon Sep 17 00:00:00 2001 +From 280129476512b7e18c1ec397383c4badd300e8fc 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 @@ -10,12 +10,15 @@ threading. We might lose interrupts. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/chip.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c -index cd58389..ad096ed 100644 +index 2c2214d..77403e9 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c -@@ -536,7 +536,12 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) +@@ -584,7 +584,12 @@ handle_edge_irq(unsigned int irq, struct irq_desc *desc) { raw_spin_lock(&desc->lock); @@ -30,5 +33,5 @@ index cd58389..ad096ed 100644 /* * If we're currently running this IRQ, or its disabled, -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-Enable-the-config-switch-for-forced-threading.patch b/genirq-Enable-the-config-switch-for-forced-threading.patch index cb3d6ea..c4fc39c 100644 --- a/genirq-Enable-the-config-switch-for-forced-threading.patch +++ b/genirq-Enable-the-config-switch-for-forced-threading.patch @@ -1,4 +1,4 @@ -From f650036e04bf62e4fc4807b2b57f12d044881c08 Mon Sep 17 00:00:00 2001 +From 76fa1e838bdf4b7c3a2a7afc4c7b99c82b68861f Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:35 -0500 Subject: [PATCH] genirq: Enable the config switch for forced threading @@ -7,6 +7,10 @@ commit 7d836495d944ab225c939c7d3f3c0eca6a37f409 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/Kconfig.preempt | 19 +++++++++++++++++++ + 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/kernel/Kconfig.preempt b/kernel/Kconfig.preempt index 2ff1834..7c20f45 100644 @@ -36,5 +40,5 @@ index 2ff1834..7c20f45 100644 + + Say N if you are unsure. -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-Exclude-PER_CPU-interrupts-from-forced-thread.patch b/genirq-Exclude-PER_CPU-interrupts-from-forced-thread.patch index 634ab43..4de220a 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 5c3463516f72b4bd7b7a9013f3a3e56bd0616066 Mon Sep 17 00:00:00 2001 +From 6dc9a18cc42189b2d2084dabde342a8a2d5c1548 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 @@ -7,12 +7,15 @@ commit 6d97e6acc354bc9b69a33a41d74fa7a601dd8122 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/manage.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 89345ec..25642d1 100644 +index c6e4830..588efd8 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) +@@ -474,7 +474,7 @@ static irqreturn_t irq_nested_primary_handler(int irq, void *dev_id) */ static void preempt_hardirq_setup(struct irqaction *new) { @@ -22,5 +25,5 @@ index 89345ec..25642d1 100644 new->flags |= IRQF_ONESHOT; -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-Fix-forced-threading-merge-fallout.patch b/genirq-Fix-forced-threading-merge-fallout.patch index 768542b..74bb106 100644 --- a/genirq-Fix-forced-threading-merge-fallout.patch +++ b/genirq-Fix-forced-threading-merge-fallout.patch @@ -1,4 +1,4 @@ -From 2ae3bedb1186e63ba51b5a420941313cfd4327c1 Mon Sep 17 00:00:00 2001 +From c31203974fe6f8a2c5ac9320fdfc8cd81e75f518 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 22 Feb 2010 16:55:03 +0100 Subject: [PATCH] genirq: Fix forced threading merge fallout @@ -14,9 +14,12 @@ Make finalize_oneshot_irq() aware of that. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/manage.c | 9 +++++++-- + 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 897b8f3..3ddd1c4 100644 +index 588efd8..69ffae8 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -567,10 +567,12 @@ irq_wait_for_interrupt(struct irq_desc *desc, struct irqaction *action) diff --git a/genirq-Fix-stale-oneshot-flag.patch b/genirq-Fix-stale-oneshot-flag.patch index d9aa93d..6b4aaff 100644 --- a/genirq-Fix-stale-oneshot-flag.patch +++ b/genirq-Fix-stale-oneshot-flag.patch @@ -1,4 +1,4 @@ -From 8af7a6498641558c7321d39fec6271835f8986d9 Mon Sep 17 00:00:00 2001 +From 7db104bdd2cc01fa98913856f5fcde0a36956c90 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. @@ -13,12 +13,15 @@ stale value. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/manage.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c -index 1efad98..7d108d0 100644 +index 69ffae8..88f6f7f 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c -@@ -621,7 +621,7 @@ static int irq_thread(void *data) +@@ -643,7 +643,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 +30,7 @@ index 1efad98..7d108d0 100644 sched_setscheduler(current, SCHED_FIFO, ¶m); current->extra_flags |= PFE_HARDIRQ; -@@ -649,7 +649,7 @@ static int irq_thread(void *data) +@@ -671,7 +671,7 @@ static int irq_thread(void *data) action->thread_fn(action->irq, action->dev_id); @@ -37,5 +40,5 @@ index 1efad98..7d108d0 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-Introduce-IRQF_NODELAY-to-disable-forced-thre.patch b/genirq-Introduce-IRQF_NODELAY-to-disable-forced-thre.patch index ec3f245..a1ab880 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 40a34592eeeb3c00e3822b16ad8fc47a0427864f Mon Sep 17 00:00:00 2001 +From e3e02ded3bc4c6b37b1d2669714abdb12f0e2868 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 @@ -12,6 +12,9 @@ IRQF_NODELAY by redefining IRQF_TIMER. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 7b43e10..54c9394 100644 @@ -40,5 +43,5 @@ index 7b43e10..54c9394 100644 /* * Bits used by threaded handlers: -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-disable-irqpoll-on-rt.patch b/genirq-disable-irqpoll-on-rt.patch index 6fa9411..ce3e36f 100644 --- a/genirq-disable-irqpoll-on-rt.patch +++ b/genirq-disable-irqpoll-on-rt.patch @@ -1,4 +1,4 @@ -From 36c39487b1868fe8a0e2f3ce46c46bcdd9a7a903 Mon Sep 17 00:00:00 2001 +From 36d54295821cc71a9847a03770c4c36791692cfe 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 @@ -9,6 +9,10 @@ Creates long latencies for no value Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/spurious.c | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index 4e4a758..a9a6628 100644 @@ -39,5 +43,5 @@ index 4e4a758..a9a6628 100644 printk(KERN_WARNING "Misrouted IRQ fixup and polling support " "enabled\n"); -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-disable-random-call-on-preempt-rt.patch b/genirq-disable-random-call-on-preempt-rt.patch index 4ad6676..c969ba7 100644 --- a/genirq-disable-random-call-on-preempt-rt.patch +++ b/genirq-disable-random-call-on-preempt-rt.patch @@ -1,4 +1,4 @@ -From a66796ec43b2a541d725b56a612e4cacfa69b292 Mon Sep 17 00:00:00 2001 +From f7944ad8443b4b26741c0b1c7e5ad1721f5d094e 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 @@ -9,12 +9,16 @@ The random call introduces high latencies and is almost unused. Disable it for -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/handle.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c -index 87bdd6c..5cfebbe 100644 +index e93b055..ece44f6 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c -@@ -443,8 +443,11 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) +@@ -441,8 +441,11 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) action = action->next; } while (action); @@ -27,5 +31,5 @@ index 87bdd6c..5cfebbe 100644 return retval; -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-prevent-interrupt-storm-on-irq-migration.patch b/genirq-prevent-interrupt-storm-on-irq-migration.patch index f9749fe..abaee8b 100644 --- a/genirq-prevent-interrupt-storm-on-irq-migration.patch +++ b/genirq-prevent-interrupt-storm-on-irq-migration.patch @@ -1,4 +1,4 @@ -From 708edcc15e55003da67d61157a905b9373f0772c Mon Sep 17 00:00:00 2001 +From 488e7e7d9fe664feaf3819f7e2b4c3b0f7548515 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 @@ -10,6 +10,10 @@ threading thats going to result in an interrupt storm when the threaded handler has not finished yet. Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/migration.c | 14 ++++++++++++-- + 1 files changed, 12 insertions(+), 2 deletions(-) diff --git a/kernel/irq/migration.c b/kernel/irq/migration.c index 2419622..4817563 100644 @@ -44,5 +48,5 @@ index 2419622..4817563 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/genirq-support-forced-threading-of-interrupts.patch b/genirq-support-forced-threading-of-interrupts.patch index 308da7c..e7a0283 100644 --- a/genirq-support-forced-threading-of-interrupts.patch +++ b/genirq-support-forced-threading-of-interrupts.patch @@ -1,4 +1,4 @@ -From 7161f6f52236eef31069a03e7a73fbba60d024cb Mon Sep 17 00:00:00 2001 +From af301f446d671a152f4cab4327affba2526bbe7f 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 @@ -13,6 +13,16 @@ with per device threads. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 13 +++++- + include/linux/irq.h | 1 + + include/linux/sched.h | 1 + + kernel/irq/chip.c | 1 + + kernel/irq/handle.c | 26 ++++++++++++- + kernel/irq/manage.c | 97 +++++++++++++++++++++++++++++++++++++++++--- + kernel/irq/migration.c | 3 +- + kernel/sched.c | 3 +- + 8 files changed, 133 insertions(+), 12 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index f89e357..563f51e 100644 @@ -61,7 +71,7 @@ index f89e357..563f51e 100644 asmlinkage void do_softirq(void); asmlinkage void __do_softirq(void); diff --git a/include/linux/irq.h b/include/linux/irq.h -index 451481c..239c7b3 100644 +index 707ab12..7b0a0d4 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -201,6 +201,7 @@ struct irq_desc { @@ -73,10 +83,10 @@ index 451481c..239c7b3 100644 #ifdef CONFIG_PROC_FS struct proc_dir_entry *dir; diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4807851..ae42b44 100644 +index 6a9d432..cb421c8 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1797,6 +1797,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * +@@ -1736,6 +1736,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 +95,10 @@ index 4807851..ae42b44 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 ecc3fa2..939c2dd 100644 +index b7091d5..f308d6c 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c -@@ -275,6 +275,7 @@ static unsigned int default_startup(unsigned int irq) +@@ -309,6 +309,7 @@ static unsigned int default_startup(unsigned int irq) { struct irq_desc *desc = irq_to_desc(irq); @@ -97,10 +107,10 @@ index ecc3fa2..939c2dd 100644 return 0; } diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c -index 814940e..87bdd6c 100644 +index 76d5a67..e93b055 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c -@@ -360,6 +360,25 @@ static void warn_no_thread(unsigned int irq, struct irqaction *action) +@@ -358,6 +358,25 @@ static void warn_no_thread(unsigned int irq, struct irqaction *action) "but no thread function available.", irq, action->name); } @@ -126,7 +136,7 @@ index 814940e..87bdd6c 100644 /** * handle_IRQ_event - irq action chain handler * @irq: the interrupt number -@@ -377,7 +396,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) +@@ -375,7 +394,7 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action) do { trace_irq_handler_entry(irq, action); @@ -135,7 +145,7 @@ index 814940e..87bdd6c 100644 trace_irq_handler_exit(irq, action, ret); switch (ret) { -@@ -454,6 +473,11 @@ unsigned int __do_IRQ(unsigned int irq) +@@ -452,6 +471,11 @@ unsigned int __do_IRQ(unsigned int irq) struct irqaction *action; unsigned int status; @@ -148,7 +158,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 eb6078c..b6ee643 100644 +index 704e488..8fb33fe 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) @@ -161,7 +171,7 @@ index eb6078c..b6ee643 100644 /* fall-through */ } default: -@@ -461,7 +462,81 @@ static irqreturn_t irq_nested_primary_handler(int irq, void *dev_id) +@@ -465,7 +466,81 @@ static irqreturn_t irq_nested_primary_handler(int irq, void *dev_id) return IRQ_NONE; } @@ -244,7 +254,7 @@ index eb6078c..b6ee643 100644 { while (!kthread_should_stop()) { set_current_state(TASK_INTERRUPTIBLE); -@@ -537,9 +612,10 @@ static int irq_thread(void *data) +@@ -559,9 +634,10 @@ static int irq_thread(void *data) int wake, oneshot = desc->status & IRQ_ONESHOT; sched_setscheduler(current, SCHED_FIFO, ¶m); @@ -256,7 +266,7 @@ index eb6078c..b6ee643 100644 irq_thread_check_affinity(desc, action); -@@ -609,7 +685,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -631,7 +707,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) { struct irqaction *old, **old_ptr; const char *old_name = NULL; @@ -265,7 +275,7 @@ index eb6078c..b6ee643 100644 int nested, shared = 0; int ret; -@@ -635,9 +711,8 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -657,9 +733,8 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) rand_initialize_irq(irq); } @@ -277,7 +287,7 @@ index eb6078c..b6ee643 100644 /* * Check whether the interrupt nests into another interrupt -@@ -704,12 +779,20 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) +@@ -726,12 +801,20 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) /* add new interrupt at end of irq queue */ do { @@ -313,10 +323,10 @@ index 4817563..ea0b492 100644 if (mask) diff --git a/kernel/sched.c b/kernel/sched.c -index b059d2f..05bafd4 100644 +index 86aeeb6..b611e03 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5123,7 +5123,8 @@ void account_system_time(struct task_struct *p, int hardirq_offset, +@@ -3340,7 +3340,8 @@ void account_system_time(struct task_struct *p, int hardirq_offset, /* Add system time to cpustat. */ tmp = cputime_to_cputime64(cputime); @@ -327,5 +337,5 @@ index b059d2f..05bafd4 100644 else if (softirq_count() || (p->extra_flags & PFE_SOFTIRQ)) cpustat->softirq = cputime64_add(cpustat->softirq, tmp); -- -1.7.1.1 +1.7.0.4 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 72fe1df..fd49d7a 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 e57d29ada8b3bdbe76352094d7f67127ddd00585 Mon Sep 17 00:00:00 2001 +From bf7131c19aa19192d5d8a6259f8f05d01aaedad3 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. @@ -6,6 +6,10 @@ Subject: [PATCH] genirq: use spin_lock_irqsave instead of open coding it. commit 8fefc0fb875f65ec701e8c817dd91c1c6788860e in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/irq/spurious.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index 89fb90a..4e4a758 100644 @@ -24,5 +28,5 @@ index 89fb90a..4e4a758 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/hamradio-6pack-semaphore-cleanup.patch b/hamradio-6pack-semaphore-cleanup.patch index 825ac07..70cc3a7 100644 --- a/hamradio-6pack-semaphore-cleanup.patch +++ b/hamradio-6pack-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From a1f0965b7b7f8ca3199dc2992a67e25fdf63d36d Mon Sep 17 00:00:00 2001 +From f56dea1b2c315a5beb38e4e6017de0cdeec2d673 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:46:14 +0200 Subject: [PATCH] hamradio: 6pack: semaphore cleanup @@ -10,12 +10,16 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Miller <davem@davemloft.net> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/hamradio/6pack.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/hamradio/6pack.c b/drivers/net/hamradio/6pack.c -index 689b9bd..04cddd9 100644 +index 4b52c76..3e5d0b6 100644 --- a/drivers/net/hamradio/6pack.c +++ b/drivers/net/hamradio/6pack.c -@@ -607,7 +607,7 @@ static int sixpack_open(struct tty_struct *tty) +@@ -608,7 +608,7 @@ static int sixpack_open(struct tty_struct *tty) spin_lock_init(&sp->lock); atomic_set(&sp->refcnt, 1); @@ -25,5 +29,5 @@ index 689b9bd..04cddd9 100644 /* !!! length of the buffers. MTU is IP MTU, not PACLEN! */ -- -1.7.1.1 +1.7.0.4 diff --git a/hamradio-mkiss-semaphore-cleanup.patch b/hamradio-mkiss-semaphore-cleanup.patch index 5cf4cd6..bdbc7cf 100644 --- a/hamradio-mkiss-semaphore-cleanup.patch +++ b/hamradio-mkiss-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From d2060ab2f5966b99852ec9a2692f65aa3b24bdbf Mon Sep 17 00:00:00 2001 +From b4afaefa371f8d923500093d3dd4b9086e935e91 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:46:41 +0200 Subject: [PATCH] hamradio: mkiss: semaphore cleanup @@ -10,12 +10,16 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Miller <davem@davemloft.net> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/hamradio/mkiss.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/hamradio/mkiss.c b/drivers/net/hamradio/mkiss.c -index 7db0a1c..e29e9eb 100644 +index 66e88bd..4c62839 100644 --- a/drivers/net/hamradio/mkiss.c +++ b/drivers/net/hamradio/mkiss.c -@@ -746,7 +746,7 @@ static int mkiss_open(struct tty_struct *tty) +@@ -747,7 +747,7 @@ static int mkiss_open(struct tty_struct *tty) spin_lock_init(&ax->buflock); atomic_set(&ax->refcnt, 1); @@ -25,5 +29,5 @@ index 7db0a1c..e29e9eb 100644 ax->tty = tty; tty->disc_data = ax; -- -1.7.1.1 +1.7.0.4 diff --git a/hfs-Convert-tree_lock-to-mutex.patch b/hfs-Convert-tree_lock-to-mutex.patch index f73c0f8..b0f7c77 100644 --- a/hfs-Convert-tree_lock-to-mutex.patch +++ b/hfs-Convert-tree_lock-to-mutex.patch @@ -1,4 +1,4 @@ -From 0f489c800016f932adedcbea88d0b9e90782fe3b Mon Sep 17 00:00:00 2001 +From fb8daba9847d1cec0ad747c294842263697ddfad 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 @@ -9,6 +9,12 @@ tree_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/hfs/bfind.c | 4 ++-- + fs/hfs/btree.c | 2 +- + fs/hfs/btree.h | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/hfs/bfind.c b/fs/hfs/bfind.c index 4129cdb..571abe9 100644 @@ -33,10 +39,10 @@ index 4129cdb..571abe9 100644 } diff --git a/fs/hfs/btree.c b/fs/hfs/btree.c -index 052f214..edf44d7 100644 +index 38a0a99..3ebc437 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 +@@ -27,7 +27,7 @@ struct hfs_btree *hfs_btree_open(struct super_block *sb, u32 id, btree_keycmp ke if (!tree) return NULL; @@ -59,5 +65,5 @@ index cc51905..2a1d712 100644 unsigned int pages_per_bnode; spinlock_t hash_lock; -- -1.7.1.1 +1.7.0.4 diff --git a/highmem-atomic-fix.patch b/highmem-atomic-fix.patch index ddda637..2e5b693 100644 --- a/highmem-atomic-fix.patch +++ b/highmem-atomic-fix.patch @@ -1,4 +1,4 @@ -From 3e17ccb1e3687a9aad75e965d5f6b6134caae849 Mon Sep 17 00:00:00 2001 +From 414f2ebe73192aeb2068ec1a989969cc6cfe5fcd 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 @@ -9,9 +9,13 @@ CHECKME: really bogus? triggers on !PREEMPT_RT + highmem, 32-bit. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/filemap.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/mm/filemap.c b/mm/filemap.c -index 698ea80..01c2711 100644 +index 140ebda..460f55c 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -1868,7 +1868,7 @@ size_t iov_iter_copy_from_user_atomic(struct page *page, @@ -24,5 +28,5 @@ index 698ea80..01c2711 100644 if (likely(i->nr_segs == 1)) { int left; -- -1.7.1.1 +1.7.0.4 diff --git a/highmem-rt-Implement-pfn-and-prot-kmaps.patch b/highmem-rt-Implement-pfn-and-prot-kmaps.patch index ec3bdd3..9c45e7d 100644 --- a/highmem-rt-Implement-pfn-and-prot-kmaps.patch +++ b/highmem-rt-Implement-pfn-and-prot-kmaps.patch @@ -1,4 +1,4 @@ -From 1bdf59aac85b1f5345b0f9040a20031ef959e15f Mon Sep 17 00:00:00 2001 +From b153b62c603ed8c5ca030dc8188b76aeee4f162d Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Thu, 25 Feb 2010 12:43:52 +0100 Subject: [PATCH] highmem, -rt: Implement pfn and prot kmaps @@ -11,6 +11,13 @@ thingies. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/highmem.h | 9 ++- + arch/x86/mm/highmem_32.c | 27 +++++--- + arch/x86/mm/iomap_32.c | 32 +-------- + mm/highmem.c | 152 +++++++++++++++++++++++++++------------ + 4 files changed, 130 insertions(+), 90 deletions(-) diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h index 91bc9f6..d20a885 100644 @@ -149,7 +156,7 @@ index 715d822..38a1a68 100644 } EXPORT_SYMBOL_GPL(iounmap_atomic); diff --git a/mm/highmem.c b/mm/highmem.c -index 446b75c..1b534a8 100644 +index 2cc0034..9164c02 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -66,7 +66,13 @@ unsigned int nr_free_highpages (void) diff --git a/hp_sdc-init_MUTEX_LOCKED-sema_init.patch b/hp_sdc-init_MUTEX_LOCKED-sema_init.patch index b89bcd2..5e60394 100644 --- a/hp_sdc-init_MUTEX_LOCKED-sema_init.patch +++ b/hp_sdc-init_MUTEX_LOCKED-sema_init.patch @@ -1,4 +1,4 @@ -From 5e68b4b2a6a2e6b151a7c6fdd87080fc52111a83 Mon Sep 17 00:00:00 2001 +From 6305ebb7b5e68e0c4eef81b96b0e7c7062571add 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 @@ -23,6 +23,9 @@ 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> +--- + drivers/input/serio/hp_sdc.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index 997f9b6..8c0b51c 100644 @@ -38,5 +41,5 @@ index 997f9b6..8c0b51c 100644 down(&s_sync); /* Wait for t_sync to complete */ -- -1.7.1.1 +1.7.0.4 diff --git a/hpfs-Convert-sbi-hpfs_creation_de-to-mutex.patch b/hpfs-Convert-sbi-hpfs_creation_de-to-mutex.patch index fa05d7b..5e1d729 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 092e11018704784251cf9b97ad63dc96769fa9ea Mon Sep 17 00:00:00 2001 +From b8bb0a0d98408cb23f6b6470843a65d5d6229a4b 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 @@ -9,12 +9,18 @@ sbi->hpfs_creation_de is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/hpfs/buffer.c | 4 ++-- + fs/hpfs/hpfs_fn.h | 2 +- + fs/hpfs/super.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/hpfs/buffer.c b/fs/hpfs/buffer.c -index b6fca54..8f4141c 100644 +index eac5f96..793cb9d 100644 --- a/fs/hpfs/buffer.c +++ b/fs/hpfs/buffer.c -@@ -13,7 +13,7 @@ void hpfs_lock_creation(struct super_block *s) +@@ -14,7 +14,7 @@ void hpfs_lock_creation(struct super_block *s) #ifdef DEBUG_LOCKS printk("lock creation\n"); #endif @@ -23,7 +29,7 @@ index b6fca54..8f4141c 100644 } void hpfs_unlock_creation(struct super_block *s) -@@ -21,7 +21,7 @@ void hpfs_unlock_creation(struct super_block *s) +@@ -22,7 +22,7 @@ void hpfs_unlock_creation(struct super_block *s) #ifdef DEBUG_LOCKS printk("unlock creation\n"); #endif @@ -33,7 +39,7 @@ index b6fca54..8f4141c 100644 /* Map a sector into a buffer and return pointers to it and to the buffer. */ diff --git a/fs/hpfs/hpfs_fn.h b/fs/hpfs/hpfs_fn.h -index 701ca54..ed222f5 100644 +index 97bf738..689aabe 100644 --- a/fs/hpfs/hpfs_fn.h +++ b/fs/hpfs/hpfs_fn.h @@ -87,7 +87,7 @@ struct hpfs_sb_info { @@ -46,10 +52,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 cadc4ce..e13f103 100644 +index aa53842..783606e 100644 --- a/fs/hpfs/super.c +++ b/fs/hpfs/super.c -@@ -486,7 +486,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent) +@@ -487,7 +487,7 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent) sbi->sb_bmp_dir = NULL; sbi->sb_cp_table = NULL; @@ -59,5 +65,5 @@ index cadc4ce..e13f103 100644 uid = current_uid(); gid = current_gid(); -- -1.7.1.1 +1.7.0.4 diff --git a/hpfsplus-Convert-tree_lock-to-mutex.patch b/hpfsplus-Convert-tree_lock-to-mutex.patch index 3b77f1d..38d781e 100644 --- a/hpfsplus-Convert-tree_lock-to-mutex.patch +++ b/hpfsplus-Convert-tree_lock-to-mutex.patch @@ -1,4 +1,4 @@ -From 2ec1cea566f8468dc453c04b0544783ad6f6ecba Mon Sep 17 00:00:00 2001 +From 1e70c02ad3062049fd41b126b4b6988153a4120b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:20:41 +0200 Subject: [PATCH] hpfsplus: Convert tree_lock to mutex @@ -9,6 +9,12 @@ tree_lock is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/hfsplus/bfind.c | 4 ++-- + fs/hfsplus/btree.c | 2 +- + fs/hfsplus/hfsplus_fs.h | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/hfsplus/bfind.c b/fs/hfsplus/bfind.c index 5007a41..68c7983 100644 @@ -59,5 +65,5 @@ index 5c10d80..d15f35e 100644 unsigned int pages_per_bnode; spinlock_t hash_lock; -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimer-Fix-softirq-device-reprogramming.patch b/hrtimer-Fix-softirq-device-reprogramming.patch index 84f3501..10a5167 100644 --- a/hrtimer-Fix-softirq-device-reprogramming.patch +++ b/hrtimer-Fix-softirq-device-reprogramming.patch @@ -1,4 +1,4 @@ -From f0847d1e62b81903ac4eae41797ad4c6ee9bafcb Mon Sep 17 00:00:00 2001 +From 3cf7a90f946a893311cfe44a8b06ecffeb370b79 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 @@ -6,6 +6,10 @@ Subject: [PATCH] hrtimer: Fix softirq device reprogramming commit b275903a1dc4442383a05137ea6a8985605291e9 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/hrtimer.c | 60 +++++++++++++++++++++++++++++++++++++++-------------- + 1 files changed, 44 insertions(+), 16 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 834e1bc..f05d9ce 100644 @@ -107,5 +111,5 @@ index 834e1bc..f05d9ce 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimer-fix-reprogram-thinko.patch b/hrtimer-fix-reprogram-thinko.patch index 0578610..1d9175c 100644 --- a/hrtimer-fix-reprogram-thinko.patch +++ b/hrtimer-fix-reprogram-thinko.patch @@ -1,4 +1,4 @@ -From 7f985ea3e379046e01af6f37ebc9e0d83ca78e8e Mon Sep 17 00:00:00 2001 +From 4df49c8c5996bb626c759e04c6a99e09cdf87583 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 @@ -6,6 +6,10 @@ Subject: [PATCH] hrtimer: fix reprogram thinko commit ea583cb09051aef3a1b2a770caa7e564e7042483 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/hrtimer.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index f22611d..05302de 100644 @@ -35,5 +39,5 @@ index f22611d..05302de 100644 } #endif -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimer-fix-rt-compile.patch b/hrtimer-fix-rt-compile.patch index 4eff168..70884e2 100644 --- a/hrtimer-fix-rt-compile.patch +++ b/hrtimer-fix-rt-compile.patch @@ -1,4 +1,4 @@ -From 5b1d543cfd6f17bb6efd0fd084ce1caf3ca46fda Mon Sep 17 00:00:00 2001 +From c4affc810fb6215d56cfd4387bc27cdb6c7bb230 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 @@ -6,6 +6,10 @@ Subject: [PATCH] hrtimer: fix !rt compile commit ccc00d7be9304cfc38294192db8f63dfd8b42f4e in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/hrtimer.c | 10 ++++++++-- + 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index f05d9ce..720ceb5 100644 @@ -43,5 +47,5 @@ index f05d9ce..720ceb5 100644 struct hrtimer_clock_base *base) { -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimer-fix-wait-for-hrtimer.patch b/hrtimer-fix-wait-for-hrtimer.patch index 331193e..0a69b34 100644 --- a/hrtimer-fix-wait-for-hrtimer.patch +++ b/hrtimer-fix-wait-for-hrtimer.patch @@ -1,4 +1,4 @@ -From 532e27fc838accbe6725986dc34fe4d555247817 Mon Sep 17 00:00:00 2001 +From 86e454cbe78acadda784bc6d4cdd7c6b4f5fe001 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:30 -0500 Subject: [PATCH] hrtimer: fix wait for hrtimer @@ -8,6 +8,9 @@ commit f6314be4567839f2850c48dcc7bedad4a5f798dc in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/hrtimer.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 82efa41..93b2df2 100644 @@ -41,5 +44,5 @@ index 82efa41..93b2df2 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimer-fix-wait_for_hrtimer.patch b/hrtimer-fix-wait_for_hrtimer.patch index 68f446d..e9365d8 100644 --- a/hrtimer-fix-wait_for_hrtimer.patch +++ b/hrtimer-fix-wait_for_hrtimer.patch @@ -1,4 +1,4 @@ -From 2f0249e2c9e83854cb1e09c6d5dacd9959222b38 Mon Sep 17 00:00:00 2001 +From 2477b29593fa5380c4edb761fac192c15ad9ec89 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 @@ -6,6 +6,10 @@ Subject: [PATCH] hrtimer: fix wait_for_hrtimer commit 0f66f95674f33b5b107cc9aef34c61aaf920604f in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/hrtimer.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 05302de..834e1bc 100644 @@ -42,5 +46,5 @@ index 05302de..834e1bc 100644 #endif } -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch b/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch index 9048159..79cfc23 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 2370b7e8776dea01c3be35b92f43b5b91a56983e Mon Sep 17 00:00:00 2001 +From 486ba29003d83098d1afeb27656fad748392c624 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 @@ -17,6 +17,12 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hrtimer.h | 3 + + kernel/hrtimer.c | 144 +++++++++++++++++++++++++++++++++++++++++----- + kernel/sched.c | 2 + + kernel/time/tick-sched.c | 1 + + 4 files changed, 135 insertions(+), 15 deletions(-) diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 67945c3..1cc4577 100644 @@ -312,10 +318,10 @@ index 93b2df2..f22611d 100644 /** diff --git a/kernel/sched.c b/kernel/sched.c -index 4ee1a54..9676d63 100644 +index 17cef67..00237e3 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) +@@ -203,6 +203,7 @@ void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime) hrtimer_init(&rt_b->rt_period_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); @@ -323,7 +329,7 @@ index 4ee1a54..9676d63 100644 rt_b->rt_period_timer.function = sched_rt_period_timer; } -@@ -1229,6 +1230,7 @@ static void init_rq_hrtick(struct rq *rq) +@@ -1202,6 +1203,7 @@ static void init_rq_hrtick(struct rq *rq) hrtimer_init(&rq->hrtick_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); rq->hrtick_timer.function = hrtick; @@ -344,5 +350,5 @@ index bc625d9..a85776e 100644 /* Get the next period (per cpu) */ -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch b/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch index 02f53cf..1c8b0b3 100644 --- a/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch +++ b/hrtimers-Provide-schedule_hrtimeout-for-CLOCK_REALTI.patch @@ -1,4 +1,4 @@ -From f23bf0c3c74afb3b24d8defad2234a8624d79376 Mon Sep 17 00:00:00 2001 +From 5b6488c57d939abfa95151c346f450163e6d72b2 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 @@ -19,6 +19,11 @@ Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Arjan van de Veen <arjan@infradead.org> LKML-Reference: <20100402204331.167439615@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hrtimer.h | 2 + + kernel/hrtimer.c | 67 ++++++++++++++++++++++++++++------------------ + 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 1cc4577..711ecf3 100644 @@ -130,5 +135,5 @@ index e018333..d03433b 100644 /** -- -1.7.1.1 +1.7.0.4 diff --git a/hrtimers-prepare-full-preemption.patch b/hrtimers-prepare-full-preemption.patch index 07122e3..2ff5094 100644 --- a/hrtimers-prepare-full-preemption.patch +++ b/hrtimers-prepare-full-preemption.patch @@ -1,4 +1,4 @@ -From b926c8ec02044923580578ea9a9e8801095b25de Mon Sep 17 00:00:00 2001 +From 101b9d9122503bc549e45c7b7546b12178f6d166 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:34 -0500 Subject: [PATCH] hrtimers: prepare full preemption @@ -11,6 +11,12 @@ against preemption. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hrtimer.h | 10 ++++++++++ + kernel/hrtimer.c | 33 ++++++++++++++++++++++++++++++++- + kernel/itimer.c | 1 + + kernel/posix-timers.c | 3 +++ + 4 files changed, 46 insertions(+), 1 deletions(-) diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h index 5d86fb2..67945c3 100644 @@ -118,7 +124,7 @@ index d802883..2c582fc 100644 } expires = timeval_to_ktime(value->it_value); diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c -index 2114ed0..d2818dd 100644 +index 711737b..d9c2962 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c @@ -831,6 +831,7 @@ retry: @@ -146,5 +152,5 @@ index 2114ed0..d2818dd 100644 } list_del(&timer->list); -- -1.7.1.1 +1.7.0.4 diff --git a/hwlat-Fix-Kconfig-and-check-kthread_stop-result.patch b/hwlat-Fix-Kconfig-and-check-kthread_stop-result.patch index c544fc0..812581d 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 0ef61debf2af0cd6de7743c28a13d232d150a9fd Mon Sep 17 00:00:00 2001 +From 605886995a0b84fa23876c1d99485743ef2eef99 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 @@ -10,9 +10,14 @@ Signed-off-by: John Kacur <jkacur@redhat.com> Cc: Jon Masters <jcm@redhat.com> Cc: Clark Williams <williams@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/misc/Kconfig | 2 +- + drivers/misc/hwlat_detector.c | 12 ++++++++++-- + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index da77983..9eaa647 100644 +index 125e995..2d883bb 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -93,7 +93,7 @@ config IBM_ASM @@ -57,5 +62,5 @@ index be6553f..d9549e9 100644 free_debugfs(); -- -1.7.1.1 +1.7.0.4 diff --git a/hwlat-Move-wakequeue-wake-up-out-of-irq-disable-regi.patch b/hwlat-Move-wakequeue-wake-up-out-of-irq-disable-regi.patch index 15b8dcc..24b3927 100644 --- a/hwlat-Move-wakequeue-wake-up-out-of-irq-disable-regi.patch +++ b/hwlat-Move-wakequeue-wake-up-out-of-irq-disable-regi.patch @@ -1,4 +1,4 @@ -From 5fc485f6341c177e9d5f641c6fb9e33ca465aa84 Mon Sep 17 00:00:00 2001 +From f833d0a1cf620cca3e85dcb4841cfe366892e94e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 12 Aug 2009 12:16:59 +0200 Subject: [PATCH] hwlat: Move wakequeue wake up out of irq disable region @@ -6,6 +6,10 @@ Subject: [PATCH] hwlat: Move wakequeue wake up out of irq disable region commit 5fc485f6341c177e9d5f641c6fb9e33ca465aa84 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/misc/hwlat_detector.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/misc/hwlat_detector.c b/drivers/misc/hwlat_detector.c index e02d8e1..be6553f 100644 @@ -30,5 +34,5 @@ index e02d8e1..be6553f 100644 do_div(interval, USEC_PER_MSEC); /* modifies interval value */ -- -1.7.1.1 +1.7.0.4 diff --git a/hwlat-Select-RING_BUFFER.patch b/hwlat-Select-RING_BUFFER.patch index 71beb55..50639a4 100644 --- a/hwlat-Select-RING_BUFFER.patch +++ b/hwlat-Select-RING_BUFFER.patch @@ -1,4 +1,4 @@ -From 9ac5a75d1fe22d34c6a1e6f15e4eefa6633e693a Mon Sep 17 00:00:00 2001 +From 6118a37e31d553303c017c9e272891f3f3afb4a0 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 @@ -8,9 +8,13 @@ commit 7adc5d16e69dea387c2edb32c7fd885badc1ce0f in tip. hwlat detector uses the RING_BUFFER so it needs to be selected. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/misc/Kconfig | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 2eeb595..da77983 100644 +index 8dd47e0..125e995 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -93,6 +93,7 @@ config IBM_ASM @@ -22,5 +26,5 @@ index 2eeb595..da77983 100644 ---help--- A simple hardware latency detector. Use this module to detect -- -1.7.1.1 +1.7.0.4 diff --git a/hwlat_detector-A-system-hardware-latency-detector.patch b/hwlat_detector-A-system-hardware-latency-detector.patch index f16f48d..1004e9f 100644 --- a/hwlat_detector-A-system-hardware-latency-detector.patch +++ b/hwlat_detector-A-system-hardware-latency-detector.patch @@ -1,4 +1,4 @@ -From 5e9a89be906c5d0a90c918814a831b6e96136443 Mon Sep 17 00:00:00 2001 +From e24fe6c2612e3188d8703f0225638a3ee0e39c16 Mon Sep 17 00:00:00 2001 From: Jon Masters <jonathan@jonmasters.org> Date: Fri, 3 Jul 2009 13:16:34 -0500 Subject: [PATCH] hwlat_detector: A system hardware latency detector @@ -16,6 +16,15 @@ Cc: akpm@linux-foundation.org Cc: rostedt@goodmis.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + Documentation/hwlat_detector.txt | 64 ++ + MAINTAINERS | 9 + + drivers/misc/Kconfig | 28 + + drivers/misc/Makefile | 1 + + drivers/misc/hwlat_detector.c | 1208 ++++++++++++++++++++++++++++++++++++++ + 5 files changed, 1310 insertions(+), 0 deletions(-) + create mode 100644 Documentation/hwlat_detector.txt + create mode 100644 drivers/misc/hwlat_detector.c diff --git a/Documentation/hwlat_detector.txt b/Documentation/hwlat_detector.txt new file mode 100644 @@ -88,7 +97,7 @@ index 0000000..cb61516 +then we write to a global sample ring buffer of 8K samples, which is +consumed by reading from the "sample" (pipe) debugfs file interface. diff --git a/MAINTAINERS b/MAINTAINERS -index 1838875..22ed064 100644 +index d329b05..00722a6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -2540,6 +2540,15 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git @@ -1370,5 +1379,5 @@ index 0000000..e02d8e1 +module_init(detector_init); +module_exit(detector_exit); -- -1.7.1.1 +1.7.0.4 diff --git a/hwlat_detector-avoid-smp_processor_id.patch.patch b/hwlat_detector-avoid-smp_processor_id.patch.patch index bf41298..f367233 100644 --- a/hwlat_detector-avoid-smp_processor_id.patch.patch +++ b/hwlat_detector-avoid-smp_processor_id.patch.patch @@ -1,4 +1,4 @@ -From b635a77f9aadc5ed3fc5a949e3f219c24cdd254c Mon Sep 17 00:00:00 2001 +From d43c416df42cc3f93f75e897559de06040b81144 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Sat, 16 Jan 2010 17:14:04 +0100 Subject: [PATCH] hwlat_detector-avoid-smp_processor_id.patch @@ -9,6 +9,10 @@ Avoid smp_processor_id() in preemptible code. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/misc/hwlat_detector.c | 14 ++++---------- + 1 files changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/misc/hwlat_detector.c b/drivers/misc/hwlat_detector.c index d9549e9..953783c 100644 @@ -37,5 +41,5 @@ index d9549e9..953783c 100644 if (e) { -- -1.7.1.1 +1.7.0.4 diff --git a/i8253-Convert-i8253_lock-to-raw_spinlock.patch b/i8253-Convert-i8253_lock-to-raw_spinlock.patch index 71b1bc9..05223f8 100644 --- a/i8253-Convert-i8253_lock-to-raw_spinlock.patch +++ b/i8253-Convert-i8253_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From a22235f0e507a8fcc17db806a62fa28bdbb1f7de Mon Sep 17 00:00:00 2001 +From ec43babd2a62ca78e9a5f33c2f2a7902c74c1ecd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 18:17:56 +0200 Subject: [PATCH] i8253: Convert i8253_lock to raw_spinlock @@ -9,6 +9,20 @@ Fixup all users. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/include/asm/i8253.h | 2 +- + arch/mips/kernel/i8253.c | 14 +++++++------- + arch/x86/include/asm/i8253.h | 2 +- + arch/x86/kernel/apm_32.c | 4 ++-- + arch/x86/kernel/i8253.c | 14 +++++++------- + drivers/block/hd.c | 4 ++-- + drivers/input/gameport/gameport.c | 4 ++-- + drivers/input/joystick/analog.c | 4 ++-- + drivers/input/misc/pcspkr.c | 6 +++--- + sound/drivers/pcsp/pcsp.h | 2 +- + sound/drivers/pcsp/pcsp_input.c | 4 ++-- + sound/drivers/pcsp/pcsp_lib.c | 12 ++++++------ + 12 files changed, 36 insertions(+), 36 deletions(-) diff --git a/arch/mips/include/asm/i8253.h b/arch/mips/include/asm/i8253.h index 032ca73..48bb823 100644 @@ -99,7 +113,7 @@ index 1edbf89..fc1f579 100644 extern struct clock_event_device *global_clock_event; diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c -index b5b6b23..a920e00 100644 +index 031aa88..c4f9182 100644 --- a/arch/x86/kernel/apm_32.c +++ b/arch/x86/kernel/apm_32.c @@ -1224,7 +1224,7 @@ static void reinit_timer(void) @@ -183,10 +197,10 @@ index 23c1679..2dfd315 100644 count = (LATCH - 1) - count; diff --git a/drivers/block/hd.c b/drivers/block/hd.c -index d5cdce0..d6efe0c 100644 +index 034e6df..81c78b3 100644 --- a/drivers/block/hd.c +++ b/drivers/block/hd.c -@@ -165,12 +165,12 @@ unsigned long read_timer(void) +@@ -164,12 +164,12 @@ unsigned long read_timer(void) unsigned long t, flags; int i; @@ -202,10 +216,10 @@ index d5cdce0..d6efe0c 100644 } #endif diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c -index 65b0c44..8a3e940 100644 +index 5ed1c24..458d29e 100644 --- a/drivers/input/gameport/gameport.c +++ b/drivers/input/gameport/gameport.c -@@ -58,11 +58,11 @@ static unsigned int get_time_pit(void) +@@ -60,11 +60,11 @@ static unsigned int get_time_pit(void) unsigned long flags; unsigned int count; @@ -304,10 +318,10 @@ index 0444cde..b5e2b54 100644 void pcspkr_stop_sound(void) diff --git a/sound/drivers/pcsp/pcsp_lib.c b/sound/drivers/pcsp/pcsp_lib.c -index e1145ac..f6a2e72 100644 +index d77ffa9..ce9e7d1 100644 --- a/sound/drivers/pcsp/pcsp_lib.c +++ b/sound/drivers/pcsp/pcsp_lib.c -@@ -65,7 +65,7 @@ static u64 pcsp_timer_update(struct snd_pcsp *chip) +@@ -66,7 +66,7 @@ static u64 pcsp_timer_update(struct snd_pcsp *chip) timer_cnt = val * CUR_DIV() / 256; if (timer_cnt && chip->enable) { @@ -316,7 +330,7 @@ index e1145ac..f6a2e72 100644 if (!nforce_wa) { outb_p(chip->val61, 0x61); outb_p(timer_cnt, 0x42); -@@ -74,7 +74,7 @@ static u64 pcsp_timer_update(struct snd_pcsp *chip) +@@ -75,7 +75,7 @@ static u64 pcsp_timer_update(struct snd_pcsp *chip) outb(chip->val61 ^ 2, 0x61); chip->thalf = 1; } @@ -325,7 +339,7 @@ index e1145ac..f6a2e72 100644 } chip->ns_rem = PCSP_PERIOD_NS(); -@@ -158,10 +158,10 @@ static int pcsp_start_playing(struct snd_pcsp *chip) +@@ -159,10 +159,10 @@ static int pcsp_start_playing(struct snd_pcsp *chip) return -EIO; } @@ -338,7 +352,7 @@ index e1145ac..f6a2e72 100644 atomic_set(&chip->timer_active, 1); chip->thalf = 0; -@@ -178,11 +178,11 @@ static void pcsp_stop_playing(struct snd_pcsp *chip) +@@ -179,11 +179,11 @@ static void pcsp_stop_playing(struct snd_pcsp *chip) return; atomic_set(&chip->timer_active, 0); @@ -353,5 +367,5 @@ index e1145ac..f6a2e72 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/ia64-salinfo-semaphore_init-instead-of-init_MUTEX.patch b/ia64-salinfo-semaphore_init-instead-of-init_MUTEX.patch index bd191fc..e0a17be 100644 --- a/ia64-salinfo-semaphore_init-instead-of-init_MUTEX.patch +++ b/ia64-salinfo-semaphore_init-instead-of-init_MUTEX.patch @@ -1,4 +1,4 @@ -From 596f06b569e7295b8d1edb6a055cdc504d142658 Mon Sep 17 00:00:00 2001 +From 40ab752090aa154d3db7478164d86422cc2ad6ad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:21:58 +0200 Subject: [PATCH] ia64: salinfo: semaphore_init instead of init_MUTEX @@ -10,6 +10,10 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/ia64/kernel/salinfo.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index e6676fc..414a22e 100644 @@ -25,5 +29,5 @@ index e6676fc..414a22e 100644 if (!dir) continue; -- -1.7.1.1 +1.7.0.4 diff --git a/ibmphp-hpc-semaphore-cleanup.patch b/ibmphp-hpc-semaphore-cleanup.patch index 664defa..29bef8e 100644 --- a/ibmphp-hpc-semaphore-cleanup.patch +++ b/ibmphp-hpc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From a040cf84631b93340f2f01fefd88ccd0b1bd6b30 Mon Sep 17 00:00:00 2001 +From 825be12970fc9aaff4d576d83e1ef12a9edc1f79 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 @@ -10,12 +10,16 @@ in some places. Make them semaphores. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@suse.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/pci/hotplug/ibmphp_hpc.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/pci/hotplug/ibmphp_hpc.c b/drivers/pci/hotplug/ibmphp_hpc.c -index c7084f0..d811661 100644 +index 1aaf3f3..f59ed30 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) +@@ -133,8 +133,8 @@ void __init ibmphp_hpc_initvars (void) debug ("%s - Entry\n", __func__); mutex_init(&sem_hpcaccess); @@ -27,5 +31,5 @@ index c7084f0..d811661 100644 debug ("%s - Exit\n", __func__); -- -1.7.1.1 +1.7.0.4 diff --git a/ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch b/ide-Do-not-disable-interrupts-for-PREEMPT-RT.patch index a1e1584..990f550 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 d0425df6ee66c57380014ccce84b17bcd8df1e06 Mon Sep 17 00:00:00 2001 +From 40bfc62c50089c6d880088f0ff5565c6c7434966 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 @@ -10,6 +10,15 @@ Use the local_irq_*_nort variants. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/ide/alim15x3.c | 4 ++-- + drivers/ide/hpt366.c | 4 ++-- + drivers/ide/ide-io-std.c | 8 ++++---- + drivers/ide/ide-io.c | 2 +- + drivers/ide/ide-iops.c | 4 ++-- + drivers/ide/ide-probe.c | 4 ++-- + drivers/ide/ide-taskfile.c | 6 +++--- + 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/drivers/ide/alim15x3.c b/drivers/ide/alim15x3.c index 2c8016a..6fd6037 100644 @@ -34,10 +43,10 @@ index 2c8016a..6fd6037 100644 } diff --git a/drivers/ide/hpt366.c b/drivers/ide/hpt366.c -index b885c1d..7c3adf3 100644 +index 4516369..320c342 100644 --- a/drivers/ide/hpt366.c +++ b/drivers/ide/hpt366.c -@@ -1238,7 +1238,7 @@ static int __devinit init_dma_hpt366(ide_hwif_t *hwif, +@@ -1239,7 +1239,7 @@ static int __devinit init_dma_hpt366(ide_hwif_t *hwif, dma_old = inb(base + 2); @@ -46,7 +55,7 @@ index b885c1d..7c3adf3 100644 dma_new = dma_old; pci_read_config_byte(dev, hwif->channel ? 0x4b : 0x43, &masterdma); -@@ -1249,7 +1249,7 @@ static int __devinit init_dma_hpt366(ide_hwif_t *hwif, +@@ -1250,7 +1250,7 @@ static int __devinit init_dma_hpt366(ide_hwif_t *hwif, if (dma_new != dma_old) outb(dma_new, base + 2); @@ -96,7 +105,7 @@ index 46721c4..b6f114a 100644 if (((len + 1) & 3) < 2) return; diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c -index db96138..b8b3ab6 100644 +index 172ac92..7c76ecd 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c @@ -667,7 +667,7 @@ void ide_timer_expiry (unsigned long data) @@ -128,7 +137,7 @@ index 376f2dc..f014dd1 100644 /* * Allow status to settle, then read it again. diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c -index fbedd35..58ac573 100644 +index 4c3d1bf..bc30967 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) @@ -145,7 +154,7 @@ index fbedd35..58ac573 100644 drive->dev_flags |= IDE_DFLAG_ID_READ; #ifdef DEBUG diff --git a/drivers/ide/ide-taskfile.c b/drivers/ide/ide-taskfile.c -index cc8633c..7253867 100644 +index 67fb735..8fb6962 100644 --- a/drivers/ide/ide-taskfile.c +++ b/drivers/ide/ide-taskfile.c @@ -250,7 +250,7 @@ void ide_pio_bytes(ide_drive_t *drive, struct ide_cmd *cmd, @@ -176,5 +185,5 @@ index cc8633c..7253867 100644 ide_set_handler(drive, &task_pio_intr, WAIT_WORSTCASE); -- -1.7.1.1 +1.7.0.4 diff --git a/infiniband-Make-user_mad-semaphore-a-real-one.patch b/infiniband-Make-user_mad-semaphore-a-real-one.patch index eed5b8d..476ecc2 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 4c50170dd6c16db37aa38d48cd4d929c4f38e2af Mon Sep 17 00:00:00 2001 +From ad347ddfc1402b9eda4549b8896dcca1225be2c5 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 @@ -9,12 +9,16 @@ The usage of this "mutex" is non obvious. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Roland Dreier <rolandd@cisco.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/infiniband/core/user_mad.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c -index 7de0296..810a52c 100644 +index e7db054..9ff7970 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c -@@ -1004,7 +1004,7 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, +@@ -1018,7 +1018,7 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, port->ib_dev = device; port->port_num = port_num; @@ -24,5 +28,5 @@ index 7de0296..810a52c 100644 INIT_LIST_HEAD(&port->file_list); -- -1.7.1.1 +1.7.0.4 diff --git a/infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch b/infiniband-Mellanox-IB-driver-patch-use-_nort-primit.patch index ff65d72..246dbff 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 2c356e3e965ba65f36e072700129188c0c199083 Mon Sep 17 00:00:00 2001 +From e09c38860a737c652ae9cbecc9e0e1d5fd130cb5 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 @@ -16,12 +16,16 @@ changes." Signed-off-by: Sven-Thorsten Dietrich <sven@thebigcorporation.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/infiniband/ulp/ipoib/ipoib_multicast.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c -index 8763c1e..aeebf74 100644 +index b166bb7..58f1568 100644 --- a/drivers/infiniband/ulp/ipoib/ipoib_multicast.c +++ b/drivers/infiniband/ulp/ipoib/ipoib_multicast.c -@@ -796,7 +796,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) +@@ -797,7 +797,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) ipoib_mcast_stop_thread(dev, 0); @@ -30,7 +34,7 @@ index 8763c1e..aeebf74 100644 netif_addr_lock(dev); spin_lock(&priv->lock); -@@ -880,7 +880,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) +@@ -881,7 +881,7 @@ void ipoib_mcast_restart_task(struct work_struct *work) spin_unlock(&priv->lock); netif_addr_unlock(dev); @@ -40,5 +44,5 @@ index 8763c1e..aeebf74 100644 /* We have to cancel outside of the spinlock */ list_for_each_entry_safe(mcast, tmcast, &remove_list, list) { -- -1.7.1.1 +1.7.0.4 diff --git a/init-Fix-config-items-in-debug-reminder-finally.patch b/init-Fix-config-items-in-debug-reminder-finally.patch index 5c63548..ee686b9 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 c6d2f2c4b5fe5b6ba0cd9b18b78ceb0cf242f2c1 Mon Sep 17 00:00:00 2001 +From 1d1315c04e5736f43b21940a01a0d0a0f322b171 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 @@ -11,12 +11,16 @@ was missing. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/init/main.c b/init/main.c -index aabceff..39a4f75 100644 +index ee05de3..0d67d3e 100644 --- a/init/main.c +++ b/init/main.c -@@ -915,7 +915,7 @@ static int __init kernel_init(void * unused) +@@ -933,7 +933,7 @@ static int __init kernel_init(void * unused) defined(CONFIG_INTERRUPT_OFF_HIST) + \ defined(CONFIG_PREEMPT_OFF_HIST) + \ defined(CONFIG_DEBUG_SLAB) + \ @@ -26,5 +30,5 @@ index aabceff..39a4f75 100644 (defined(CONFIG_FUNCTION_TRACER) - \ defined(CONFIG_FTRACE_MCOUNT_RECORD))) -- -1.7.1.1 +1.7.0.4 diff --git a/init-emit-preempt-warn-about-tracing.patch b/init-emit-preempt-warn-about-tracing.patch index e93b60a..11f8056 100644 --- a/init-emit-preempt-warn-about-tracing.patch +++ b/init-emit-preempt-warn-about-tracing.patch @@ -1,4 +1,4 @@ -From cf232cc5bf1e5a74b4ae5c6bf1395b7aee8b01c8 Mon Sep 17 00:00:00 2001 +From ffc6cfcb55bd92813d161afa754ee95c03ae0388 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 @@ -7,12 +7,16 @@ commit b22c2ff3f3cf9cbd1cc4c432d0eebbd490cf5538 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 17 ++++++++++------- + 1 files changed, 10 insertions(+), 7 deletions(-) diff --git a/init/main.c b/init/main.c -index 2a09cb6..ed4c511 100644 +index 57af5bc..3cc95fd 100644 --- a/init/main.c +++ b/init/main.c -@@ -899,7 +899,7 @@ static int __init kernel_init(void * unused) +@@ -917,7 +917,7 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -21,7 +25,7 @@ index 2a09cb6..ed4c511 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -913,14 +913,17 @@ static int __init kernel_init(void * unused) +@@ -931,14 +931,17 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_DEBUG_RT_MUTEXES printk(KERN_ERR "* CONFIG_DEBUG_RT_MUTEXES *\n"); #endif @@ -46,5 +50,5 @@ index 2a09cb6..ed4c511 100644 #ifdef CONFIG_DEBUG_SLAB printk(KERN_ERR "* CONFIG_DEBUG_SLAB *\n"); -- -1.7.1.1 +1.7.0.4 diff --git a/init-show-enabled-debugs.patch b/init-show-enabled-debugs.patch index 9b850a5..5f88194 100644 --- a/init-show-enabled-debugs.patch +++ b/init-show-enabled-debugs.patch @@ -1,4 +1,4 @@ -From f19969c6550ffc869cd6f8577ab5c459ae742ae6 Mon Sep 17 00:00:00 2001 +From fcee5d130a033495605cf1194e65b56634c2d1cf 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 @@ -8,12 +8,15 @@ commit d0cd6d95886e800ac64e1467b6ec262a7d8782fd in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 1 files changed, 54 insertions(+), 0 deletions(-) diff --git a/init/main.c b/init/main.c -index 650c1ce..2a09cb6 100644 +index 6304bab..57af5bc 100644 --- a/init/main.c +++ b/init/main.c -@@ -413,6 +413,8 @@ static noinline void __init_refok rest_init(void) +@@ -427,6 +427,8 @@ static noinline void __init_refok rest_init(void) { int pid; @@ -22,7 +25,7 @@ index 650c1ce..2a09cb6 100644 rcu_scheduler_starting(); kernel_thread(kernel_init, NULL, CLONE_FS | CLONE_SIGHAND); numa_default_policy(); -@@ -678,6 +680,9 @@ asmlinkage void __init start_kernel(void) +@@ -694,6 +696,9 @@ asmlinkage void __init start_kernel(void) ftrace_init(); @@ -32,7 +35,7 @@ index 650c1ce..2a09cb6 100644 /* Do the rest non-__init'ed, we're now alive */ rest_init(); } -@@ -781,9 +786,11 @@ static void __init do_basic_setup(void) +@@ -797,9 +802,11 @@ static void __init do_basic_setup(void) static void __init do_pre_smp_initcalls(void) { initcall_t *fn; @@ -44,7 +47,7 @@ index 650c1ce..2a09cb6 100644 } static void run_init_process(char *init_filename) -@@ -819,6 +826,9 @@ static noinline int init_post(void) +@@ -830,6 +837,9 @@ static noinline int init_post(void) printk(KERN_WARNING "Failed to execute %s\n", ramdisk_execute_command); } @@ -54,7 +57,7 @@ index 650c1ce..2a09cb6 100644 /* * We try each of these until one succeeds. -@@ -885,7 +895,51 @@ static int __init kernel_init(void * unused) +@@ -903,7 +913,51 @@ static int __init kernel_init(void * unused) ramdisk_execute_command = NULL; prepare_namespace(); } @@ -107,5 +110,5 @@ index 650c1ce..2a09cb6 100644 * Ok, we have completed the initial bootup, and * we're essentially up and running. Get rid of the -- -1.7.1.1 +1.7.0.4 diff --git a/input-Do-not-disable-interrupts-on-PREEMPT_RT.patch b/input-Do-not-disable-interrupts-on-PREEMPT_RT.patch index ef3cdf3..715a4fc 100644 --- a/input-Do-not-disable-interrupts-on-PREEMPT_RT.patch +++ b/input-Do-not-disable-interrupts-on-PREEMPT_RT.patch @@ -1,4 +1,4 @@ -From 93bc5d1d9d92ebff98c12c6e6bb316eed90d6b6a Mon Sep 17 00:00:00 2001 +From cecf1cbbb9081a15f7cbb156e2f92fb0f4a22e9b Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:16 -0500 Subject: [PATCH] input: Do not disable interrupts on PREEMPT_RT @@ -7,12 +7,16 @@ commit 93bc5d1d9d92ebff98c12c6e6bb316eed90d6b6a in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/input/gameport/gameport.c | 9 +++++---- + 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/input/gameport/gameport.c b/drivers/input/gameport/gameport.c -index ac11be0..65b0c44 100644 +index 7e18bcf..5ed1c24 100644 --- a/drivers/input/gameport/gameport.c +++ b/drivers/input/gameport/gameport.c -@@ -20,6 +20,7 @@ +@@ -22,6 +22,7 @@ #include <linux/slab.h> #include <linux/delay.h> #include <linux/kthread.h> @@ -20,7 +24,7 @@ index ac11be0..65b0c44 100644 #include <linux/sched.h> /* HZ */ #include <linux/mutex.h> #include <linux/freezer.h> -@@ -87,12 +88,12 @@ static int gameport_measure_speed(struct gameport *gameport) +@@ -89,12 +90,12 @@ static int gameport_measure_speed(struct gameport *gameport) tx = 1 << 30; for(i = 0; i < 50; i++) { @@ -35,7 +39,7 @@ index ac11be0..65b0c44 100644 udelay(i * 10); if ((t = DELTA(t2,t1) - DELTA(t3,t2)) < tx) tx = t; } -@@ -111,11 +112,11 @@ static int gameport_measure_speed(struct gameport *gameport) +@@ -113,11 +114,11 @@ static int gameport_measure_speed(struct gameport *gameport) tx = 1 << 30; for(i = 0; i < 50; i++) { @@ -50,5 +54,5 @@ index ac11be0..65b0c44 100644 if (t2 - t1 < tx) tx = t2 - t1; } -- -1.7.1.1 +1.7.0.4 diff --git a/input-misc-hp_sdc_rtc-semaphore-cleanup.patch b/input-misc-hp_sdc_rtc-semaphore-cleanup.patch index 1586dfe..8f1a26c 100644 --- a/input-misc-hp_sdc_rtc-semaphore-cleanup.patch +++ b/input-misc-hp_sdc_rtc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From c41f85d99c122856a42348ddb985b6c5ade5da47 Mon Sep 17 00:00:00 2001 +From 7be5654ad31a31df8227a578aa0d8ab34d50455e 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 @@ -10,6 +10,10 @@ some places. Make them semaphores. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dmitry Torokhov <dtor@mail.ru> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/input/misc/hp_sdc_rtc.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/misc/hp_sdc_rtc.c b/drivers/input/misc/hp_sdc_rtc.c index ad730e1..17920a9 100644 @@ -34,5 +38,5 @@ index ad730e1..17920a9 100644 if ((ret = hp_sdc_request_timer_irq(&hp_sdc_rtc_isr))) return ret; -- -1.7.1.1 +1.7.0.4 diff --git a/input-serio-hil_mlc-semaphore-cleanup.patch b/input-serio-hil_mlc-semaphore-cleanup.patch index 9b710fd..fcb22a4 100644 --- a/input-serio-hil_mlc-semaphore-cleanup.patch +++ b/input-serio-hil_mlc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From bcbf31b1aebe1b1d30b62eb2c307cf29430dae0d Mon Sep 17 00:00:00 2001 +From d053326b86604acd526a5ee383594f9d16691b36 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 @@ -10,12 +10,16 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dmitry Torokhov <dtor@mail.ru> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/input/serio/hil_mlc.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/input/serio/hil_mlc.c b/drivers/input/serio/hil_mlc.c -index 6cd03eb..290b648 100644 +index c92f4ed..567a1d6 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) +@@ -915,15 +915,15 @@ int hil_mlc_register(hil_mlc *mlc) mlc->ostarted = 0; rwlock_init(&mlc->lock); @@ -35,5 +39,5 @@ index 6cd03eb..290b648 100644 hil_mlc_clear_di_scratch(mlc); hil_mlc_clear_di_map(mlc, 0); -- -1.7.1.1 +1.7.0.4 diff --git a/input-serio-hp_sdc-semaphore-cleanup.patch b/input-serio-hp_sdc-semaphore-cleanup.patch index fa691d1..2dc3504 100644 --- a/input-serio-hp_sdc-semaphore-cleanup.patch +++ b/input-serio-hp_sdc-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 32ec601633c47b3867190d89f9ca005d6c08f3b2 Mon Sep 17 00:00:00 2001 +From fb7933dcd9a4683abbd699e9842f06e34c416f08 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 @@ -10,6 +10,10 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Dmitry Torokhov <dtor@mail.ru> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/input/serio/hp_sdc.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/input/serio/hp_sdc.c b/drivers/input/serio/hp_sdc.c index bcc2d30..ff45419 100644 @@ -25,5 +29,5 @@ index bcc2d30..ff45419 100644 tq_init.actidx = 0; tq_init.idx = 1; -- -1.7.1.1 +1.7.0.4 diff --git a/ipc-Make-the-ipc-code-rt-aware.patch b/ipc-Make-the-ipc-code-rt-aware.patch index 5b699be..c586c0b 100644 --- a/ipc-Make-the-ipc-code-rt-aware.patch +++ b/ipc-Make-the-ipc-code-rt-aware.patch @@ -1,4 +1,4 @@ -From 3162cdd49621d5207529dd1f3839f9a205847d56 Mon Sep 17 00:00:00 2001 +From 3e4486b80f54c8a47e8e5952b90f0d6eb47add26 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 @@ -16,12 +16,16 @@ Protect it with preempt_disable/enable_rt pairts. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + ipc/mqueue.c | 5 +++++ + ipc/msg.c | 16 ++++++++++++++++ + 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/ipc/mqueue.c b/ipc/mqueue.c -index c79bd57..02ee4ff 100644 +index 59a009d..e039b7f 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c -@@ -818,12 +818,17 @@ static inline void pipelined_send(struct mqueue_inode_info *info, +@@ -825,12 +825,17 @@ static inline void pipelined_send(struct mqueue_inode_info *info, struct msg_msg *message, struct ext_wait_queue *receiver) { @@ -40,10 +44,10 @@ index c79bd57..02ee4ff 100644 /* pipelined_receive() - if there is task waiting in sys_mq_timedsend() diff --git a/ipc/msg.c b/ipc/msg.c -index af42ef8..b1b796d 100644 +index 9547cb7..1891141 100644 --- a/ipc/msg.c +++ b/ipc/msg.c -@@ -260,12 +260,20 @@ static void expunge_all(struct msg_queue *msq, int res) +@@ -259,12 +259,20 @@ static void expunge_all(struct msg_queue *msq, int res) while (tmp != &msq->q_receivers) { struct msg_receiver *msr; @@ -64,7 +68,7 @@ index af42ef8..b1b796d 100644 } } -@@ -612,6 +620,12 @@ static inline int pipelined_send(struct msg_queue *msq, struct msg_msg *msg) +@@ -611,6 +619,12 @@ static inline int pipelined_send(struct msg_queue *msq, struct msg_msg *msg) !security_msg_queue_msgrcv(msq, msg, msr->r_tsk, msr->r_msgtype, msr->r_mode)) { @@ -77,7 +81,7 @@ index af42ef8..b1b796d 100644 list_del(&msr->r_list); if (msr->r_maxsize < msg->m_ts) { msr->r_msg = NULL; -@@ -625,9 +639,11 @@ static inline int pipelined_send(struct msg_queue *msq, struct msg_msg *msg) +@@ -624,9 +638,11 @@ static inline int pipelined_send(struct msg_queue *msq, struct msg_msg *msg) wake_up_process(msr->r_tsk); smp_mb(); msr->r_msg = msg; @@ -90,5 +94,5 @@ index af42ef8..b1b796d 100644 } return 0; -- -1.7.1.1 +1.7.0.4 diff --git a/ipc-fix-rt-non_rt-imbalance.patch b/ipc-fix-rt-non_rt-imbalance.patch index 6bdc5ad..dbb5152 100644 --- a/ipc-fix-rt-non_rt-imbalance.patch +++ b/ipc-fix-rt-non_rt-imbalance.patch @@ -1,4 +1,4 @@ -From 522ecd1cf18899a6c436421d8c5eb4684fdcc2f1 Mon Sep 17 00:00:00 2001 +From fbf1396992d57eae7225800226720015469de0fc 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 @@ -14,12 +14,16 @@ Make it symetric. Reported-by: Joerg Abraham <Joerg.Abraham@alcatel-lucent.de> Signed-off-by: John Kacur <jkacur@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + ipc/mqueue.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/ipc/mqueue.c b/ipc/mqueue.c -index 02ee4ff..5bcb571 100644 +index e039b7f..0596089 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c -@@ -828,7 +828,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, +@@ -835,7 +835,7 @@ static inline void pipelined_send(struct mqueue_inode_info *info, wake_up_process(receiver->task); smp_wmb(); receiver->state = STATE_READY; @@ -29,5 +33,5 @@ index 02ee4ff..5bcb571 100644 /* pipelined_receive() - if there is task waiting in sys_mq_timedsend() -- -1.7.1.1 +1.7.0.4 diff --git a/irda-semaphore-cleanup.patch b/irda-semaphore-cleanup.patch index 6f2fb3a..b373ffd 100644 --- a/irda-semaphore-cleanup.patch +++ b/irda-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From 8fb8888964ba96db4737efc4b1e1cf7c5e1d32d0 Mon Sep 17 00:00:00 2001 +From d5a69a5221d91d86c81c770389f270e347cafb51 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:01:12 +0200 Subject: [PATCH] irda: semaphore cleanup @@ -10,12 +10,16 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David S. Miller <davem@davemloft.net> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/irda/sir_dev.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/irda/sir_dev.c b/drivers/net/irda/sir_dev.c -index 4b2a1a9..8153eb6 100644 +index de91cd1..79213fb 100644 --- a/drivers/net/irda/sir_dev.c +++ b/drivers/net/irda/sir_dev.c -@@ -909,7 +909,7 @@ struct sir_dev * sirdev_get_instance(const struct sir_driver *drv, const char *n +@@ -910,7 +910,7 @@ struct sir_dev * sirdev_get_instance(const struct sir_driver *drv, const char *n dev->tx_skb = NULL; spin_lock_init(&dev->tx_lock); @@ -25,5 +29,5 @@ index 4b2a1a9..8153eb6 100644 dev->drv = drv; dev->netdev = ndev; -- -1.7.1.1 +1.7.0.4 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 fa5d78c..506ca35 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 f2ffdc70e84b8dc8a9f0e639a468806dfe855e14 Mon Sep 17 00:00:00 2001 +From ba38904c6c2df2ff77ad4e466fc55a92d87ed555 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 @@ -29,12 +29,15 @@ Normally there are not significant changes/additions in a merge commit that 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> +--- + kernel/irq/chip.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c -index 939c2dd..cd58389 100644 +index f308d6c..2c2214d 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c -@@ -496,6 +496,9 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) +@@ -544,6 +544,9 @@ handle_fasteoi_irq(unsigned int irq, struct irq_desc *desc) goto out; } @@ -45,5 +48,5 @@ index 939c2dd..cd58389 100644 desc->status &= ~IRQ_PENDING; raw_spin_unlock(&desc->lock); -- -1.7.1.1 +1.7.0.4 diff --git a/jbd2-Convert-jbd2_slab_create_sem-to-mutex.patch b/jbd2-Convert-jbd2_slab_create_sem-to-mutex.patch index dda1f18..937ec7d 100644 --- a/jbd2-Convert-jbd2_slab_create_sem-to-mutex.patch +++ b/jbd2-Convert-jbd2_slab_create_sem-to-mutex.patch @@ -1,4 +1,4 @@ -From c1b60e77931e114c04a9735b7a10ef82b9d97a51 Mon Sep 17 00:00:00 2001 +From 08d391eafd43cbaeea9c01955619622963ab89ad Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 16 Oct 2010 22:34:39 +0200 Subject: [PATCH] jbd2: Convert jbd2_slab_create_sem to mutex @@ -19,6 +19,9 @@ Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <alpine.LFD.2.00.1010162231480.2496@localhost6.localdomain6> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/jbd2/journal.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index c03d4dc..a3e0894 100644 @@ -61,5 +64,5 @@ index c03d4dc..a3e0894 100644 printk(KERN_EMERG "JBD2: no memory for jbd2_slab cache\n"); return -ENOMEM; -- -1.7.1.1 +1.7.0.4 diff --git a/kmap-atomic-i386-fix.patch b/kmap-atomic-i386-fix.patch index da99a7d..95712f8 100644 --- a/kmap-atomic-i386-fix.patch +++ b/kmap-atomic-i386-fix.patch @@ -1,4 +1,4 @@ -From dfcef64dff309968a1dd3f50a652dea73f847417 Mon Sep 17 00:00:00 2001 +From 7d80423650e46bf734e5c5d04287401340f6d386 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 @@ -7,12 +7,17 @@ commit 751675d74ac83053714021896601a3cde294a6ff in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/highmem.h | 6 +++--- + arch/x86/mm/highmem_32.c | 2 +- + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h -index d1c2886..42f2449 100644 +index bfe5531..8391a46 100644 --- a/arch/x86/include/asm/highmem.h +++ b/arch/x86/include/asm/highmem.h -@@ -89,10 +89,10 @@ extern void add_highpages_with_active_regions(int nid, unsigned long start_pfn, +@@ -85,10 +85,10 @@ extern void add_highpages_with_active_regions(int nid, unsigned long start_pfn, * on PREEMPT_RT kmap_atomic() is a wrapper that uses kmap(): */ #ifdef CONFIG_PREEMPT_RT @@ -42,5 +47,5 @@ index 856a2a3..419d8f6 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/kprobes-Convert-to-raw_spinlock.patch b/kprobes-Convert-to-raw_spinlock.patch index c335cea..f1f79bd 100644 --- a/kprobes-Convert-to-raw_spinlock.patch +++ b/kprobes-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 667a0f12e6c1445290cafa1d61bc1178fa08e4ca Mon Sep 17 00:00:00 2001 +From 4504b8ba6d55c1e8b3faec07a7ab08ebac15759c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 16:09:17 +0200 Subject: [PATCH] kprobes: Convert to raw_spinlock @@ -7,12 +7,16 @@ commit dc23e836d8d25fe5aa4057d54dae2094fbc614f6 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/kprobes.h | 2 +- + kernel/kprobes.c | 34 +++++++++++++++++----------------- + 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h -index 1b672f7..620df87 100644 +index e7d1b2e..7dd6ce6 100644 --- a/include/linux/kprobes.h +++ b/include/linux/kprobes.h -@@ -170,7 +170,7 @@ struct kretprobe { +@@ -181,7 +181,7 @@ struct kretprobe { int nmissed; size_t data_size; struct hlist_head free_instances; @@ -22,10 +26,10 @@ index 1b672f7..620df87 100644 struct kretprobe_instance { diff --git a/kernel/kprobes.c b/kernel/kprobes.c -index b7df302..40547e6 100644 +index 0ed46f3..61fb859 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c -@@ -73,10 +73,10 @@ static bool kprobes_all_disarmed; +@@ -76,10 +76,10 @@ static bool kprobes_all_disarmed; static DEFINE_MUTEX(kprobe_mutex); /* Protects kprobe_table */ static DEFINE_PER_CPU(struct kprobe *, kprobe_instance) = NULL; static struct { @@ -38,7 +42,7 @@ index b7df302..40547e6 100644 { return &(kretprobe_table_locks[hash].lock); } -@@ -410,9 +410,9 @@ void __kprobes recycle_rp_inst(struct kretprobe_instance *ri, +@@ -821,9 +821,9 @@ void __kprobes recycle_rp_inst(struct kretprobe_instance *ri, hlist_del(&ri->hlist); INIT_HLIST_NODE(&ri->hlist); if (likely(rp)) { @@ -50,7 +54,7 @@ index b7df302..40547e6 100644 } else /* Unregistering */ hlist_add_head(&ri->hlist, head); -@@ -422,34 +422,34 @@ void __kprobes kretprobe_hash_lock(struct task_struct *tsk, +@@ -833,34 +833,34 @@ void __kprobes kretprobe_hash_lock(struct task_struct *tsk, struct hlist_head **head, unsigned long *flags) { unsigned long hash = hash_ptr(tsk, KPROBE_HASH_BITS); @@ -93,7 +97,7 @@ index b7df302..40547e6 100644 } /* -@@ -982,12 +982,12 @@ static int __kprobes pre_handler_kretprobe(struct kprobe *p, +@@ -1407,12 +1407,12 @@ static int __kprobes pre_handler_kretprobe(struct kprobe *p, /*TODO: consider to only swap the RA after the last pre_handler fired */ hash = hash_ptr(current, KPROBE_HASH_BITS); @@ -108,7 +112,7 @@ index b7df302..40547e6 100644 ri->rp = rp; ri->task = current; -@@ -1004,7 +1004,7 @@ static int __kprobes pre_handler_kretprobe(struct kprobe *p, +@@ -1429,7 +1429,7 @@ static int __kprobes pre_handler_kretprobe(struct kprobe *p, kretprobe_table_unlock(hash, &flags); } else { rp->nmissed++; @@ -117,7 +121,7 @@ index b7df302..40547e6 100644 } return 0; } -@@ -1040,7 +1040,7 @@ int __kprobes register_kretprobe(struct kretprobe *rp) +@@ -1465,7 +1465,7 @@ int __kprobes register_kretprobe(struct kretprobe *rp) rp->maxactive = num_possible_cpus(); #endif } @@ -126,7 +130,7 @@ index b7df302..40547e6 100644 INIT_HLIST_HEAD(&rp->free_instances); for (i = 0; i < rp->maxactive; i++) { inst = kmalloc(sizeof(struct kretprobe_instance) + -@@ -1227,7 +1227,7 @@ static int __init init_kprobes(void) +@@ -1653,7 +1653,7 @@ static int __init init_kprobes(void) for (i = 0; i < KPROBE_TABLE_SIZE; i++) { INIT_HLIST_HEAD(&kprobe_table[i]); INIT_HLIST_HEAD(&kretprobe_inst_table[i]); @@ -136,5 +140,5 @@ index b7df302..40547e6 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/kthreads-fix-softirq-startup-hang.patch b/kthreads-fix-softirq-startup-hang.patch index 3aed708..a9608af 100644 --- a/kthreads-fix-softirq-startup-hang.patch +++ b/kthreads-fix-softirq-startup-hang.patch @@ -1,4 +1,4 @@ -From e9046c88a629dec6e3aa31fdc459ee14438b1314 Mon Sep 17 00:00:00 2001 +From 87bb117bc729cec2739aac8d16f49b4d28867f0c 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 @@ -10,12 +10,16 @@ schedule_timeout_uninterruptible() might never return when the timer softirq has not been started yet. Use schedule_hrtimeout() instead Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index c19ddb3..b859b1e 100644 +index bb47604..22c233e 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2219,7 +2219,10 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) +@@ -2220,7 +2220,10 @@ unsigned long wait_task_inactive(struct task_struct *p, long match_state) * yield - it could be a while. */ if (unlikely(on_rq)) { @@ -28,5 +32,5 @@ index c19ddb3..b859b1e 100644 } -- -1.7.1.1 +1.7.0.4 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 548f30c..711ecf6 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 99789f24bb9be179efcee5615288779fe2345d53 Mon Sep 17 00:00:00 2001 +From cfbcd78bc50c860fdf4f096394cae53bb8128ded 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 @@ -29,9 +29,12 @@ 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> +--- + virt/kvm/kvm_main.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c -index 548f925..e9dc6c5 100644 +index c82ae24..41db87d 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c @@ -139,7 +139,7 @@ static bool make_all_cpus_request(struct kvm *kvm, unsigned int req) @@ -44,5 +47,5 @@ index 548f925..e9dc6c5 100644 if (test_and_set_bit(req, &vcpu->requests)) continue; -- -1.7.1.1 +1.7.0.4 diff --git a/latencytop-Convert-latency_lock-to-raw_spinlock.patch b/latencytop-Convert-latency_lock-to-raw_spinlock.patch index f35f0f9..f3a7e9f 100644 --- a/latencytop-Convert-latency_lock-to-raw_spinlock.patch +++ b/latencytop-Convert-latency_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 155e4c47bf163f60d3f0eaf34a465d9b3d7552aa Mon Sep 17 00:00:00 2001 +From 69e2c2ae6af68ab499cad3330b6b10c2da1c0949 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 @@ -9,6 +9,10 @@ latency_lock is taken in the guts of the scheduler code and needs to be a real spinlock on RT. convert it to raw_spinlock. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/latencytop.c | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/kernel/latencytop.c b/kernel/latencytop.c index 877fb30..3f89349 100644 @@ -66,5 +70,5 @@ index 877fb30..3f89349 100644 static int lstats_show(struct seq_file *m, void *v) -- -1.7.1.1 +1.7.0.4 diff --git a/lock-debugging-clean-up-rtmutex-debug.h.patch b/lock-debugging-clean-up-rtmutex-debug.h.patch index b867f31..8a3c851 100644 --- a/lock-debugging-clean-up-rtmutex-debug.h.patch +++ b/lock-debugging-clean-up-rtmutex-debug.h.patch @@ -1,4 +1,4 @@ -From cc3ec6debf48ea1a1ad5c9667aba952630da83ea Mon Sep 17 00:00:00 2001 +From c5b66b4a4694cb63ca6581acde00e9f40bde86ab Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:23 -0500 Subject: [PATCH] lock debugging: clean up rtmutex-debug.h @@ -9,6 +9,10 @@ style cleanups. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex-debug.h | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/rtmutex-debug.h b/kernel/rtmutex-debug.h index 14193d5..b031c8a 100644 @@ -39,5 +43,5 @@ index 14193d5..b031c8a 100644 + return waiter != NULL; } -- -1.7.1.1 +1.7.0.4 diff --git a/lockdep-RT-recursion-limit-fix.patch b/lockdep-RT-recursion-limit-fix.patch index ad74383..1e4ebe4 100644 --- a/lockdep-RT-recursion-limit-fix.patch +++ b/lockdep-RT-recursion-limit-fix.patch @@ -1,4 +1,4 @@ -From 026888d186defa1fe305dd47c30345a98f87058e Mon Sep 17 00:00:00 2001 +From 1453465d074b492d8ba3ab87a06cf4493facaa6e 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 @@ -29,12 +29,15 @@ Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/lockdep.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index c62ec14..cf6db46 100644 +index 2594e1c..62921da 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c -@@ -1337,6 +1337,7 @@ print_shortest_lock_dependencies(struct lock_list *leaf, +@@ -1327,6 +1327,7 @@ print_shortest_lock_dependencies(struct lock_list *leaf, return; } @@ -42,7 +45,7 @@ index c62ec14..cf6db46 100644 static int print_bad_irq_dependency(struct task_struct *curr, struct lock_list *prev_root, -@@ -1407,6 +1408,7 @@ print_bad_irq_dependency(struct task_struct *curr, +@@ -1397,6 +1398,7 @@ print_bad_irq_dependency(struct task_struct *curr, return 0; } @@ -51,5 +54,5 @@ index c62ec14..cf6db46 100644 static int check_usage(struct task_struct *curr, struct held_lock *prev, -- -1.7.1.1 +1.7.0.4 diff --git a/lockdep-Reduce-stack_trace-usage.patch b/lockdep-Reduce-stack_trace-usage.patch index 38d4643..04d832b 100644 --- a/lockdep-Reduce-stack_trace-usage.patch +++ b/lockdep-Reduce-stack_trace-usage.patch @@ -1,4 +1,4 @@ -From dfcce6fe107bcf034351226b0a3c557f62310c16 Mon Sep 17 00:00:00 2001 +From 66c8827c323a5fc7ecdaa693581102c70d5f52a8 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 @@ -28,12 +28,16 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100504065711.GC10784@windriver.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/lockdep.c | 29 +++++++++++++++++++++-------- + 1 files changed, 21 insertions(+), 8 deletions(-) diff --git a/kernel/lockdep.c b/kernel/lockdep.c -index c74c909..3e3c8f4 100644 +index 7e04e83..b36af0a 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c -@@ -834,7 +834,8 @@ static struct lock_list *alloc_list_entry(void) +@@ -824,7 +824,8 @@ static struct lock_list *alloc_list_entry(void) * Add a new dependency to the head of the list: */ static int add_lock_to_list(struct lock_class *class, struct lock_class *this, @@ -43,7 +47,7 @@ index c74c909..3e3c8f4 100644 { struct lock_list *entry; /* -@@ -845,11 +846,9 @@ static int add_lock_to_list(struct lock_class *class, struct lock_class *this, +@@ -835,11 +836,9 @@ static int add_lock_to_list(struct lock_class *class, struct lock_class *this, if (!entry) return 0; @@ -56,7 +60,7 @@ index c74c909..3e3c8f4 100644 /* * Since we never remove from the dependency list, the list can * be walked lockless by other CPUs, it's only allocation -@@ -1653,12 +1652,20 @@ check_deadlock(struct task_struct *curr, struct held_lock *next, +@@ -1643,12 +1642,20 @@ check_deadlock(struct task_struct *curr, struct held_lock *next, */ static int check_prev_add(struct task_struct *curr, struct held_lock *prev, @@ -78,7 +82,7 @@ index c74c909..3e3c8f4 100644 /* * Prove that the new <prev> -> <next> dependency would not -@@ -1706,20 +1713,23 @@ check_prev_add(struct task_struct *curr, struct held_lock *prev, +@@ -1696,20 +1703,23 @@ check_prev_add(struct task_struct *curr, struct held_lock *prev, } } @@ -104,7 +108,7 @@ index c74c909..3e3c8f4 100644 if (!ret) return 0; -@@ -1749,6 +1759,7 @@ static int +@@ -1739,6 +1749,7 @@ static int check_prevs_add(struct task_struct *curr, struct held_lock *next) { int depth = curr->lockdep_depth; @@ -112,7 +116,7 @@ index c74c909..3e3c8f4 100644 struct held_lock *hlock; /* -@@ -1774,7 +1785,8 @@ check_prevs_add(struct task_struct *curr, struct held_lock *next) +@@ -1764,7 +1775,8 @@ check_prevs_add(struct task_struct *curr, struct held_lock *next) * added: */ if (hlock->read != 2) { @@ -122,7 +126,7 @@ index c74c909..3e3c8f4 100644 return 0; /* * Stop after the first non-trylock entry, -@@ -1797,6 +1809,7 @@ check_prevs_add(struct task_struct *curr, struct held_lock *next) +@@ -1787,6 +1799,7 @@ check_prevs_add(struct task_struct *curr, struct held_lock *next) if (curr->held_locks[depth].irq_context != curr->held_locks[depth-1].irq_context) break; @@ -131,5 +135,5 @@ index c74c909..3e3c8f4 100644 return 1; out_bug: -- -1.7.1.1 +1.7.0.4 diff --git a/lockdep-add-no_validate-class.patch b/lockdep-add-no_validate-class.patch index 2c0bf14..80631c4 100644 --- a/lockdep-add-no_validate-class.patch +++ b/lockdep-add-no_validate-class.patch @@ -1,4 +1,4 @@ -From f299b2c1c7057482c34f44fe41a051ae437adcc7 Mon Sep 17 00:00:00 2001 +From ca530bb3a0d4fbadc46607ace3082d7a5fb89620 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 @@ -28,12 +28,17 @@ 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> +--- + drivers/base/core.c | 1 + + include/linux/lockdep.h | 8 ++++++++ + kernel/lockdep.c | 14 ++++++++++++++ + 3 files changed, 23 insertions(+), 0 deletions(-) diff --git a/drivers/base/core.c b/drivers/base/core.c -index 004302c..5e2950a 100644 +index 45eb57f..00d1425 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -564,6 +564,7 @@ void device_initialize(struct device *dev) +@@ -559,6 +559,7 @@ void device_initialize(struct device *dev) kobject_init(&dev->kobj, &device_ktype); INIT_LIST_HEAD(&dev->dma_pools); mutex_init(&dev->mutex); @@ -42,10 +47,10 @@ index 004302c..5e2950a 100644 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 +index a03977a..06aed83 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h -@@ -40,6 +40,8 @@ struct lock_class_key { +@@ -44,6 +44,8 @@ struct lock_class_key { struct lockdep_subclass_key subkeys[MAX_LOCKDEP_SUBCLASSES]; }; @@ -54,7 +59,7 @@ index 9ccf0e2..528620e 100644 #define LOCKSTAT_POINTS 4 /* -@@ -266,6 +268,9 @@ extern void lockdep_init_map(struct lockdep_map *lock, const char *name, +@@ -270,6 +272,9 @@ extern void lockdep_init_map(struct lockdep_map *lock, const char *name, #define lockdep_set_subclass(lock, sub) \ lockdep_init_map(&(lock)->dep_map, #lock, \ (lock)->dep_map.key, sub) @@ -64,7 +69,7 @@ index 9ccf0e2..528620e 100644 /* * Compare locking classes */ -@@ -350,6 +355,9 @@ static inline void lockdep_on(void) +@@ -354,6 +359,9 @@ static inline void lockdep_on(void) #define lockdep_set_class_and_subclass(lock, key, sub) \ do { (void)(key); } while (0) #define lockdep_set_subclass(lock, sub) do { } while (0) @@ -75,10 +80,10 @@ 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 cf6db46..1199bda 100644 +index 62921da..32a21cc 100644 --- a/kernel/lockdep.c +++ b/kernel/lockdep.c -@@ -805,6 +805,12 @@ out_unlock_set: +@@ -795,6 +795,12 @@ out_unlock_set: return class; } @@ -91,7 +96,7 @@ index cf6db46..1199bda 100644 #ifdef CONFIG_PROVE_LOCKING /* * Allocate a lockdep entry. (assumes the graph_lock held, returns -@@ -2718,6 +2724,8 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name, +@@ -2708,6 +2714,8 @@ void lockdep_init_map(struct lockdep_map *lock, const char *name, } EXPORT_SYMBOL_GPL(lockdep_init_map); @@ -100,7 +105,7 @@ index cf6db46..1199bda 100644 /* * This gets called for every mutex_lock*()/spin_lock*() operation. * We maintain the dependency maps and validate the locking attempt: -@@ -2752,6 +2760,9 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, +@@ -2742,6 +2750,9 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass, return 0; } @@ -110,7 +115,7 @@ index cf6db46..1199bda 100644 if (!subclass) class = lock->class_cache; /* -@@ -3597,6 +3608,9 @@ void lockdep_init(void) +@@ -3584,6 +3595,9 @@ void lockdep_init(void) for (i = 0; i < CHAINHASH_SIZE; i++) INIT_LIST_HEAD(chainhash_table + i); @@ -121,5 +126,5 @@ index cf6db46..1199bda 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/locking-selftest-add-RT-workarounds.patch b/locking-selftest-add-RT-workarounds.patch index 228df15..d5b7ac2 100644 --- a/locking-selftest-add-RT-workarounds.patch +++ b/locking-selftest-add-RT-workarounds.patch @@ -1,4 +1,4 @@ -From b04af1be28e4f489dbf8dec6069e028af1dc1224 Mon Sep 17 00:00:00 2001 +From 5c1d800a8210a2f6161f272428388b70e6b5044f 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. @@ -26,12 +26,15 @@ 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> +--- + init/main.c | 11 ++++++++++- + 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/init/main.c b/init/main.c -index 4445c08..8f95889 100644 +index 36649af..be970e7 100644 --- a/init/main.c +++ b/init/main.c -@@ -623,7 +623,16 @@ asmlinkage void __init start_kernel(void) +@@ -640,7 +640,16 @@ asmlinkage void __init start_kernel(void) * to self-test [hard/soft]-irqs on/off lock inversion bugs * too: */ @@ -50,5 +53,5 @@ index 4445c08..8f95889 100644 #ifdef CONFIG_BLK_DEV_INITRD if (initrd_start && !initrd_below_start_ok && -- -1.7.1.1 +1.7.0.4 diff --git a/locks-provide-__DEFINE_SPINLOCK-needed-by-percpu_loc.patch b/locks-provide-__DEFINE_SPINLOCK-needed-by-percpu_loc.patch index 16f767f..78fecc5 100644 --- a/locks-provide-__DEFINE_SPINLOCK-needed-by-percpu_loc.patch +++ b/locks-provide-__DEFINE_SPINLOCK-needed-by-percpu_loc.patch @@ -1,4 +1,4 @@ -From 41a7eec23e5f35a686344b0852bc3eb8f36ce7e8 Mon Sep 17 00:00:00 2001 +From 31fa6bf98b7ba9ce77564f0898341d41ed97f2d2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 29 Jul 2009 21:38:32 +0200 Subject: [PATCH] locks: provide __DEFINE_SPINLOCK needed by percpu_locked @@ -9,6 +9,9 @@ commit 6cffa489da202a02a4ca453d8086b62f51833ce7 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/spinlock_types.h | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/linux/spinlock_types.h b/include/linux/spinlock_types.h index 851b778..aadd590 100644 @@ -23,5 +26,5 @@ index 851b778..aadd590 100644 #include <linux/rwlock_types.h> -- -1.7.1.1 +1.7.0.4 diff --git a/make-takeover_delayed_drop-depend-on-HOTPLUG_CPU.patch b/make-takeover_delayed_drop-depend-on-HOTPLUG_CPU.patch index 2dc1abd..080b9b3 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 47dd96605da943fe8d5867a60a86d448213da9e6 Mon Sep 17 00:00:00 2001 +From 1e1ef11ee06bffa4e528ebe2de495ebf8b3b0533 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 @@ -28,12 +28,15 @@ 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> +--- + kernel/fork.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/kernel/fork.c b/kernel/fork.c -index f9cb88c..6dc8e27 100644 +index 0c5ca88..324cf5c 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1844,6 +1844,7 @@ void __mmdrop_delayed(struct mm_struct *mm) +@@ -1822,6 +1822,7 @@ void __mmdrop_delayed(struct mm_struct *mm) put_cpu_var(delayed_drop_list); } @@ -41,7 +44,7 @@ index f9cb88c..6dc8e27 100644 static void takeover_delayed_drop(int hotcpu) { struct list_head *head = &per_cpu(delayed_drop_list, hotcpu); -@@ -1856,6 +1857,7 @@ static void takeover_delayed_drop(int hotcpu) +@@ -1834,6 +1835,7 @@ static void takeover_delayed_drop(int hotcpu) __mmdrop_delayed(mm); } } @@ -50,5 +53,5 @@ index f9cb88c..6dc8e27 100644 static int desched_thread(void * __bind_cpu) { -- -1.7.1.1 +1.7.0.4 diff --git a/mips-Prepare-decoupling-page-fault-logic-from-preemp.patch b/mips-Prepare-decoupling-page-fault-logic-from-preemp.patch index f3caef8..228ed64 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 c2dd6ba895528e08d5c82dcbcabaac47ae9d5fc9 Mon Sep 17 00:00:00 2001 +From 20c01f806686dfbff0710817ca46d022ddff8eb2 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 @@ -6,9 +6,14 @@ Subject: [PATCH] mips: Prepare decoupling page-fault logic from preempt-count commit 6408db29f29fe5a2f6d385a9957b113ac766a921 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/mips/mm/fault.c | 2 +- + arch/mips/mm/highmem.c | 5 ++++- + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/arch/mips/mm/fault.c b/arch/mips/mm/fault.c -index e97a7a2..589f1b9 100644 +index b78f7d9..1c762e4 100644 --- a/arch/mips/mm/fault.c +++ b/arch/mips/mm/fault.c @@ -75,7 +75,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long write, @@ -58,5 +63,5 @@ index 127d732..384159b 100644 debug_kmap_atomic(type); -- -1.7.1.1 +1.7.0.4 diff --git a/mm-Allow-only-slab-on-RT.patch b/mm-Allow-only-slab-on-RT.patch index b530326..844f422 100644 --- a/mm-Allow-only-slab-on-RT.patch +++ b/mm-Allow-only-slab-on-RT.patch @@ -1,4 +1,4 @@ -From 27fc123267a6cf8479088c5fbfbe160a7f1558ee Mon Sep 17 00:00:00 2001 +From f032845cf1f160b05480228da1aa70e810d07e94 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 @@ -7,12 +7,16 @@ commit 8214e2fa9466234119ede2378403f065733d67f2 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/Kconfig | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/init/Kconfig b/init/Kconfig -index 9a50980..5cc0442 100644 +index c1fa035..a50d3ea 100644 --- a/init/Kconfig +++ b/init/Kconfig -@@ -1072,6 +1072,7 @@ config SLAB +@@ -1055,6 +1055,7 @@ config SLAB config SLUB bool "SLUB (Unqueued Allocator)" @@ -21,5 +25,5 @@ index 9a50980..5cc0442 100644 SLUB is a slab allocator that minimizes cache line usage instead of managing queues of cached objects (SLAB approach). -- -1.7.1.1 +1.7.0.4 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 82e293f..a4f6f43 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 9aff13a2d72afa6e5cfe232ff3e82e960ee117e7 Mon Sep 17 00:00:00 2001 +From ef9956380360aaffd9ca9dde20d8a74f22c4cc8c 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 @@ -116,12 +116,16 @@ variable. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> LKML-Reference: <1252034522-32653-1-git-send-email-wuzhangjin@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/swap.c | 11 ++++++----- + 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/mm/swap.c b/mm/swap.c -index 608bce3..a4de467 100644 +index 3f917bb..fbabfc3 100644 --- a/mm/swap.c +++ b/mm/swap.c -@@ -95,12 +95,13 @@ static DEFINE_PER_CPU(struct pagevec, lru_rotate_pvecs); +@@ -96,12 +96,13 @@ static DEFINE_PER_CPU(struct pagevec, lru_rotate_pvecs); local_irq_restore(flags) #define swap_get_cpu_var(var, cpu) \ @@ -141,5 +145,5 @@ index 608bce3..a4de467 100644 #define swap_per_cpu_lock(var, cpu) &per_cpu(var, cpu) -- -1.7.1.1 +1.7.0.4 diff --git a/mm-More-lock-breaks-in-slab.c.patch b/mm-More-lock-breaks-in-slab.c.patch index 49eb318..b7f05af 100644 --- a/mm-More-lock-breaks-in-slab.c.patch +++ b/mm-More-lock-breaks-in-slab.c.patch @@ -1,4 +1,4 @@ -From d088d25ae924b8ae99f5483b61d79337065907de Mon Sep 17 00:00:00 2001 +From 7034ac58dbaafff9a12b61f813ec620ace39c917 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 @@ -10,9 +10,13 @@ lock contention on the percpu slab locks in -rt significantly. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/slab.c | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------ + 1 files changed, 46 insertions(+), 12 deletions(-) diff --git a/mm/slab.c b/mm/slab.c -index b99df7f..4641c47 100644 +index ac90a26..e939a38 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 +71,7 @@ index b99df7f..4641c47 100644 } # define slab_irq_save(flags, cpu) \ -@@ -1520,6 +1538,12 @@ void __init kmem_cache_init(void) +@@ -1517,6 +1535,12 @@ void __init kmem_cache_init(void) int order; int node; @@ -80,7 +84,7 @@ index b99df7f..4641c47 100644 if (num_possible_nodes() == 1) use_alien_caches = 0; -@@ -1794,12 +1818,14 @@ static void *kmem_getpages(struct kmem_cache *cachep, gfp_t flags, int nodeid) +@@ -1791,12 +1815,14 @@ static void *kmem_getpages(struct kmem_cache *cachep, gfp_t flags, int nodeid) /* * Interface to system's page release. */ @@ -97,7 +101,7 @@ index b99df7f..4641c47 100644 kmemcheck_free_shadow(page, cachep->gfporder); if (cachep->flags & SLAB_RECLAIM_ACCOUNT) -@@ -1808,6 +1834,7 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) +@@ -1805,6 +1831,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 +109,7 @@ index b99df7f..4641c47 100644 while (i--) { BUG_ON(!PageSlab(page)); __ClearPageSlab(page); -@@ -1815,6 +1842,13 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) +@@ -1812,6 +1839,13 @@ static void kmem_freepages(struct kmem_cache *cachep, void *addr) } if (current->reclaim_state) current->reclaim_state->reclaimed_slab += nr_freed; @@ -119,7 +123,7 @@ index b99df7f..4641c47 100644 free_pages((unsigned long)addr, cachep->gfporder); } -@@ -1823,7 +1857,7 @@ static void kmem_rcu_free(struct rcu_head *head) +@@ -1820,7 +1854,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 +132,7 @@ index b99df7f..4641c47 100644 if (OFF_SLAB(cachep)) kmem_cache_free(cachep->slabp_cache, slab_rcu); } -@@ -2060,7 +2094,7 @@ slab_destroy(struct kmem_cache *cachep, struct slab *slabp, int *this_cpu) +@@ -2057,7 +2091,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 +141,7 @@ index b99df7f..4641c47 100644 if (OFF_SLAB(cachep)) { if (this_cpu) __cache_free(cachep->slabp_cache, slabp, this_cpu); -@@ -2598,9 +2632,9 @@ slab_on_each_cpu(void (*func)(void *arg, int this_cpu), void *arg) +@@ -2595,9 +2629,9 @@ slab_on_each_cpu(void (*func)(void *arg, int this_cpu), void *arg) check_irq_on(); for_each_online_cpu(i) { @@ -149,7 +153,7 @@ index b99df7f..4641c47 100644 } } #else -@@ -2991,7 +3025,7 @@ static int cache_grow(struct kmem_cache *cachep, gfp_t flags, int nodeid, +@@ -2988,7 +3022,7 @@ static int cache_grow(struct kmem_cache *cachep, gfp_t flags, int nodeid, spin_unlock(&l3->list_lock); return 1; opps1: @@ -159,5 +163,5 @@ index b99df7f..4641c47 100644 slab_irq_disable_GFP_WAIT(local_flags, this_cpu); return 0; -- -1.7.1.1 +1.7.0.4 diff --git a/mm-Prepare-decoupling-the-page-fault-disabling-logic.patch b/mm-Prepare-decoupling-the-page-fault-disabling-logic.patch index 1c9dde7..97bbbb2 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 f607d9d941185d9c42df03e8af9dddcd5ca1e499 Mon Sep 17 00:00:00 2001 +From 057de3e45b5e87c9f4bf0d75b055999a65a85ea9 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 @@ -11,6 +11,12 @@ the pagefault-disabled logic from the preempt count. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 1 + + include/linux/uaccess.h | 33 +++------------------------------ + kernel/fork.c | 1 + + mm/memory.c | 29 +++++++++++++++++++++++++++++ + 4 files changed, 34 insertions(+), 30 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h index 53e6ffe..bdcdabd 100644 @@ -122,5 +128,5 @@ index 90f674e..17056a3 100644 * By the time we get here, we already hold the mm semaphore */ -- -1.7.4 +1.7.0.4 diff --git a/mm-Remove-preempt-count-from-pagefault-disable-enabl.patch b/mm-Remove-preempt-count-from-pagefault-disable-enabl.patch index bd2fb2e..5bbfc3f 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 23f9f103d00003bfb007edc9a08aca7bee6e5be5 Mon Sep 17 00:00:00 2001 +From d86582337d118fd458dbdd1fedbeb8a1082c78d8 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 @@ -8,12 +8,16 @@ commit e34d6077d0c482847728eea55ecdb1eb715042b1 in tip. Now that all users are cleaned up, we can remove the preemption count. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/memory.c | 7 ------- + 1 files changed, 0 insertions(+), 7 deletions(-) diff --git a/mm/memory.c b/mm/memory.c -index 2c58057..fef5225 100644 +index 17056a3..6b45a97 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -3013,7 +3013,6 @@ unlock: +@@ -3109,7 +3109,6 @@ unlock: void pagefault_disable(void) { @@ -21,7 +25,7 @@ index 2c58057..fef5225 100644 current->pagefault_disabled++; /* * make sure to have issued the store before a pagefault -@@ -3031,12 +3030,6 @@ void pagefault_enable(void) +@@ -3127,12 +3126,6 @@ void pagefault_enable(void) */ barrier(); current->pagefault_disabled--; @@ -35,5 +39,5 @@ index 2c58057..fef5225 100644 EXPORT_SYMBOL(pagefault_enable); -- -1.7.1.1 +1.7.0.4 diff --git a/mm-Replace-cgroup_page-bit-spinlock.patch b/mm-Replace-cgroup_page-bit-spinlock.patch index 4f32d65..0dad84a 100644 --- a/mm-Replace-cgroup_page-bit-spinlock.patch +++ b/mm-Replace-cgroup_page-bit-spinlock.patch @@ -1,4 +1,4 @@ -From cd33eb9b76a7fdbe81b75c92b50fd407e44faed8 Mon Sep 17 00:00:00 2001 +From a2dad7e3d65db0e4eecdc89794d845e2ccef2f33 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 19 Aug 2009 09:56:42 +0200 Subject: [PATCH] mm: Replace cgroup_page bit spinlock @@ -9,9 +9,13 @@ Bit spinlocks are not working on RT. Replace them. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/page_cgroup.h | 5 +++-- + mm/page_cgroup.c | 1 + + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/page_cgroup.h b/include/linux/page_cgroup.h -index b0e4eb1..491e776 100644 +index aef22ae..f725d58 100644 --- a/include/linux/page_cgroup.h +++ b/include/linux/page_cgroup.h @@ -12,6 +12,7 @@ @@ -22,7 +26,7 @@ index b0e4eb1..491e776 100644 struct mem_cgroup *mem_cgroup; struct page *page; struct list_head lru; /* per cgroup LRU list */ -@@ -85,12 +86,12 @@ static inline enum zone_type page_cgroup_zid(struct page_cgroup *pc) +@@ -91,12 +92,12 @@ static inline enum zone_type page_cgroup_zid(struct page_cgroup *pc) static inline void lock_page_cgroup(struct page_cgroup *pc) { @@ -38,7 +42,7 @@ index b0e4eb1..491e776 100644 #else /* CONFIG_CGROUP_MEM_RES_CTLR */ diff --git a/mm/page_cgroup.c b/mm/page_cgroup.c -index 3d535d5..54facf0 100644 +index 6c00814..d1a0982 100644 --- a/mm/page_cgroup.c +++ b/mm/page_cgroup.c @@ -14,6 +14,7 @@ static void __meminit @@ -50,5 +54,5 @@ index 3d535d5..54facf0 100644 pc->page = pfn_to_page(pfn); INIT_LIST_HEAD(&pc->lru); -- -1.7.1.1 +1.7.0.4 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 122cb9e..b0231ee 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 1684df2ad25964a7fa192cefac10ea28b7f6946a Mon Sep 17 00:00:00 2001 +From 15026cf66581ff508810daeeb77fd970c3fc8531 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 @@ -16,9 +16,12 @@ This patch contains fixes from Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/slab.c | 536 ++++++++++++++++++++++++++++++++++++++++++------------------- + 1 files changed, 374 insertions(+), 162 deletions(-) diff --git a/mm/slab.c b/mm/slab.c -index a9f325b..3164b8d 100644 +index bac0f4f..ac90a26 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -121,6 +121,120 @@ @@ -1049,7 +1052,7 @@ index a9f325b..3164b8d 100644 ac->entry[ac->avail++] = objp; } } -@@ -3754,13 +3942,14 @@ EXPORT_SYMBOL(__kmalloc); +@@ -3743,13 +3931,14 @@ EXPORT_SYMBOL(__kmalloc); void kmem_cache_free(struct kmem_cache *cachep, void *objp) { unsigned long flags; @@ -1067,7 +1070,7 @@ index a9f325b..3164b8d 100644 trace_kmem_cache_free(_RET_IP_, objp); } -@@ -3779,18 +3968,19 @@ void kfree(const void *objp) +@@ -3768,18 +3957,19 @@ void kfree(const void *objp) { struct kmem_cache *c; unsigned long flags; @@ -1090,7 +1093,7 @@ index a9f325b..3164b8d 100644 } EXPORT_SYMBOL(kfree); -@@ -3811,7 +4001,7 @@ EXPORT_SYMBOL_GPL(kmem_cache_name); +@@ -3800,7 +3990,7 @@ EXPORT_SYMBOL_GPL(kmem_cache_name); */ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) { @@ -1099,7 +1102,7 @@ index a9f325b..3164b8d 100644 struct kmem_list3 *l3; struct array_cache *new_shared; struct array_cache **new_alien = NULL; -@@ -3839,11 +4029,11 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) +@@ -3828,11 +4018,11 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) if (l3) { struct array_cache *shared = l3->shared; @@ -1113,7 +1116,7 @@ index a9f325b..3164b8d 100644 l3->shared = new_shared; if (!l3->alien) { -@@ -3852,7 +4042,7 @@ static int alloc_kmemlist(struct kmem_cache *cachep, gfp_t gfp) +@@ -3841,7 +4031,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 +1125,7 @@ index a9f325b..3164b8d 100644 kfree(shared); free_alien_cache(new_alien); continue; -@@ -3899,24 +4089,36 @@ struct ccupdate_struct { +@@ -3888,24 +4078,36 @@ struct ccupdate_struct { struct array_cache *new[NR_CPUS]; }; @@ -1164,7 +1167,7 @@ index a9f325b..3164b8d 100644 new = kzalloc(sizeof(*new), gfp); if (!new) -@@ -3934,7 +4136,7 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, +@@ -3923,7 +4125,7 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, } new->cachep = cachep; @@ -1173,7 +1176,7 @@ index a9f325b..3164b8d 100644 check_irq_on(); cachep->batchcount = batchcount; -@@ -3945,9 +4147,12 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, +@@ -3934,9 +4136,12 @@ static int do_tune_cpucache(struct kmem_cache *cachep, int limit, struct array_cache *ccold = new->new[i]; if (!ccold) continue; @@ -1189,7 +1192,7 @@ index a9f325b..3164b8d 100644 kfree(ccold); } kfree(new); -@@ -4012,29 +4217,31 @@ static int enable_cpucache(struct kmem_cache *cachep, gfp_t gfp) +@@ -4001,29 +4206,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 +1231,7 @@ index a9f325b..3164b8d 100644 } /** -@@ -4051,10 +4258,11 @@ void drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, +@@ -4040,10 +4247,11 @@ void drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, */ static void cache_reap(struct work_struct *w) { @@ -1241,7 +1244,7 @@ index a9f325b..3164b8d 100644 if (!mutex_trylock(&cache_chain_mutex)) /* Give up. Setup the next iteration. */ -@@ -4070,9 +4278,12 @@ static void cache_reap(struct work_struct *w) +@@ -4059,9 +4267,12 @@ static void cache_reap(struct work_struct *w) */ l3 = searchp->nodelists[node]; @@ -1256,7 +1259,7 @@ index a9f325b..3164b8d 100644 /* * These are racy checks but it does not matter -@@ -4083,7 +4294,7 @@ static void cache_reap(struct work_struct *w) +@@ -4072,7 +4283,7 @@ static void cache_reap(struct work_struct *w) l3->next_reap = jiffies + REAPTIMEOUT_LIST3; @@ -1265,7 +1268,7 @@ index a9f325b..3164b8d 100644 if (l3->free_touched) l3->free_touched = 0; -@@ -4102,7 +4313,8 @@ next: +@@ -4091,7 +4302,8 @@ next: next_reap_node(); out: /* Set up the next iteration */ @@ -1275,7 +1278,7 @@ index a9f325b..3164b8d 100644 } #ifdef CONFIG_SLABINFO -@@ -4161,7 +4373,7 @@ static int s_show(struct seq_file *m, void *p) +@@ -4150,7 +4362,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 +1287,7 @@ index a9f325b..3164b8d 100644 struct kmem_list3 *l3; active_objs = 0; -@@ -4172,7 +4384,7 @@ static int s_show(struct seq_file *m, void *p) +@@ -4161,7 +4373,7 @@ static int s_show(struct seq_file *m, void *p) continue; check_irq_on(); @@ -1293,7 +1296,7 @@ index a9f325b..3164b8d 100644 list_for_each_entry(slabp, &l3->slabs_full, list) { if (slabp->inuse != cachep->num && !error) -@@ -4197,7 +4409,7 @@ static int s_show(struct seq_file *m, void *p) +@@ -4186,7 +4398,7 @@ static int s_show(struct seq_file *m, void *p) if (l3->shared) shared_avail += l3->shared->avail; @@ -1302,7 +1305,7 @@ index a9f325b..3164b8d 100644 } num_slabs += active_slabs; num_objs = num_slabs * cachep->num; -@@ -4407,7 +4619,7 @@ static int leaks_show(struct seq_file *m, void *p) +@@ -4396,7 +4608,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 +1314,7 @@ index a9f325b..3164b8d 100644 int i; if (!(cachep->flags & SLAB_STORE_USER)) -@@ -4425,13 +4637,13 @@ static int leaks_show(struct seq_file *m, void *p) +@@ -4414,13 +4626,13 @@ static int leaks_show(struct seq_file *m, void *p) continue; check_irq_on(); @@ -1328,5 +1331,5 @@ index a9f325b..3164b8d 100644 name = cachep->name; if (n[0] == n[1]) { -- -1.7.1.1 +1.7.0.4 diff --git a/mm-convert-swap-to-percpu-locked.patch b/mm-convert-swap-to-percpu-locked.patch index dcefff7..a1a5a29 100644 --- a/mm-convert-swap-to-percpu-locked.patch +++ b/mm-convert-swap-to-percpu-locked.patch @@ -1,4 +1,4 @@ -From e066330e77d0ce1022844b4a3d113aba90ac7a1c Mon Sep 17 00:00:00 2001 +From f89676f49837d6c07263c84bfa6574d2f85a3d1a 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 @@ -7,6 +7,10 @@ commit f8382688911469d60a31cb2b1ebe378d46dc790e in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/swap.c | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++------- + 1 files changed, 94 insertions(+), 13 deletions(-) diff --git a/mm/swap.c b/mm/swap.c index 7cd60bf..3f917bb 100644 @@ -190,5 +194,5 @@ index 7cd60bf..3f917bb 100644 if (zone) spin_unlock_irqrestore(&zone->lru_lock, flags); -- -1.7.1.1 +1.7.0.4 diff --git a/mm-highmem-Fix-stale-BUG_ON-condition.patch b/mm-highmem-Fix-stale-BUG_ON-condition.patch index 2dd3c15..b2f072f 100644 --- a/mm-highmem-Fix-stale-BUG_ON-condition.patch +++ b/mm-highmem-Fix-stale-BUG_ON-condition.patch @@ -1,4 +1,4 @@ -From fb301a41bcc424d7fb704fe2b67ac893f78ba2a9 Mon Sep 17 00:00:00 2001 +From e69f54217d07daed4225bfc577c93530f3828d20 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 3 Mar 2010 18:06:30 +0100 Subject: [PATCH] mm: highmem: Fix stale BUG_ON condition @@ -9,9 +9,13 @@ Fixup the leftover of the highmem rewrite. Reported-by: Fernando Lopez-Lezcano <nando@ccrma.stanford.edu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/highmem.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/mm/highmem.c b/mm/highmem.c -index 1b534a8..887a487 100644 +index 9164c02..470492a 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -531,7 +531,7 @@ static int __set_page_address(struct page *page, void *virtual, int pos) @@ -24,5 +28,5 @@ index 1b534a8..887a487 100644 pas = page_slot(page); -- -1.7.1.1 +1.7.0.4 diff --git a/mm-include-linux-interrupt.h-in-mm-bounce.c.patch b/mm-include-linux-interrupt.h-in-mm-bounce.c.patch index 88bf482..03a76ff 100644 --- a/mm-include-linux-interrupt.h-in-mm-bounce.c.patch +++ b/mm-include-linux-interrupt.h-in-mm-bounce.c.patch @@ -1,4 +1,4 @@ -From f0a70874ec0f4d70e53e19b50922cb24a9e80008 Mon Sep 17 00:00:00 2001 +From a5775318f7b1b10e6098a3757104b9001e1d1004 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de> Date: Sun, 9 Aug 2009 11:36:38 +0200 Subject: [PATCH] mm: include linux/interrupt.h in mm/bounce.c @@ -20,12 +20,16 @@ Cc: Jens Axboe <jens.axboe@oracle.com> Cc: Li Zefan <lizf@cn.fujitsu.com> LKML-Reference: <1249810600-21946-1-git-send-email-u.kleine-koenig@pengutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/bounce.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/mm/bounce.c b/mm/bounce.c -index 2fd099c..4a91eed 100644 +index 791834e..6457d66 100644 --- a/mm/bounce.c +++ b/mm/bounce.c -@@ -13,6 +13,7 @@ +@@ -14,6 +14,7 @@ #include <linux/init.h> #include <linux/hash.h> #include <linux/highmem.h> @@ -34,5 +38,5 @@ index 2fd099c..4a91eed 100644 #include <trace/events/block.h> -- -1.7.1.1 +1.7.0.4 diff --git a/mm-kmap-scale-fix.patch b/mm-kmap-scale-fix.patch index b5e5983..ded76ce 100644 --- a/mm-kmap-scale-fix.patch +++ b/mm-kmap-scale-fix.patch @@ -1,4 +1,4 @@ -From cb08ce512495154b3075d6f7fa05801b89749997 Mon Sep 17 00:00:00 2001 +From 770c1e8c86da389d6bd2af723d8eede58766b0b9 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 @@ -16,12 +16,16 @@ have a look at the logic this patch adds? Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 1 + + mm/highmem.c | 99 ++++++++++++++++++++++++++++++++++++++++++++----- + 2 files changed, 90 insertions(+), 10 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index f743779..1552624 100644 +index 898f7f1..87565f8 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1839,6 +1839,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * +@@ -1778,6 +1778,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 */ @@ -30,7 +34,7 @@ index f743779..1552624 100644 #define PF_MCE_PROCESS 0x00000080 /* process policy on mce errors */ #define PF_SUPERPRIV 0x00000100 /* used super-user privileges */ diff --git a/mm/highmem.c b/mm/highmem.c -index b8a833a..446b75c 100644 +index 197e1a2..2cc0034 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -31,6 +31,8 @@ @@ -221,5 +225,5 @@ index b8a833a..446b75c 100644 #ifdef HASHED_PAGE_VIRTUAL -- -1.7.1.1 +1.7.0.4 diff --git a/mm-make-vmstat-rt-aware.patch b/mm-make-vmstat-rt-aware.patch index d63e061..6a19212 100644 --- a/mm-make-vmstat-rt-aware.patch +++ b/mm-make-vmstat-rt-aware.patch @@ -1,4 +1,4 @@ -From a2ed80549e96cdd31551fc9757850cb6deec710a Mon Sep 17 00:00:00 2001 +From 41a1bf7d5c1d5f10561d32a2750f9488f37336a6 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: make vmstat -rt aware @@ -8,6 +8,10 @@ commit 4734c21672244d21bb667e6179c1acee54f8640d in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/vmstat.h | 10 ++++++++++ + mm/vmstat.c | 20 ++++++++++++++++---- + 2 files changed, 26 insertions(+), 4 deletions(-) diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h index 117f0dd..1463fc7 100644 @@ -40,10 +44,10 @@ index 117f0dd..1463fc7 100644 static inline void count_vm_events(enum vm_event_item item, long delta) diff --git a/mm/vmstat.c b/mm/vmstat.c -index fc5aa18..cc39100 100644 +index fa12ea3..2828d29 100644 --- a/mm/vmstat.c +++ b/mm/vmstat.c -@@ -150,8 +150,7 @@ static void refresh_zone_stat_thresholds(void) +@@ -151,8 +151,7 @@ static void refresh_zone_stat_thresholds(void) void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, int delta) { @@ -53,7 +57,7 @@ index fc5aa18..cc39100 100644 s8 *p = pcp->vm_stat_diff + item; long x; -@@ -162,6 +161,7 @@ void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, +@@ -163,6 +162,7 @@ void __mod_zone_page_state(struct zone *zone, enum zone_stat_item item, x = 0; } *p = x; @@ -61,7 +65,7 @@ index fc5aa18..cc39100 100644 } EXPORT_SYMBOL(__mod_zone_page_state); -@@ -204,7 +204,7 @@ EXPORT_SYMBOL(mod_zone_page_state); +@@ -205,7 +205,7 @@ EXPORT_SYMBOL(mod_zone_page_state); */ void __inc_zone_state(struct zone *zone, enum zone_stat_item item) { @@ -70,7 +74,7 @@ index fc5aa18..cc39100 100644 s8 *p = pcp->vm_stat_diff + item; (*p)++; -@@ -215,17 +215,28 @@ void __inc_zone_state(struct zone *zone, enum zone_stat_item item) +@@ -216,17 +216,28 @@ void __inc_zone_state(struct zone *zone, enum zone_stat_item item) zone_page_state_add(*p + overstep, zone, item); *p = -overstep; } @@ -100,7 +104,7 @@ index fc5aa18..cc39100 100644 s8 *p = pcp->vm_stat_diff + item; (*p)--; -@@ -236,6 +247,7 @@ void __dec_zone_state(struct zone *zone, enum zone_stat_item item) +@@ -237,6 +248,7 @@ void __dec_zone_state(struct zone *zone, enum zone_stat_item item) zone_page_state_add(*p - overstep, zone, item); *p = overstep; } @@ -109,5 +113,5 @@ index fc5aa18..cc39100 100644 void __dec_zone_page_state(struct page *page, enum zone_stat_item item) -- -1.7.1.1 +1.7.0.4 diff --git a/mm-memcontrol-preemption-fix.patch b/mm-memcontrol-preemption-fix.patch index 4119098..d80b464 100644 --- a/mm-memcontrol-preemption-fix.patch +++ b/mm-memcontrol-preemption-fix.patch @@ -1,4 +1,4 @@ -From bb89e38ca6a2f72d70b4b4c89359a18c8cb31659 Mon Sep 17 00:00:00 2001 +From 6929d59ae0314653a70193d22cad68cb911ed84a 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,9 +29,12 @@ RT needs to disable preemption explicitely here. Signed-off-by: Carsten Emde <carsten.emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/memcontrol.c | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/mm/memcontrol.c b/mm/memcontrol.c -index f4ede99..2c5b6d6 100644 +index 8a79a6f..ddcedda 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -1363,8 +1363,10 @@ void mem_cgroup_update_file_mapped(struct page *page, int val) @@ -55,5 +58,5 @@ index f4ede99..2c5b6d6 100644 done: unlock_page_cgroup(pc); -- -1.7.1.1 +1.7.0.4 diff --git a/mm-memory-rt.patch b/mm-memory-rt.patch index 4e8fe4b..5888797 100644 --- a/mm-memory-rt.patch +++ b/mm-memory-rt.patch @@ -1,4 +1,4 @@ -From 77583d0c191f2897c2a44cbbce0c4dec050fb3ae Mon Sep 17 00:00:00 2001 +From 7024768ab4465901c2ee847d451809028ef03889 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 @@ -10,12 +10,16 @@ the PREEMPT=n case as well. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/memory.c | 7 +++++-- + 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mm/memory.c b/mm/memory.c -index 09e4b1b..3e88b30 100644 +index 833952d..90f674e 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -974,10 +974,13 @@ static unsigned long unmap_page_range(struct mmu_gather *tlb, +@@ -1062,10 +1062,13 @@ static unsigned long unmap_page_range(struct mmu_gather *tlb, return addr; } @@ -32,5 +36,5 @@ index 09e4b1b..3e88b30 100644 #endif -- -1.7.1.1 +1.7.0.4 diff --git a/mm-page_alloc-reduce-lock-sections-further.patch b/mm-page_alloc-reduce-lock-sections-further.patch index 8f4bc85..72d8f35 100644 --- a/mm-page_alloc-reduce-lock-sections-further.patch +++ b/mm-page_alloc-reduce-lock-sections-further.patch @@ -1,4 +1,4 @@ -From 591cc4d57abee76196a0304ef7e869622251fe29 Mon Sep 17 00:00:00 2001 +From 4568b6013fcbff5a3aa35396a1bac03b1e022f9c Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <a.p.zijlstra@chello.nl> Date: Fri, 3 Jul 2009 08:44:37 -0500 Subject: [PATCH] mm: page_alloc reduce lock sections further @@ -11,6 +11,10 @@ call free_pages_bulk() outside of the percpu page allocator locks. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/list.h | 3 +++ + mm/page_alloc.c | 44 ++++++++++++++++++++++++++++++++++++-------- + 2 files changed, 39 insertions(+), 8 deletions(-) diff --git a/include/linux/list.h b/include/linux/list.h index 8392884..703cd07 100644 @@ -27,10 +31,10 @@ index 8392884..703cd07 100644 * list_for_each - iterate over a list * @pos: the &struct list_head to use as a loop cursor. diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 0d15911..777ac72 100644 +index d870c91..fac0711 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -601,8 +601,9 @@ static void free_pcppages_bulk(struct zone *zone, int count, +@@ -599,8 +599,9 @@ static void free_pcppages_bulk(struct zone *zone, int count, { int migratetype = 0; int batch_free = 0; @@ -41,7 +45,7 @@ index 0d15911..777ac72 100644 zone->all_unreclaimable = 0; zone->pages_scanned = 0; -@@ -632,21 +633,26 @@ static void free_pcppages_bulk(struct zone *zone, int count, +@@ -630,21 +631,26 @@ static void free_pcppages_bulk(struct zone *zone, int count, /* MIGRATE_MOVABLE list may include MIGRATE_RESERVEs */ __free_one_page(page, zone, 0, page_private(page)); trace_mm_page_pcpu_drain(page, 0, page_private(page)); @@ -71,7 +75,7 @@ index 0d15911..777ac72 100644 } static void __free_pages_ok(struct page *page, unsigned int order) -@@ -1041,6 +1047,16 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, +@@ -1039,6 +1045,16 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, return i; } @@ -88,7 +92,7 @@ index 0d15911..777ac72 100644 #ifdef CONFIG_NUMA /* * Called from the vmstat counter updater to drain pagesets of this -@@ -1052,6 +1068,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, +@@ -1050,6 +1066,7 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, */ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) { @@ -96,7 +100,7 @@ index 0d15911..777ac72 100644 unsigned long flags; int to_drain; int this_cpu; -@@ -1061,9 +1078,10 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) +@@ -1059,9 +1076,10 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) to_drain = pcp->batch; else to_drain = pcp->count; @@ -108,7 +112,7 @@ index 0d15911..777ac72 100644 } #endif -@@ -1082,6 +1100,8 @@ static void drain_pages(unsigned int cpu) +@@ -1080,6 +1098,8 @@ static void drain_pages(unsigned int cpu) for_each_populated_zone(zone) { struct per_cpu_pageset *pset; struct per_cpu_pages *pcp; @@ -117,7 +121,7 @@ index 0d15911..777ac72 100644 __lock_cpu_pcp(&flags, cpu); pset = per_cpu_ptr(zone->pageset, cpu); -@@ -1092,9 +1112,11 @@ static void drain_pages(unsigned int cpu) +@@ -1090,9 +1110,11 @@ static void drain_pages(unsigned int cpu) continue; } pcp = &pset->pcp; @@ -130,7 +134,7 @@ index 0d15911..777ac72 100644 } } -@@ -1201,7 +1223,7 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1199,7 +1221,7 @@ void free_hot_cold_page(struct page *page, int cold) struct per_cpu_pages *pcp; unsigned long flags; int migratetype; @@ -139,7 +143,7 @@ index 0d15911..777ac72 100644 trace_mm_page_free_direct(page, 0); kmemcheck_free_shadow(page, 0); -@@ -1247,8 +1269,14 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1245,8 +1267,14 @@ void free_hot_cold_page(struct page *page, int cold) list_add(&page->lru, &pcp->lists[migratetype]); pcp->count++; if (pcp->count >= pcp->high) { @@ -156,5 +160,5 @@ index 0d15911..777ac72 100644 out: -- -1.7.1.1 +1.7.0.4 diff --git a/mm-page_alloc-rt-friendly-per-cpu-pages.patch b/mm-page_alloc-rt-friendly-per-cpu-pages.patch index 2634675..e4aa40e 100644 --- a/mm-page_alloc-rt-friendly-per-cpu-pages.patch +++ b/mm-page_alloc-rt-friendly-per-cpu-pages.patch @@ -1,4 +1,4 @@ -From d7da901ab7d409d7fdd76c9964b07b48675a051c Mon Sep 17 00:00:00 2001 +From fecfaf03f489b00f3d6aeb9aff44774746e549ac Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:37 -0500 Subject: [PATCH] mm: page_alloc: rt-friendly per-cpu pages @@ -18,12 +18,15 @@ Contains fixes from: Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/page_alloc.c | 137 +++++++++++++++++++++++++++++++++++++++++++++++-------- + 1 files changed, 117 insertions(+), 20 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index a8182c8..0d15911 100644 +index d03c946..d870c91 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -187,6 +187,54 @@ static unsigned long __meminitdata dma_reserve; +@@ -188,6 +188,54 @@ static unsigned long __meminitdata dma_reserve; EXPORT_SYMBOL(movable_zone); #endif /* CONFIG_ARCH_POPULATES_NODE_MAP */ @@ -78,7 +81,7 @@ index a8182c8..0d15911 100644 #if MAX_NUMNODES > 1 int nr_node_ids __read_mostly = MAX_NUMNODES; int nr_online_nodes __read_mostly = 1; -@@ -604,8 +652,7 @@ static void free_one_page(struct zone *zone, struct page *page, int order, +@@ -602,8 +650,7 @@ static void free_one_page(struct zone *zone, struct page *page, int order, static void __free_pages_ok(struct page *page, unsigned int order) { unsigned long flags; @@ -88,7 +91,7 @@ index a8182c8..0d15911 100644 int wasMlocked = __TestClearPageMlocked(page); trace_mm_page_free_direct(page, order); -@@ -624,13 +671,13 @@ static void __free_pages_ok(struct page *page, unsigned int order) +@@ -622,13 +669,13 @@ static void __free_pages_ok(struct page *page, unsigned int order) arch_free_page(page, order); kernel_map_pages(page, 1 << order, 0); @@ -105,7 +108,7 @@ index a8182c8..0d15911 100644 } /* -@@ -1007,15 +1054,16 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) +@@ -1005,15 +1052,16 @@ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) { unsigned long flags; int to_drain; @@ -124,7 +127,7 @@ index a8182c8..0d15911 100644 } #endif -@@ -1035,13 +1083,18 @@ static void drain_pages(unsigned int cpu) +@@ -1033,13 +1081,18 @@ static void drain_pages(unsigned int cpu) struct per_cpu_pageset *pset; struct per_cpu_pages *pcp; @@ -145,7 +148,7 @@ index a8182c8..0d15911 100644 } } -@@ -1053,12 +1106,52 @@ void drain_local_pages(void *arg) +@@ -1051,12 +1104,52 @@ void drain_local_pages(void *arg) drain_pages(smp_processor_id()); } @@ -198,7 +201,7 @@ index a8182c8..0d15911 100644 } #ifdef CONFIG_HIBERNATION -@@ -1104,10 +1197,11 @@ void mark_free_pages(struct zone *zone) +@@ -1102,10 +1195,11 @@ void mark_free_pages(struct zone *zone) void free_hot_cold_page(struct page *page, int cold) { struct zone *zone = page_zone(page); @@ -211,7 +214,7 @@ index a8182c8..0d15911 100644 trace_mm_page_free_direct(page, 0); kmemcheck_free_shadow(page, 0); -@@ -1124,12 +1218,13 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1122,12 +1216,13 @@ void free_hot_cold_page(struct page *page, int cold) arch_free_page(page, 0); kernel_map_pages(page, 1, 0); @@ -227,7 +230,7 @@ index a8182c8..0d15911 100644 /* * We only track unmovable, reclaimable and movable on pcp lists. -@@ -1146,7 +1241,6 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1144,7 +1239,6 @@ void free_hot_cold_page(struct page *page, int cold) migratetype = MIGRATE_MOVABLE; } @@ -235,7 +238,7 @@ index a8182c8..0d15911 100644 if (cold) list_add_tail(&page->lru, &pcp->lists[migratetype]); else -@@ -1158,7 +1252,7 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1156,7 +1250,7 @@ void free_hot_cold_page(struct page *page, int cold) } out: @@ -244,7 +247,7 @@ index a8182c8..0d15911 100644 } /* -@@ -1202,15 +1296,18 @@ struct page *buffered_rmqueue(struct zone *preferred_zone, +@@ -1200,15 +1294,18 @@ struct page *buffered_rmqueue(struct zone *preferred_zone, unsigned long flags; struct page *page; int cold = !!(gfp_flags & __GFP_COLD); @@ -266,7 +269,7 @@ index a8182c8..0d15911 100644 if (list_empty(list)) { pcp->count += rmqueue_bulk(zone, 0, pcp->batch, list, -@@ -1240,7 +1337,7 @@ again: +@@ -1238,7 +1335,7 @@ again: */ WARN_ON_ONCE(order > 1); } @@ -275,7 +278,7 @@ index a8182c8..0d15911 100644 page = __rmqueue(zone, order, migratetype); spin_unlock(&zone->lock); if (!page) -@@ -1250,7 +1347,7 @@ again: +@@ -1248,7 +1345,7 @@ again: __count_zone_vm_events(PGALLOC, zone, 1 << order); zone_statistics(preferred_zone, zone); @@ -284,7 +287,7 @@ index a8182c8..0d15911 100644 VM_BUG_ON(bad_range(zone, page)); if (prep_new_page(page, order, gfp_flags)) -@@ -1258,7 +1355,7 @@ again: +@@ -1256,7 +1353,7 @@ again: return page; failed: @@ -294,5 +297,5 @@ index a8182c8..0d15911 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/mm-quicklist-Convert-to-percpu-locked.patch b/mm-quicklist-Convert-to-percpu-locked.patch index 924218b..0a67181 100644 --- a/mm-quicklist-Convert-to-percpu-locked.patch +++ b/mm-quicklist-Convert-to-percpu-locked.patch @@ -1,4 +1,4 @@ -From 3c397d01a8c4299371f50192496ff1cd1fa8e552 Mon Sep 17 00:00:00 2001 +From f6c03c1c5fe8633aa2b622fff539153fb2ca0849 Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Fri, 3 Jul 2009 08:44:05 -0500 Subject: [PATCH] mm: quicklist: Convert to percpu locked @@ -14,6 +14,10 @@ Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/quicklist.h | 27 ++++++++++++++++++--------- + mm/quicklist.c | 15 ++++++--------- + 2 files changed, 24 insertions(+), 18 deletions(-) diff --git a/include/linux/quicklist.h b/include/linux/quicklist.h index bd46643..1bc3d46 100644 @@ -79,10 +83,10 @@ index bd46643..1bc3d46 100644 static inline void quicklist_free(int nr, void (*dtor)(void *), void *pp) diff --git a/mm/quicklist.c b/mm/quicklist.c -index 6633965..b6fb023 100644 +index 2876349..1b1ee21 100644 --- a/mm/quicklist.c +++ b/mm/quicklist.c -@@ -19,7 +19,7 @@ +@@ -20,7 +20,7 @@ #include <linux/module.h> #include <linux/quicklist.h> @@ -91,7 +95,7 @@ index 6633965..b6fb023 100644 #define FRACTION_OF_NODE_MEM 16 -@@ -65,17 +65,14 @@ void quicklist_trim(int nr, void (*dtor)(void *), +@@ -66,17 +66,14 @@ void quicklist_trim(int nr, void (*dtor)(void *), { long pages_to_free; struct quicklist *q; @@ -112,7 +116,7 @@ index 6633965..b6fb023 100644 if (dtor) dtor(p); -@@ -83,7 +80,7 @@ void quicklist_trim(int nr, void (*dtor)(void *), +@@ -84,7 +81,7 @@ void quicklist_trim(int nr, void (*dtor)(void *), pages_to_free--; } } @@ -121,7 +125,7 @@ index 6633965..b6fb023 100644 } unsigned long quicklist_total_size(void) -@@ -93,7 +90,7 @@ unsigned long quicklist_total_size(void) +@@ -94,7 +91,7 @@ unsigned long quicklist_total_size(void) struct quicklist *ql, *q; for_each_online_cpu(cpu) { @@ -131,5 +135,5 @@ index 6633965..b6fb023 100644 count += q->nr_pages; } -- -1.7.1.1 +1.7.0.4 diff --git a/mm-realtime-support.patch b/mm-realtime-support.patch index 3ac9be7..2f1dae9 100644 --- a/mm-realtime-support.patch +++ b/mm-realtime-support.patch @@ -1,4 +1,4 @@ -From 550d97737d7acf2d5e48bff9e8973097164dc0b6 Mon Sep 17 00:00:00 2001 +From 2c7066104b918cd2488dcc7535e1a7c8b0e25636 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 @@ -10,9 +10,18 @@ mmu tlb gather parts from Peter Zijlstra Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/exec.c | 10 ++++---- + include/asm-generic/tlb.h | 51 +++++++++++++++++++++++++++++--------------- + include/linux/mm.h | 2 +- + include/linux/pagevec.h | 2 +- + mm/bounce.c | 4 +- + mm/memory.c | 27 +++++------------------ + mm/mmap.c | 26 ++++++++++++++-------- + 7 files changed, 64 insertions(+), 58 deletions(-) diff --git a/fs/exec.c b/fs/exec.c -index b8d5eb2..2780f61 100644 +index 7c75fe6..ebe8cc2 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -504,7 +504,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) @@ -159,7 +168,7 @@ index e43f976..30f998d 100644 } diff --git a/include/linux/mm.h b/include/linux/mm.h -index 3899395..2fe57e7 100644 +index 462acaf..dd06393 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -761,7 +761,7 @@ int zap_vma_ptes(struct vm_area_struct *vma, unsigned long address, @@ -185,10 +194,10 @@ index bab82f4..0af5218 100644 struct page; struct address_space; diff --git a/mm/bounce.c b/mm/bounce.c -index a2b76a5..2fd099c 100644 +index 13b6dad..791834e 100644 --- a/mm/bounce.c +++ b/mm/bounce.c -@@ -49,11 +49,11 @@ static void bounce_copy_vec(struct bio_vec *to, unsigned char *vfrom) +@@ -50,11 +50,11 @@ static void bounce_copy_vec(struct bio_vec *to, unsigned char *vfrom) unsigned long flags; unsigned char *vto; @@ -203,10 +212,10 @@ index a2b76a5..2fd099c 100644 #else /* CONFIG_HIGHMEM */ diff --git a/mm/memory.c b/mm/memory.c -index 09e4158..e071ce4 100644 +index 7df5899..5649893 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -1104,17 +1104,14 @@ static unsigned long unmap_page_range(struct mmu_gather *tlb, +@@ -1098,17 +1098,14 @@ static unsigned long unmap_page_range(struct mmu_gather *tlb, * ensure that any thus-far unmapped pages are flushed before unmap_vmas() * drops the lock and schedules. */ @@ -225,7 +234,7 @@ index 09e4158..e071ce4 100644 struct mm_struct *mm = vma->vm_mm; mmu_notifier_invalidate_range_start(mm, start_addr, end_addr); -@@ -1135,11 +1132,6 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp, +@@ -1129,11 +1126,6 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp, untrack_pfn_vma(vma, 0, 0); while (start != end) { @@ -237,7 +246,7 @@ index 09e4158..e071ce4 100644 if (unlikely(is_vm_hugetlb_page(vma))) { /* * It is undesirable to test vma->vm_file as it -@@ -1160,7 +1152,7 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp, +@@ -1154,7 +1146,7 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp, start = end; } else @@ -246,7 +255,7 @@ index 09e4158..e071ce4 100644 start, end, &zap_work, details); if (zap_work > 0) { -@@ -1168,19 +1160,13 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp, +@@ -1162,19 +1154,13 @@ unsigned long unmap_vmas(struct mmu_gather **tlbp, break; } @@ -267,7 +276,7 @@ index 09e4158..e071ce4 100644 zap_work = ZAP_BLOCK_SIZE; } } -@@ -1200,16 +1186,15 @@ unsigned long zap_page_range(struct vm_area_struct *vma, unsigned long address, +@@ -1194,16 +1180,15 @@ unsigned long zap_page_range(struct vm_area_struct *vma, unsigned long address, unsigned long size, struct zap_details *details) { struct mm_struct *mm = vma->vm_mm; @@ -288,10 +297,10 @@ index 09e4158..e071ce4 100644 } diff --git a/mm/mmap.c b/mm/mmap.c -index f1b4448..c7fe939 100644 +index 456ec6f..0942006 100644 --- a/mm/mmap.c +++ b/mm/mmap.c -@@ -1820,17 +1820,17 @@ static void unmap_region(struct mm_struct *mm, +@@ -1874,17 +1874,17 @@ static void unmap_region(struct mm_struct *mm, unsigned long start, unsigned long end) { struct vm_area_struct *next = prev? prev->vm_next: mm->mmap; @@ -313,7 +322,7 @@ index f1b4448..c7fe939 100644 } /* -@@ -2054,10 +2054,16 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) +@@ -2109,10 +2109,16 @@ SYSCALL_DEFINE2(munmap, unsigned long, addr, size_t, len) static inline void verify_mm_writelocked(struct mm_struct *mm) { #ifdef CONFIG_DEBUG_VM @@ -332,7 +341,7 @@ index f1b4448..c7fe939 100644 #endif } -@@ -2166,7 +2172,7 @@ EXPORT_SYMBOL(do_brk); +@@ -2221,7 +2227,7 @@ EXPORT_SYMBOL(do_brk); /* Release all mmaps. */ void exit_mmap(struct mm_struct *mm) { @@ -341,7 +350,7 @@ index f1b4448..c7fe939 100644 struct vm_area_struct *vma; unsigned long nr_accounted = 0; unsigned long end; -@@ -2191,14 +2197,14 @@ void exit_mmap(struct mm_struct *mm) +@@ -2246,14 +2252,14 @@ void exit_mmap(struct mm_struct *mm) lru_add_drain(); flush_cache_mm(mm); @@ -360,5 +369,5 @@ index f1b4448..c7fe939 100644 /* * Walk the list again, actually closing and freeing it, -- -1.7.1.1 +1.7.0.4 diff --git a/mm-remove-kmap_lock.patch b/mm-remove-kmap_lock.patch index a855052..e1f7969 100644 --- a/mm-remove-kmap_lock.patch +++ b/mm-remove-kmap_lock.patch @@ -1,4 +1,4 @@ -From 0f8fca28f1876cb884b9254fc30fb6f95321f306 Mon Sep 17 00:00:00 2001 +From 6fa50520721706e3348c789d5e251f4765d013c2 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 @@ -17,12 +17,17 @@ Eradicate global locks. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/mm.h | 32 +++- + mm/highmem.c | 466 +++++++++++++++++++++++++++++----------------------- + 2 files changed, 283 insertions(+), 215 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h -index fc0f76f..9fb57fa 100644 +index 184b2d3..1d42c27 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -597,23 +597,39 @@ static __always_inline void *lowmem_page_address(struct page *page) +@@ -600,23 +600,39 @@ static __always_inline void *lowmem_page_address(struct page *page) #endif #if defined(WANT_PAGE_VIRTUAL) @@ -71,7 +76,7 @@ index fc0f76f..9fb57fa 100644 #endif diff --git a/mm/highmem.c b/mm/highmem.c -index 9c1e627..b8a833a 100644 +index bed8a8b..197e1a2 100644 --- a/mm/highmem.c +++ b/mm/highmem.c @@ -14,6 +14,11 @@ @@ -666,5 +671,5 @@ index 9c1e627..b8a833a 100644 #endif /* defined(CONFIG_HIGHMEM) && !defined(WANT_PAGE_VIRTUAL) */ -- -1.7.1.1 +1.7.0.4 diff --git a/mm-scatterlist-dont-disable-irqs-on-RT.patch b/mm-scatterlist-dont-disable-irqs-on-RT.patch index 1c5b557..79bef36 100644 --- a/mm-scatterlist-dont-disable-irqs-on-RT.patch +++ b/mm-scatterlist-dont-disable-irqs-on-RT.patch @@ -1,4 +1,4 @@ -From d383e1fd1bb91c18e9c2005ee0b9255bf91f7dcd Mon Sep 17 00:00:00 2001 +From 9f4eeafbbd3e20f17574b4b72644d99069b59bcd Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:34 -0500 Subject: [PATCH] mm: scatterlist dont disable irqs on RT @@ -7,6 +7,9 @@ commit a209458a0fc84eeaa483a23787667d8946a42673 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + lib/scatterlist.c | 7 ++++--- + 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/scatterlist.c b/lib/scatterlist.c index 9afa25b..584a7d0 100644 @@ -48,5 +51,5 @@ index 9afa25b..584a7d0 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/mm-shrink-the-page-frame-to-rt-size.patch b/mm-shrink-the-page-frame-to-rt-size.patch index e4fa583..f33b9ae 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 436816bc3897ca0d8b5d486453013dc0e6ffbbdb Mon Sep 17 00:00:00 2001 +From b9eae39bd396087a7b40e07b81f7a9361edc97fc 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 @@ -13,12 +13,17 @@ page-frames. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/mm.h | 72 +++++++++++++++++++++++++++++++++++++++++---- + include/linux/mm_types.h | 4 ++ + 2 files changed, 69 insertions(+), 7 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h -index 9817658..fc0f76f 100644 +index dd06393..184b2d3 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -947,27 +947,85 @@ static inline pmd_t *pmd_alloc(struct mm_struct *mm, pud_t *pud, unsigned long a +@@ -1058,27 +1058,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,10 +117,10 @@ index 9817658..fc0f76f 100644 { pte_lock_deinit(page); diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index b1a31eb..bd17761 100644 +index a977b30..98b252b 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h -@@ -69,7 +69,11 @@ struct page { +@@ -63,7 +63,11 @@ struct page { */ }; #if USE_SPLIT_PTLOCKS @@ -128,5 +133,5 @@ index b1a31eb..bd17761 100644 struct kmem_cache *slab; /* SLUB: Pointer to slab */ struct page *first_page; /* Compound tail pages */ -- -1.7.1.1 +1.7.0.4 diff --git a/mm-vmscan-do-not-disable-interrupts-on-RT.patch b/mm-vmscan-do-not-disable-interrupts-on-RT.patch index e15c57a..14aece9 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 6b61726bf7e10eaec841d6d24b4f89d516dfb4b2 Mon Sep 17 00:00:00 2001 +From da567729e97ca332067e41f3d1933d5c11652486 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 @@ -9,12 +9,15 @@ commit 104f75cb1a751a023beddacf56ca6c19ed90ce6c in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/vmscan.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/mm/vmscan.c b/mm/vmscan.c -index c26986c..f055abc 100644 +index 3ff3311..93928db 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c -@@ -1196,7 +1196,7 @@ static unsigned long shrink_inactive_list(unsigned long max_scan, +@@ -1232,7 +1232,7 @@ static unsigned long shrink_inactive_list(unsigned long max_scan, nr_reclaimed += nr_freed; @@ -24,5 +27,5 @@ index c26986c..f055abc 100644 __count_vm_events(KSWAPD_STEAL, nr_freed); __count_zone_vm_events(PGSTEAL, zone, nr_freed); -- -1.7.1.1 +1.7.0.4 diff --git a/mm.h-include-slab.h-for-kmalloc-kfree.patch b/mm.h-include-slab.h-for-kmalloc-kfree.patch index d33f5c0..f0375b5 100644 --- a/mm.h-include-slab.h-for-kmalloc-kfree.patch +++ b/mm.h-include-slab.h-for-kmalloc-kfree.patch @@ -1,4 +1,4 @@ -From 8984e54ebd99ae205174d3af3787aebb603621e8 Mon Sep 17 00:00:00 2001 +From fb6cea4a9de989b625499654e410871bac654e60 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Mon, 14 Feb 2011 01:14:49 -0500 Subject: [PATCH] mm.h: include slab.h for kmalloc/kfree @@ -15,9 +15,12 @@ The assoc. tip change which introduces this dependency is 27909c8793, "mm: shrink the page frame to !-rt size" Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/mm.h | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h -index 93d9c50..39fe0cc 100644 +index 1d42c27..a5cc565 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -6,6 +6,7 @@ diff --git a/mmc-Convert-mutex-to-semaphore.patch b/mmc-Convert-mutex-to-semaphore.patch index e795f59..ed4dfa4 100644 --- a/mmc-Convert-mutex-to-semaphore.patch +++ b/mmc-Convert-mutex-to-semaphore.patch @@ -1,4 +1,4 @@ -From 9674928f6825220b8501e82a9ea93e97a52ed75c Mon Sep 17 00:00:00 2001 +From 9a1d9d448dc2684755f34a0c1b127f55bd910031 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 @@ -10,12 +10,16 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Pierre Ossman <drzeus@drzeus.cx> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/mmc/card/queue.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c -index c5a7a85..5bef6a9 100644 +index d6ded24..1c7988d 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c -@@ -195,7 +195,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock +@@ -194,7 +194,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); } @@ -25,5 +29,5 @@ index c5a7a85..5bef6a9 100644 mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd"); if (IS_ERR(mq->thread)) { -- -1.7.1.1 +1.7.0.4 diff --git a/mmc-omap_hsmmc-Fix-the-locking-mess.patch b/mmc-omap_hsmmc-Fix-the-locking-mess.patch index db69a2c..806d367 100644 --- a/mmc-omap_hsmmc-Fix-the-locking-mess.patch +++ b/mmc-omap_hsmmc-Fix-the-locking-mess.patch @@ -1,4 +1,4 @@ -From dcfb059a06c1f62061edaece74560f44925279f2 Mon Sep 17 00:00:00 2001 +From 4438ed377ed96b14c5b212dcbda68cdbe4ae45f9 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 26 Feb 2010 20:23:26 +0100 Subject: [PATCH] mmc: omap_hsmmc: Fix the locking mess @@ -14,12 +14,16 @@ Fix the mess by dropping host->irq_lock before calling mmc_request_done(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/mmc/host/omap_hsmmc.c | 70 ++++++++++++++++++----------------------- + 1 files changed, 31 insertions(+), 39 deletions(-) diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c -index 4b23225..99a3383 100644 +index e9caf69..076598a 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c -@@ -468,14 +468,6 @@ omap_hsmmc_start_command(struct omap_hsmmc_host *host, struct mmc_command *cmd, +@@ -806,14 +806,6 @@ omap_hsmmc_start_command(struct omap_hsmmc_host *host, struct mmc_command *cmd, if (host->use_dma) cmdreg |= DMA_EN; @@ -34,7 +38,7 @@ index 4b23225..99a3383 100644 OMAP_HSMMC_WRITE(host->base, ARG, cmd->arg); OMAP_HSMMC_WRITE(host->base, CMD, cmdreg); } -@@ -506,7 +498,9 @@ omap_hsmmc_xfer_done(struct omap_hsmmc_host *host, struct mmc_data *data) +@@ -844,7 +836,9 @@ omap_hsmmc_xfer_done(struct omap_hsmmc_host *host, struct mmc_data *data) } host->mrq = NULL; @@ -44,7 +48,7 @@ index 4b23225..99a3383 100644 return; } -@@ -523,7 +517,9 @@ omap_hsmmc_xfer_done(struct omap_hsmmc_host *host, struct mmc_data *data) +@@ -861,7 +855,9 @@ omap_hsmmc_xfer_done(struct omap_hsmmc_host *host, struct mmc_data *data) if (!data->stop) { host->mrq = NULL; @@ -54,7 +58,7 @@ index 4b23225..99a3383 100644 return; } omap_hsmmc_start_command(host, data->stop, NULL); -@@ -551,7 +547,9 @@ omap_hsmmc_cmd_done(struct omap_hsmmc_host *host, struct mmc_command *cmd) +@@ -889,7 +885,9 @@ omap_hsmmc_cmd_done(struct omap_hsmmc_host *host, struct mmc_command *cmd) } if ((host->data == NULL && !host->response_busy) || cmd->error) { host->mrq = NULL; @@ -64,7 +68,7 @@ index 4b23225..99a3383 100644 } } -@@ -1077,37 +1075,31 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) +@@ -1410,37 +1408,31 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) struct omap_hsmmc_host *host = mmc_priv(mmc); int err; @@ -125,7 +129,7 @@ index 4b23225..99a3383 100644 WARN_ON(host->mrq != NULL); host->mrq = req; err = omap_hsmmc_prepare_data(host, req); -@@ -1116,13 +1108,13 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) +@@ -1449,13 +1441,13 @@ static void omap_hsmmc_request(struct mmc_host *mmc, struct mmc_request *req) if (req->data) req->data->error = err; host->mrq = NULL; @@ -142,5 +146,5 @@ index 4b23225..99a3383 100644 /* Routine to configure clock values. Exposed API to core */ -- -1.7.1.1 +1.7.0.4 diff --git a/mmu_context-add-preempt_disable-to-use_mm.patch b/mmu_context-add-preempt_disable-to-use_mm.patch index 7d7c8cd..30d1cf5 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 15f311fd0fd20ab3458062d284bb9c7663c3a122 Mon Sep 17 00:00:00 2001 +From 93cf8c720d144028921366c5bbd3158bd3b43618 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,12 +28,15 @@ 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 +index 9e82e93..bde2996 100644 --- a/mm/mmu_context.c +++ b/mm/mmu_context.c -@@ -25,6 +25,7 @@ void use_mm(struct mm_struct *mm) +@@ -26,6 +26,7 @@ void use_mm(struct mm_struct *mm) struct task_struct *tsk = current; task_lock(tsk); @@ -41,7 +44,7 @@ index ded9081..fa3d693 100644 active_mm = tsk->active_mm; if (active_mm != mm) { atomic_inc(&mm->mm_count); -@@ -32,6 +33,7 @@ void use_mm(struct mm_struct *mm) +@@ -33,6 +34,7 @@ void use_mm(struct mm_struct *mm) } tsk->mm = mm; switch_mm(active_mm, mm, tsk); @@ -50,5 +53,5 @@ index ded9081..fa3d693 100644 if (active_mm != mm) -- -1.7.1.1 +1.7.0.4 diff --git a/more-semaphore_init-removals.patch b/more-semaphore_init-removals.patch index 807230e..702421e 100644 --- a/more-semaphore_init-removals.patch +++ b/more-semaphore_init-removals.patch @@ -1,4 +1,4 @@ -From 1fc4f64704743974340c753ed4e016cd8fed1a57 Mon Sep 17 00:00:00 2001 +From efcd6099122bef8e6a2e8c4c617e7a53ea56b84b Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Wed, 19 Jan 2011 22:17:23 -0500 Subject: [PATCH] more semaphore_init removals @@ -23,6 +23,15 @@ 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> +--- + arch/ia64/kernel/salinfo.c | 2 +- + drivers/infiniband/core/user_mad.c | 2 +- + drivers/input/misc/hp_sdc_rtc.c | 9 +++------ + drivers/input/serio/hil_mlc.c | 6 +++--- + drivers/input/serio/hp_sdc.c | 2 +- + drivers/mmc/card/queue.c | 2 +- + drivers/usb/misc/ftdi-elan.c | 2 +- + 7 files changed, 11 insertions(+), 14 deletions(-) diff --git a/arch/ia64/kernel/salinfo.c b/arch/ia64/kernel/salinfo.c index 414a22e..c6273cc 100644 @@ -38,10 +47,10 @@ index 414a22e..c6273cc 100644 if (!dir) continue; diff --git a/drivers/infiniband/core/user_mad.c b/drivers/infiniband/core/user_mad.c -index 810a52c..8caa9e2 100644 +index 9ff7970..cf6d291 100644 --- a/drivers/infiniband/core/user_mad.c +++ b/drivers/infiniband/core/user_mad.c -@@ -1004,7 +1004,7 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, +@@ -1018,7 +1018,7 @@ static int ib_umad_init_port(struct ib_device *device, int port_num, port->ib_dev = device; port->port_num = port_num; @@ -92,10 +101,10 @@ index 17920a9..e44f277 100644 return ret; if (misc_register(&hp_sdc_rtc_dev) != 0) diff --git a/drivers/input/serio/hil_mlc.c b/drivers/input/serio/hil_mlc.c -index 290b648..9e78665 100644 +index 567a1d6..16dc42e 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) +@@ -915,15 +915,15 @@ int hil_mlc_register(hil_mlc *mlc) mlc->ostarted = 0; rwlock_init(&mlc->lock); @@ -128,10 +137,10 @@ index ff45419..997f9b6 100644 tq_init.actidx = 0; tq_init.idx = 1; diff --git a/drivers/mmc/card/queue.c b/drivers/mmc/card/queue.c -index 5bef6a9..a525eb8 100644 +index 1c7988d..1551230 100644 --- a/drivers/mmc/card/queue.c +++ b/drivers/mmc/card/queue.c -@@ -195,7 +195,7 @@ int mmc_init_queue(struct mmc_queue *mq, struct mmc_card *card, spinlock_t *lock +@@ -194,7 +194,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); } @@ -141,10 +150,10 @@ index 5bef6a9..a525eb8 100644 mq->thread = kthread_run(mmc_queue_thread, mq, "mmcqd"); if (IS_ERR(mq->thread)) { diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c -index d20cb67..d5e0bdb 100644 +index e9eb380..28bb706 100644 --- a/drivers/usb/misc/ftdi-elan.c +++ b/drivers/usb/misc/ftdi-elan.c -@@ -2766,7 +2766,7 @@ static int ftdi_elan_probe(struct usb_interface *interface, +@@ -2769,7 +2769,7 @@ static int ftdi_elan_probe(struct usb_interface *interface, ftdi->sequence_num = ++ftdi_instances; mutex_unlock(&ftdi_module_lock); ftdi_elan_init_kref(ftdi); @@ -154,5 +163,5 @@ index d20cb67..d5e0bdb 100644 ftdi->interface = interface; mutex_init(&ftdi->u132_lock); -- -1.7.1 +1.7.0.4 diff --git a/mqueue-Convert-message-queue-timeout-to-use-hrtimers.patch b/mqueue-Convert-message-queue-timeout-to-use-hrtimers.patch index d7a07a2..a2c8a17 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 ceaf34fb483edcf37bef7a79505b5b67dcd3ae70 Mon Sep 17 00:00:00 2001 +From 6d9a58c1c381af7b47682e7748f8a91ff8698c5c 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 @@ -20,12 +20,16 @@ Cc: Arjan van de Veen <arjan@infradead.org> Cc: Andrew Morton <akpm@linux-foundation.org> LKML-Reference: <20100402204331.715783034@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + ipc/mqueue.c | 74 +++++++++++++++++++-------------------------------------- + 1 files changed, 25 insertions(+), 49 deletions(-) diff --git a/ipc/mqueue.c b/ipc/mqueue.c -index b592866..b9eeece 100644 +index 0596089..11919ce 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c -@@ -428,7 +428,7 @@ static void wq_add(struct mqueue_inode_info *info, int sr, +@@ -429,7 +429,7 @@ static void wq_add(struct mqueue_inode_info *info, int sr, * sr: SEND or RECV */ static int wq_sleep(struct mqueue_inode_info *info, int sr, @@ -34,7 +38,7 @@ index b592866..b9eeece 100644 { int retval; signed long time; -@@ -439,7 +439,8 @@ static int wq_sleep(struct mqueue_inode_info *info, int sr, +@@ -440,7 +440,8 @@ static int wq_sleep(struct mqueue_inode_info *info, int sr, set_current_state(TASK_INTERRUPTIBLE); spin_unlock(&info->lock); @@ -44,7 +48,7 @@ index b592866..b9eeece 100644 while (ewp->state == STATE_PENDING) cpu_relax(); -@@ -551,31 +552,16 @@ static void __do_notify(struct mqueue_inode_info *info) +@@ -552,31 +553,16 @@ static void __do_notify(struct mqueue_inode_info *info) wake_up(&info->wait_q); } @@ -84,7 +88,7 @@ index b592866..b9eeece 100644 } static void remove_notification(struct mqueue_inode_info *info) -@@ -866,22 +852,21 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, +@@ -867,22 +853,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 +118,7 @@ index b592866..b9eeece 100644 filp = fget(mqdes); if (unlikely(!filp)) { -@@ -923,9 +908,6 @@ SYSCALL_DEFINE5(mq_timedsend, mqd_t, mqdes, const char __user *, u_msg_ptr, +@@ -924,9 +909,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 +128,7 @@ index b592866..b9eeece 100644 } else { wait.task = current; wait.msg = (void *) msg_ptr; -@@ -958,24 +940,23 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, +@@ -959,24 +941,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 +160,7 @@ index b592866..b9eeece 100644 filp = fget(mqdes); if (unlikely(!filp)) { -@@ -1007,11 +988,6 @@ SYSCALL_DEFINE5(mq_timedreceive, mqd_t, mqdes, char __user *, u_msg_ptr, +@@ -1008,11 +989,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; @@ -169,5 +173,5 @@ index b592866..b9eeece 100644 wait.task = current; wait.state = STATE_NONE; -- -1.7.1.1 +1.7.0.4 diff --git a/mutex-semaphore-cleanups-in-staging-dir.patch b/mutex-semaphore-cleanups-in-staging-dir.patch index ee07c68..deac8bc 100644 --- a/mutex-semaphore-cleanups-in-staging-dir.patch +++ b/mutex-semaphore-cleanups-in-staging-dir.patch @@ -1,4 +1,4 @@ -From 13b394b2fd56bd49812582895d358aec4904d701 Mon Sep 17 00:00:00 2001 +From 2683101db2bdcf221e5e9de46a2674a675489ecc Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 17:19:58 -0500 Subject: [PATCH] mutex/semaphore cleanups in staging dir @@ -28,6 +28,17 @@ 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> +--- + drivers/staging/comedi/drivers/dt9812.c | 4 ++-- + drivers/staging/comedi/drivers/usbdux.c | 4 ++-- + drivers/staging/comedi/drivers/usbduxfast.c | 4 ++-- + drivers/staging/dream/pmem.c | 18 +++++++++--------- + drivers/staging/frontier/alphatrack.c | 2 +- + drivers/staging/frontier/tranzport.c | 2 +- + drivers/staging/otus/wwrap.c | 2 +- + drivers/staging/rt2860/common/rtmp_init.c | 2 +- + drivers/staging/vme/devices/vme_user.c | 2 +- + 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/drivers/staging/comedi/drivers/dt9812.c b/drivers/staging/comedi/drivers/dt9812.c index 96caae3..0e8a66a 100644 @@ -96,10 +107,10 @@ index e89b818..01c41ea 100644 usbduxfastsub[index].usbdev = udev; diff --git a/drivers/staging/dream/pmem.c b/drivers/staging/dream/pmem.c -index 503ba21..d85e8e3 100644 +index 6edfdd4..e747e84 100644 --- a/drivers/staging/dream/pmem.c +++ b/drivers/staging/dream/pmem.c -@@ -127,9 +127,9 @@ struct pmem_info { +@@ -128,9 +128,9 @@ struct pmem_info { * this flag */ unsigned allocated; /* for debugging, creates a list of pmem file structs, the @@ -111,7 +122,7 @@ index 503ba21..d85e8e3 100644 struct list_head data_list; /* pmem_sem protects the bitmap array * a write lock should be held when modifying entries in bitmap -@@ -273,7 +273,7 @@ static int pmem_release(struct inode *inode, struct file *file) +@@ -274,7 +274,7 @@ static int pmem_release(struct inode *inode, struct file *file) int id = get_id(file), ret = 0; @@ -120,7 +131,7 @@ index 503ba21..d85e8e3 100644 /* if this file is a master, revoke all the memory in the connected * files */ if (PMEM_FLAGS_MASTERMAP & data->flags) { -@@ -290,7 +290,7 @@ static int pmem_release(struct inode *inode, struct file *file) +@@ -291,7 +291,7 @@ static int pmem_release(struct inode *inode, struct file *file) } } list_del(&data->list); @@ -129,7 +140,7 @@ index 503ba21..d85e8e3 100644 down_write(&data->sem); -@@ -358,9 +358,9 @@ static int pmem_open(struct inode *inode, struct file *file) +@@ -359,9 +359,9 @@ static int pmem_open(struct inode *inode, struct file *file) file->private_data = data; INIT_LIST_HEAD(&data->list); @@ -141,7 +152,7 @@ index 503ba21..d85e8e3 100644 return ret; } -@@ -1176,7 +1176,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count, +@@ -1177,7 +1177,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count, n = scnprintf(buffer, debug_bufmax, "pid #: mapped regions (offset, len) (offset,len)...\n"); @@ -150,7 +161,7 @@ index 503ba21..d85e8e3 100644 list_for_each(elt, &pmem[id].data_list) { data = list_entry(elt, struct pmem_data, list); down_read(&data->sem); -@@ -1193,7 +1193,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count, +@@ -1194,7 +1194,7 @@ static ssize_t debug_read(struct file *file, char __user *buf, size_t count, n += scnprintf(buffer + n, debug_bufmax - n, "\n"); up_read(&data->sem); } @@ -159,7 +170,7 @@ index 503ba21..d85e8e3 100644 n++; buffer[n] = 0; -@@ -1230,7 +1230,7 @@ int pmem_setup(struct android_pmem_platform_data *pdata, +@@ -1231,7 +1231,7 @@ int pmem_setup(struct android_pmem_platform_data *pdata, pmem[id].ioctl = ioctl; pmem[id].release = release; init_rwsem(&pmem[id].bitmap_sem); @@ -195,10 +206,10 @@ index 2f03f43..ee3b0dd 100644 init_waitqueue_head(&dev->read_wait); init_waitqueue_head(&dev->write_wait); diff --git a/drivers/staging/otus/wwrap.c b/drivers/staging/otus/wwrap.c -index 53d2a45..adff5ea 100644 +index a74f7ee..00f5fda 100644 --- a/drivers/staging/otus/wwrap.c +++ b/drivers/staging/otus/wwrap.c -@@ -1058,7 +1058,7 @@ u8_t zfLnxCreateThread(zdev_t *dev) +@@ -1059,7 +1059,7 @@ u8_t zfLnxCreateThread(zdev_t *dev) /* Create Mutex and keventd */ INIT_WORK(&macp->kevent, kevent); @@ -221,10 +232,10 @@ index 21a95ff..9f4ac4d 100644 MAX_PARAM_BUFFER_SIZE - 1); if (pAd->UsbVendorReqBuf == NULL) { diff --git a/drivers/staging/vme/devices/vme_user.c b/drivers/staging/vme/devices/vme_user.c -index c60c80f..06062f7 100644 +index 1ab9a98..cb5f5ce 100644 --- a/drivers/staging/vme/devices/vme_user.c +++ b/drivers/staging/vme/devices/vme_user.c -@@ -670,7 +670,7 @@ static int __init vme_user_probe(struct device *dev, int cur_bus, int cur_slot) +@@ -671,7 +671,7 @@ static int __init vme_user_probe(struct device *dev, int cur_bus, int cur_slot) for (i = 0; i < VME_DEVS; i++) { image[i].kern_buf = NULL; image[i].pci_buf = 0; @@ -234,5 +245,5 @@ index c60c80f..06062f7 100644 image[i].resource = NULL; image[i].users = 0; -- -1.7.1.1 +1.7.0.4 diff --git a/net-3c527-semaphore-cleanup.patch b/net-3c527-semaphore-cleanup.patch index fb429c4..0a67f49 100644 --- a/net-3c527-semaphore-cleanup.patch +++ b/net-3c527-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From ef3db24f352ebad0f8d8470abd1a3fcb470aa56c Mon Sep 17 00:00:00 2001 +From d6d2f8264cb2bb03dc104590e3aa8ffac040c0ef 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 @@ -10,9 +10,13 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Miller <davem@davemloft.net> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/3c527.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/3c527.c b/drivers/net/3c527.c -index 36c4191..ca43ce6 100644 +index 5c07b14..8280311 100644 --- a/drivers/net/3c527.c +++ b/drivers/net/3c527.c @@ -522,7 +522,7 @@ static int __init mc32_probe1(struct net_device *dev, int slot) @@ -25,5 +29,5 @@ index 36c4191..ca43ce6 100644 init_completion(&lp->xceiver_cmd); -- -1.7.1.1 +1.7.0.4 diff --git a/net-Convert-netfilter-to-percpu_locked.patch b/net-Convert-netfilter-to-percpu_locked.patch index 2ad2a02..0e8a6da 100644 --- a/net-Convert-netfilter-to-percpu_locked.patch +++ b/net-Convert-netfilter-to-percpu_locked.patch @@ -1,4 +1,4 @@ -From 07812c8936700b03d5f8368bcb45be662dc62d4a Mon Sep 17 00:00:00 2001 +From 90667dded1be0045652680c95a2ec1ed384c1afb 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 @@ -9,6 +9,11 @@ Allows that code to be preemtible Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/core/flow.c | 22 ++++++++++++++-------- + net/ipv4/netfilter/arp_tables.c | 4 ++-- + 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/net/core/flow.c b/net/core/flow.c index 9601587..f032d1c 100644 @@ -122,5 +127,5 @@ index f07d77f..f3c60dc 100644 xt_info_wrlock(curcpu); xt_entry_foreach(iter, loc_cpu_entry, private->size) { -- -1.7.1.1 +1.7.0.4 diff --git a/net-Fix-iptables-get_counters.patch b/net-Fix-iptables-get_counters.patch index 17dc1e9..28b7b4d 100644 --- a/net-Fix-iptables-get_counters.patch +++ b/net-Fix-iptables-get_counters.patch @@ -1,4 +1,4 @@ -From f09a77d4fb46651e4ea38e7b1843aa92f8d41c27 Mon Sep 17 00:00:00 2001 +From 3c408972097c1dba92c8213bb6127ba92bf2f50d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 27 Apr 2010 10:05:28 +0200 Subject: [PATCH] net: Fix iptables get_counters() @@ -10,6 +10,11 @@ array uninitialized which results in random packet statistic numbers. Reported-by: prd.gtt@operamail.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/ipv4/netfilter/ip_tables.c | 9 +++++---- + net/ipv6/netfilter/ip6_tables.c | 10 +++++----- + 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c index 1c33431..5f6042e 100644 @@ -81,5 +86,5 @@ index 6d5b78b..ff7ce7b 100644 if (cpu == curcpu) continue; -- -1.7.1.1 +1.7.0.4 diff --git a/net-Fix-netfilter-percpu-assumptions-for-real.patch b/net-Fix-netfilter-percpu-assumptions-for-real.patch index 3d44dce..756f99d 100644 --- a/net-Fix-netfilter-percpu-assumptions-for-real.patch +++ b/net-Fix-netfilter-percpu-assumptions-for-real.patch @@ -1,4 +1,4 @@ -From da72b214fd92086186c95fa11bc35ffd36a14044 Mon Sep 17 00:00:00 2001 +From c08a2fb62910e26ef13beb3211272a513ebe5de7 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 @@ -10,6 +10,13 @@ commit 21ece08 (net: fix the xtables smp_processor_id assumptions for thread context and can be preempted and migrated on -RT. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/netfilter/x_tables.h | 25 +++++++++++++++++++------ + net/ipv4/netfilter/arp_tables.c | 7 ++++--- + net/ipv4/netfilter/ip_tables.c | 7 ++++--- + net/ipv6/netfilter/ip6_tables.c | 7 ++++--- + 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 5c588ca..dcc03d7 100644 @@ -157,5 +164,5 @@ index 66c78d0..6d5b78b 100644 #ifdef DEBUG_ALLOW_ALL return NF_ACCEPT; -- -1.7.1.1 +1.7.0.4 diff --git a/net-Make-dis-en-able_irq_-_lockdep-RT-safe.patch b/net-Make-dis-en-able_irq_-_lockdep-RT-safe.patch index 6950ef6..d1ff4cb 100644 --- a/net-Make-dis-en-able_irq_-_lockdep-RT-safe.patch +++ b/net-Make-dis-en-able_irq_-_lockdep-RT-safe.patch @@ -1,4 +1,4 @@ -From 5b6c7b08196ea160f78a9afc1948091dc930b108 Mon Sep 17 00:00:00 2001 +From ed0ae109c314aa0c8f9e397006f76d2b0581f46c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 17 May 2010 10:19:06 +0200 Subject: [PATCH] net: Make [dis/en]able_irq_*_lockdep() RT safe @@ -13,6 +13,10 @@ Make the irq disabling depend on !RT. Reported-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 9f6580a..d363196 100644 @@ -63,5 +67,5 @@ index 9f6580a..d363196 100644 #endif enable_irq(irq); -- -1.7.1.1 +1.7.0.4 diff --git a/net-NOHZ-local_softirq_pending-with-tickless.patch b/net-NOHZ-local_softirq_pending-with-tickless.patch index 5f1f691..574013c 100644 --- a/net-NOHZ-local_softirq_pending-with-tickless.patch +++ b/net-NOHZ-local_softirq_pending-with-tickless.patch @@ -1,4 +1,4 @@ -From a749523d49988c978f9c0a7ec9a842f7f77464bc Mon Sep 17 00:00:00 2001 +From 83223c8a8a1601f6287b0469d9484984758a8cdb 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 @@ -23,12 +23,16 @@ doesn't wake ksoftirqd. Signed-off-by: Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/core/dev.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index 7dd1d06..e96dccf 100644 +index 07b9c01..99ba080 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -3050,7 +3050,7 @@ out: +@@ -3130,7 +3130,7 @@ out: softnet_break: __get_cpu_var(netdev_rx_stat).time_squeeze++; @@ -38,5 +42,5 @@ index 7dd1d06..e96dccf 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/net-Reduce-preempt-disabled-region.patch b/net-Reduce-preempt-disabled-region.patch index 453daa6..0712225 100644 --- a/net-Reduce-preempt-disabled-region.patch +++ b/net-Reduce-preempt-disabled-region.patch @@ -1,4 +1,4 @@ -From f9ad797b40b26ab9cb5b9233f0c6ccad414f256b Mon Sep 17 00:00:00 2001 +From 4051297090762e4981d11644357a4c59b9f7b8c5 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 @@ -7,12 +7,16 @@ commit 5a90027b0f8c9b872a7f51a4d5bbc63f5a8716cb in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/core/dev.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/core/dev.c b/net/core/dev.c -index ec87421..516f8a3 100644 +index 264137f..6b1cc19 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2173,8 +2173,8 @@ int netif_rx_ni(struct sk_buff *skb) +@@ -2239,8 +2239,8 @@ int netif_rx_ni(struct sk_buff *skb) { int err; @@ -23,5 +27,5 @@ index ec87421..516f8a3 100644 do_softirq(); preempt_enable(); -- -1.7.1.1 +1.7.0.4 diff --git a/net-at91_ether-Make-mdio-protection-rt-safe.patch b/net-at91_ether-Make-mdio-protection-rt-safe.patch index 66bbfa8..5e70446 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 51af17335eb28fac0d218a47304e6889c028998d Mon Sep 17 00:00:00 2001 +From 18033b350193d8e3517c3446436979ab495cd950 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 @@ -16,12 +16,16 @@ Fix this by adding proper locking to at91ether_phy_interrupt() and at91_check_ether() which serializes the access on -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/arm/at91_ether.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/drivers/net/arm/at91_ether.c b/drivers/net/arm/at91_ether.c -index c8bc60a..42230fc 100644 +index aed5b54..75146af 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) +@@ -199,7 +199,9 @@ static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id) struct net_device *dev = (struct net_device *) dev_id; struct at91_private *lp = netdev_priv(dev); unsigned int phy; @@ -31,7 +35,7 @@ index c8bc60a..42230fc 100644 /* * This hander is triggered on both edges, but the PHY chips expect * level-triggering. We therefore have to check if the PHY actually has -@@ -240,6 +242,7 @@ static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id) +@@ -241,6 +243,7 @@ static irqreturn_t at91ether_phy_interrupt(int irq, void *dev_id) done: disable_mdi(); @@ -39,7 +43,7 @@ index c8bc60a..42230fc 100644 return IRQ_HANDLED; } -@@ -396,9 +399,11 @@ static void at91ether_check_link(unsigned long dev_id) +@@ -397,9 +400,11 @@ static void at91ether_check_link(unsigned long dev_id) struct net_device *dev = (struct net_device *) dev_id; struct at91_private *lp = netdev_priv(dev); @@ -52,5 +56,5 @@ index c8bc60a..42230fc 100644 mod_timer(&lp->check_timer, jiffies + LINK_POLL_INTERVAL); } -- -1.7.1.1 +1.7.0.4 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 3ed1440..1ffaf7a 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 0da0c26b3a7ee5ab582a117a1b7bc80cdccc98a5 Mon Sep 17 00:00:00 2001 +From fc39965f0aa94c65fa23f8ba569c2830a3c8190f 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 @@ -14,12 +14,21 @@ Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/bnx2.c | 2 +- + drivers/net/mv643xx_eth.c | 6 +++--- + drivers/net/niu.c | 2 +- + include/linux/netdevice.h | 32 ++++++++++++++++---------------- + net/core/dev.c | 10 +++------- + net/core/netpoll.c | 2 +- + net/sched/sch_generic.c | 4 ++-- + 7 files changed, 27 insertions(+), 31 deletions(-) diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c -index 65df1de..ef2b781 100644 +index ac90a38..b398c4d 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) +@@ -2858,7 +2858,7 @@ bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) if (unlikely(netif_tx_queue_stopped(txq)) && (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh)) { @@ -29,7 +38,7 @@ index 65df1de..ef2b781 100644 (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh)) netif_tx_wake_queue(txq); diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c -index af67af5..28937f8 100644 +index 8613a52..89a155f 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c @@ -508,7 +508,7 @@ static void txq_maybe_wake(struct tx_queue *txq) @@ -60,10 +69,10 @@ index af67af5..28937f8 100644 reclaimed = 0; while (reclaimed < budget && txq->tx_desc_count > 0) { diff --git a/drivers/net/niu.c b/drivers/net/niu.c -index 2aed2b3..324d3ec 100644 +index d5cd16b..43f4469 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c -@@ -3677,7 +3677,7 @@ static void niu_tx_work(struct niu *np, struct tx_ring_info *rp) +@@ -3647,7 +3647,7 @@ static void niu_tx_work(struct niu *np, struct tx_ring_info *rp) out: if (unlikely(netif_tx_queue_stopped(txq) && (niu_tx_avail(rp) > NIU_TX_WAKEUP_THRESH(rp)))) { @@ -73,10 +82,10 @@ 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 c77360e..787be1e 100644 +index 6be4dde..bd1ac59 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -508,7 +508,7 @@ struct netdev_queue { +@@ -520,7 +520,7 @@ struct netdev_queue { * write mostly part */ spinlock_t _xmit_lock ____cacheline_aligned_in_smp; @@ -85,7 +94,7 @@ index c77360e..787be1e 100644 /* * please use this field instead of dev->trans_start */ -@@ -1745,41 +1745,41 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) +@@ -1781,41 +1781,41 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) return (1 << debug_value) - 1; } @@ -134,7 +143,7 @@ index c77360e..787be1e 100644 txq->trans_start = jiffies; } -@@ -1792,10 +1792,10 @@ static inline void txq_trans_update(struct netdev_queue *txq) +@@ -1828,10 +1828,10 @@ static inline void txq_trans_update(struct netdev_queue *txq) static inline void netif_tx_lock(struct net_device *dev) { unsigned int i; @@ -147,7 +156,7 @@ index c77360e..787be1e 100644 for (i = 0; i < dev->num_tx_queues; i++) { struct netdev_queue *txq = netdev_get_tx_queue(dev, i); -@@ -1805,7 +1805,7 @@ static inline void netif_tx_lock(struct net_device *dev) +@@ -1841,7 +1841,7 @@ static inline void netif_tx_lock(struct net_device *dev) * the ->hard_start_xmit() handler and already * checked the frozen bit. */ @@ -156,7 +165,7 @@ index c77360e..787be1e 100644 set_bit(__QUEUE_STATE_FROZEN, &txq->state); __netif_tx_unlock(txq); } -@@ -1840,9 +1840,9 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) +@@ -1876,9 +1876,9 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) local_bh_enable(); } @@ -168,7 +177,7 @@ index c77360e..787be1e 100644 } \ } -@@ -1855,14 +1855,14 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) +@@ -1891,14 +1891,14 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) static inline void netif_tx_disable(struct net_device *dev) { unsigned int i; @@ -187,10 +196,10 @@ index c77360e..787be1e 100644 __netif_tx_unlock(txq); } diff --git a/net/core/dev.c b/net/core/dev.c -index e96dccf..ae8ca82 100644 +index 99ba080..90dd59b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2067,13 +2067,9 @@ gso: +@@ -2133,13 +2133,9 @@ gso: /* * No need to check for recursion with threaded interrupts: */ @@ -206,7 +215,7 @@ index e96dccf..ae8ca82 100644 if (!netif_tx_queue_stopped(txq)) { rc = dev_hard_start_xmit(skb, dev, txq); -@@ -4882,7 +4878,7 @@ static void __netdev_init_queue_locks_one(struct net_device *dev, +@@ -4989,7 +4985,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); @@ -216,10 +225,10 @@ index e96dccf..ae8ca82 100644 static void netdev_init_queue_locks(struct net_device *dev) diff --git a/net/core/netpoll.c b/net/core/netpoll.c -index 9f6d1fc..4f9c6d5 100644 +index 2fbd53b..1ef0746 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c -@@ -74,7 +74,7 @@ static void queue_process(struct work_struct *work) +@@ -75,7 +75,7 @@ static void queue_process(struct work_struct *work) txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb)); local_irq_save_nort(flags); @@ -229,10 +238,10 @@ index 9f6d1fc..4f9c6d5 100644 netif_tx_queue_frozen(txq) || ops->ndo_start_xmit(skb, dev) != NETDEV_TX_OK) { diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 7fe7c55..420335b 100644 +index 6d6a2ac..e90a2c6 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -78,7 +78,7 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, +@@ -79,7 +79,7 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, { int ret; @@ -241,7 +250,7 @@ index 7fe7c55..420335b 100644 /* * Same CPU holding the lock. It may be a transient * configuration error, when hard_start_xmit() recurses. We -@@ -120,7 +120,7 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, +@@ -121,7 +121,7 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, /* And release qdisc */ spin_unlock(root_lock); @@ -251,5 +260,5 @@ index 7fe7c55..420335b 100644 ret = dev_hard_start_xmit(skb, dev, txq); -- -1.7.1.1 +1.7.0.4 diff --git a/net-ebtables-Work-around-per-cpu-assumptions.patch b/net-ebtables-Work-around-per-cpu-assumptions.patch index 16edc83..552cd26 100644 --- a/net-ebtables-Work-around-per-cpu-assumptions.patch +++ b/net-ebtables-Work-around-per-cpu-assumptions.patch @@ -1,4 +1,4 @@ -From 58995ce91b62da5633298620a5cf5862f381223c Mon Sep 17 00:00:00 2001 +From da28556e0ab3bcdc550d6b2b975d0f6e8d2198ff Mon Sep 17 00:00:00 2001 From: Luis Claudio R. Goncalves <lclaudio@uudg.org> Date: Sat, 27 Nov 2010 13:04:05 -0200 Subject: [PATCH] net: ebtables: Work around per cpu assumptions @@ -14,12 +14,16 @@ Disable preemption while fetching and using the ID of the current CPU. Signed-off-by: "Luis Claudio R. Goncalves" <lclaudio@uudg.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/bridge/netfilter/ebtables.c | 10 ++++++---- + 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/net/bridge/netfilter/ebtables.c b/net/bridge/netfilter/ebtables.c -index dfb5805..1946471 100644 +index f0865fd..2f566fd 100644 --- a/net/bridge/netfilter/ebtables.c +++ b/net/bridge/netfilter/ebtables.c -@@ -176,7 +176,7 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff *skb, +@@ -177,7 +177,7 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff *skb, const struct net_device *in, const struct net_device *out, struct ebt_table *table) { @@ -28,7 +32,7 @@ index dfb5805..1946471 100644 struct ebt_entry *point; struct ebt_counter *counter_base, *cb_base; const struct ebt_entry_target *t; -@@ -197,12 +197,14 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff *skb, +@@ -198,12 +198,14 @@ unsigned int ebt_do_table (unsigned int hook, struct sk_buff *skb, read_lock_bh(&table->lock); private = table->private; @@ -47,5 +51,5 @@ index dfb5805..1946471 100644 nentries = private->hook_entry[hook]->nentries; point = (struct ebt_entry *)(private->hook_entry[hook]->data); -- -1.7.1.1 +1.7.0.4 diff --git a/net-ehea-make-rx-irq-handler-non-threaded-IRQF_NODEL.patch b/net-ehea-make-rx-irq-handler-non-threaded-IRQF_NODEL.patch index d7f67e0..938af3f 100644 --- a/net-ehea-make-rx-irq-handler-non-threaded-IRQF_NODEL.patch +++ b/net-ehea-make-rx-irq-handler-non-threaded-IRQF_NODEL.patch @@ -1,4 +1,4 @@ -From 44b341ae13557f646061530d281fbc19c5ae9111 Mon Sep 17 00:00:00 2001 +From 99a854d96a633b15db61824dfdd12ee816974c05 Mon Sep 17 00:00:00 2001 From: Darren Hart <dvhltc@us.ibm.com> Date: Tue, 18 May 2010 14:33:07 -0700 Subject: [PATCH] net: ehea: make rx irq handler non-threaded (IRQF_NODELAY) @@ -36,12 +36,16 @@ Cc: Michael Ellerman <ellerman@au1.ibm.com> Cc: Doug Maxey <doug.maxey@us.ibm.com> LKML-Reference: <4BF30793.5070300@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/ehea/ehea_main.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ehea/ehea_main.c b/drivers/net/ehea/ehea_main.c -index 7b62336..ec2d6d4 100644 +index 809ccc9..9239e96 100644 --- a/drivers/net/ehea/ehea_main.c +++ b/drivers/net/ehea/ehea_main.c -@@ -1264,8 +1264,8 @@ static int ehea_reg_interrupts(struct net_device *dev) +@@ -1265,8 +1265,8 @@ static int ehea_reg_interrupts(struct net_device *dev) "%s-queue%d", dev->name, i); ret = ibmebus_request_irq(pr->eq->attr.ist1, ehea_recv_irq_handler, @@ -53,5 +57,5 @@ index 7b62336..ec2d6d4 100644 ehea_error("failed registering irq for ehea_queue " "port_res_nr:%d, ist=%X", i, -- -1.7.1.1 +1.7.0.4 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 ecfe9d5..a096d6f 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 68a04f7e2defaefdda95d165516d6c86b3520337 Mon Sep 17 00:00:00 2001 +From c8d3ff7efeba6ccaf2fe36d07c5f53fc81e864ae 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 @@ -6,6 +6,13 @@ Subject: [PATCH] net: fix the xtables smp_processor_id assumptions for -rt commit 21ece08cde53262625c46bd64eb66a81be5b458c in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/netfilter/x_tables.h | 4 ++-- + net/ipv4/netfilter/arp_tables.c | 5 +++-- + net/ipv4/netfilter/ip_tables.c | 9 +++++---- + net/ipv6/netfilter/ip6_tables.c | 11 +++++++---- + 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 84c7c92..5c588ca 100644 @@ -162,5 +169,5 @@ index 053133a..66c78d0 100644 loc_cpu_entry = private->entries[curcpu]; xt_entry_foreach(iter, loc_cpu_entry, private->size) { -- -1.7.1.1 +1.7.0.4 diff --git a/net-gianfar-Make-RT-aware.patch b/net-gianfar-Make-RT-aware.patch index bbbeefd..2e8fc3d 100644 --- a/net-gianfar-Make-RT-aware.patch +++ b/net-gianfar-Make-RT-aware.patch @@ -1,4 +1,4 @@ -From 6e331ac4aa62c2d8a27898b9bf8976f0554b9e52 Mon Sep 17 00:00:00 2001 +From fe2307a00bd6ad44a941876ae06890215e90f24d Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 1 Apr 2010 20:20:57 +0200 Subject: [PATCH] net: gianfar: Make RT aware @@ -13,9 +13,13 @@ local_irq_save/restore_nort. Reported-by: Xianghua Xiao <xiaoxianghua@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Xianghua Xiao <xiaoxianghua@gmail.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/gianfar.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c -index 8bd3c9f..453cfcf 100644 +index 5d3763f..5e4eb41 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c @@ -2717,7 +2717,7 @@ static void adjust_link(struct net_device *dev) @@ -37,5 +41,5 @@ index 8bd3c9f..453cfcf 100644 /* Update the hash table based on the current list of multicast -- -1.7.1.1 +1.7.0.4 diff --git a/net-gianfar-More-RT-fixups.patch b/net-gianfar-More-RT-fixups.patch index b80b665..4772771 100644 --- a/net-gianfar-More-RT-fixups.patch +++ b/net-gianfar-More-RT-fixups.patch @@ -1,4 +1,4 @@ -From 510cc2234ac121f792d788f926d58f14ecc20e9a Mon Sep 17 00:00:00 2001 +From dfeb4a9db13b4a93bdf12424faac72904873c5d4 Mon Sep 17 00:00:00 2001 From: Xianghua Xiao <xiaoxianghua@gmail.com> Date: Fri, 23 Apr 2010 16:57:52 -0500 Subject: [PATCH] net: gianfar: More RT fixups @@ -9,12 +9,16 @@ stop_gfar() needs the same fixup (local_irq_save/restore_nort()) as adjust_link(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/gianfar.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c -index 453cfcf..5c85948 100644 +index 5e4eb41..a9de4a7 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c -@@ -1553,7 +1553,7 @@ void stop_gfar(struct net_device *dev) +@@ -1549,7 +1549,7 @@ void stop_gfar(struct net_device *dev) /* Lock it down */ @@ -23,7 +27,7 @@ index 453cfcf..5c85948 100644 lock_tx_qs(priv); lock_rx_qs(priv); -@@ -1561,7 +1561,7 @@ void stop_gfar(struct net_device *dev) +@@ -1557,7 +1557,7 @@ void stop_gfar(struct net_device *dev) unlock_rx_qs(priv); unlock_tx_qs(priv); @@ -33,5 +37,5 @@ index 453cfcf..5c85948 100644 /* Free the IRQs */ if (priv->device_flags & FSL_GIANFAR_DEV_HAS_MULTI_INTR) { -- -1.7.1.1 +1.7.0.4 diff --git a/net-iptables-Fix-xt_info-locking.patch b/net-iptables-Fix-xt_info-locking.patch index 9579297..ea3d929 100644 --- a/net-iptables-Fix-xt_info-locking.patch +++ b/net-iptables-Fix-xt_info-locking.patch @@ -1,4 +1,4 @@ -From 5bbbedcfeec4fb13f514cabf4383b62c2e141f76 Mon Sep 17 00:00:00 2001 +From f8ae916b4a177f6852fd37fea0ad9e0a09a866c5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 13 Jul 2010 15:41:55 +0200 Subject: [PATCH] net: iptables: Fix xt_info locking @@ -9,12 +9,17 @@ xt_info locking is an open coded rw_lock which works fine in mainline, but on RT it's racy. Replace it with a real rwlock. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/netfilter/x_tables.h | 34 +++++++++++++++++++++++++--------- + net/netfilter/x_tables.c | 5 +++++ + 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h -index e173ef5..f85b72b 100644 +index dcc03d7..ae2ef0f 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h -@@ -439,7 +439,11 @@ extern void xt_free_table_info(struct xt_table_info *info); +@@ -464,7 +464,11 @@ extern void xt_free_table_info(struct xt_table_info *info); * necessary for reading the counters. */ struct xt_info_lock { @@ -26,7 +31,7 @@ index e173ef5..f85b72b 100644 unsigned char readers; }; DECLARE_PER_CPU(struct xt_info_lock, xt_info_locks); -@@ -466,11 +470,14 @@ static inline int xt_info_rdlock_bh(void) +@@ -491,11 +495,14 @@ static inline int xt_info_rdlock_bh(void) preempt_disable_rt(); cpu = smp_processor_id(); lock = &per_cpu(xt_info_locks, cpu); @@ -46,7 +51,7 @@ index e173ef5..f85b72b 100644 return cpu; } -@@ -478,13 +485,14 @@ static inline void xt_info_rdunlock_bh(int cpu) +@@ -503,13 +510,14 @@ static inline void xt_info_rdunlock_bh(int cpu) { struct xt_info_lock *lock = &per_cpu(xt_info_locks, cpu); @@ -65,7 +70,7 @@ index e173ef5..f85b72b 100644 local_bh_enable(); } -@@ -496,12 +504,20 @@ static inline void xt_info_rdunlock_bh(int cpu) +@@ -521,12 +529,20 @@ static inline void xt_info_rdunlock_bh(int cpu) */ static inline void xt_info_wrlock(unsigned int cpu) { @@ -87,10 +92,10 @@ index e173ef5..f85b72b 100644 /* diff --git a/net/netfilter/x_tables.c b/net/netfilter/x_tables.c -index f01955c..3eae9d9 100644 +index 665f5be..da3955e 100644 --- a/net/netfilter/x_tables.c +++ b/net/netfilter/x_tables.c -@@ -1183,7 +1183,12 @@ static int __init xt_init(void) +@@ -1244,7 +1244,12 @@ static int __init xt_init(void) for_each_possible_cpu(i) { struct xt_info_lock *lock = &per_cpu(xt_info_locks, i); @@ -104,5 +109,5 @@ index f01955c..3eae9d9 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/net-loopback-realtime-fix.patch b/net-loopback-realtime-fix.patch index 444dfb5..a2ec9e1 100644 --- a/net-loopback-realtime-fix.patch +++ b/net-loopback-realtime-fix.patch @@ -1,4 +1,4 @@ -From ed06b63f49f7749173aa7d6264ab9f2eaec65766 Mon Sep 17 00:00:00 2001 +From fb289370eaf07cfaeefe0bac507ab8ab0eb23763 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 @@ -7,6 +7,10 @@ commit 56c1457848714e720b1ac800656400a5ce61ca4f in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/loopback.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 377144f..6ad108f 100644 @@ -22,5 +26,5 @@ index 377144f..6ad108f 100644 pcpu_lstats = (void __percpu __force *)dev->ml_priv; lb_stats = per_cpu_ptr(pcpu_lstats, xmit_get_cpu()); -- -1.7.1.1 +1.7.0.4 diff --git a/net-mac80211-Make-the-softirq_count-warning-nonrt.patch b/net-mac80211-Make-the-softirq_count-warning-nonrt.patch index aa32b48..3038b87 100644 --- a/net-mac80211-Make-the-softirq_count-warning-nonrt.patch +++ b/net-mac80211-Make-the-softirq_count-warning-nonrt.patch @@ -1,4 +1,4 @@ -From c6dafd2110e83a8e34aefcbb7b1cb764f3e9d436 Mon Sep 17 00:00:00 2001 +From 7098e81d766194597f8ec4e71596be9a0ddbf5f1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 22 Feb 2010 16:53:27 +0100 Subject: [PATCH] net: mac80211: Make the softirq_count warning nonrt @@ -9,12 +9,16 @@ ieee80211_rx() warns about softirq_count() == 0, which is always the case on RT enabled kernels. Make the warning nonrt only. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/mac80211/rx.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c -index 82a30c1..e735c17 100644 +index 04ea07f..47d36b0 100644 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2464,7 +2464,7 @@ void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb) +@@ -2493,7 +2493,7 @@ void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb) struct ieee80211_supported_band *sband; struct ieee80211_rx_status *status = IEEE80211_SKB_RXCB(skb); @@ -24,5 +28,5 @@ index 82a30c1..e735c17 100644 if (WARN_ON(status->band < 0 || status->band >= IEEE80211_NUM_BANDS)) -- -1.7.1.1 +1.7.0.4 diff --git a/net-netlink-workaround-silly-yield.patch b/net-netlink-workaround-silly-yield.patch index b4f3e47..37384e1 100644 --- a/net-netlink-workaround-silly-yield.patch +++ b/net-netlink-workaround-silly-yield.patch @@ -1,4 +1,4 @@ -From 322d2f049391405403eaf5ecc93717120b9b3825 Mon Sep 17 00:00:00 2001 +From 531cc1033a8373abdbf9c74c74d095d727168995 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() @@ -19,12 +19,16 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> net/netlink/af_netlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/netlink/af_netlink.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c -index 4c5972b..95826e0 100644 +index 7954243..9ecba5c 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c -@@ -1074,7 +1074,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, +@@ -1077,7 +1077,7 @@ int netlink_broadcast(struct sock *ssk, struct sk_buff *skb, u32 pid, return -ENOBUFS; if (info.delivered) { @@ -34,5 +38,5 @@ index 4c5972b..95826e0 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/net-plug-a-few-races.patch b/net-plug-a-few-races.patch index 37cad14..5ed0339 100644 --- a/net-plug-a-few-races.patch +++ b/net-plug-a-few-races.patch @@ -1,4 +1,4 @@ -From 86c9d99236b5a9713b08098f0f573b5c7539a9aa Mon Sep 17 00:00:00 2001 +From ffeb56c141fc9dc2edbfa0d5c0551822180cd94a 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 @@ -16,6 +16,11 @@ would be to do something like: Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/core/skbuff.c | 2 +- + net/core/sock.c | 7 +++++-- + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 93c4e06..68c401c 100644 @@ -31,10 +36,10 @@ index 93c4e06..68c401c 100644 } #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE) diff --git a/net/core/sock.c b/net/core/sock.c -index e1f6f22..f852c18 100644 +index c5812bb..4f34c99 100644 --- a/net/core/sock.c +++ b/net/core/sock.c -@@ -2123,8 +2123,9 @@ static DECLARE_BITMAP(proto_inuse_idx, PROTO_INUSE_NR); +@@ -2136,8 +2136,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 +50,7 @@ index e1f6f22..f852c18 100644 } EXPORT_SYMBOL_GPL(sock_prot_inuse_add); -@@ -2170,7 +2171,9 @@ static DEFINE_PER_CPU(struct prot_inuse, prot_inuse); +@@ -2183,7 +2184,9 @@ static DEFINE_PER_CPU(struct prot_inuse, prot_inuse); void sock_prot_inuse_add(struct net *net, struct proto *prot, int val) { @@ -57,5 +62,5 @@ index e1f6f22..f852c18 100644 EXPORT_SYMBOL_GPL(sock_prot_inuse_add); -- -1.7.1.1 +1.7.0.4 diff --git a/net-ppp_async-semaphore-cleanup.patch b/net-ppp_async-semaphore-cleanup.patch index a53b935..0cb9d95 100644 --- a/net-ppp_async-semaphore-cleanup.patch +++ b/net-ppp_async-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From e53641646d8c59418b5a0f0ef54a1c50b3eb91d8 Mon Sep 17 00:00:00 2001 +From fadf5b106d0f63cbeaefe838709e353c22851863 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:47:21 +0200 Subject: [PATCH] net: ppp_async: semaphore cleanup @@ -10,12 +10,16 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Miller <davem@davemloft.net> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/ppp_async.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/ppp_async.c b/drivers/net/ppp_async.c -index 6a375ea..fd2ae3b 100644 +index 6c2e8fa..b035596 100644 --- a/drivers/net/ppp_async.c +++ b/drivers/net/ppp_async.c -@@ -183,7 +183,7 @@ ppp_asynctty_open(struct tty_struct *tty) +@@ -184,7 +184,7 @@ ppp_asynctty_open(struct tty_struct *tty) tasklet_init(&ap->tsk, ppp_async_process, (unsigned long) ap); atomic_set(&ap->refcnt, 1); @@ -25,5 +29,5 @@ index 6a375ea..fd2ae3b 100644 ap->chan.private = ap; ap->chan.ops = &async_ops; -- -1.7.1.1 +1.7.0.4 diff --git a/net-preempt-rt-support.patch b/net-preempt-rt-support.patch index 2884e96..a01896f 100644 --- a/net-preempt-rt-support.patch +++ b/net-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From b9e95bb455e96e1fe025caf937bd0e4ddfda7c90 Mon Sep 17 00:00:00 2001 +From ad26d40d82b537dd00626e036f02bec1f0a25d47 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:08 -0500 Subject: [PATCH] net: preempt-rt support @@ -8,6 +8,15 @@ commit 0f2c3c2b4cbac06fa3080bc350b0defb9d0f525e in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/netdevice.h | 8 ++-- + net/core/dev.c | 41 ++++++++++++++++++++++---- + net/core/netpoll.c | 60 +++++++++++++++++++++++++------------- + net/ipv4/icmp.c | 5 ++- + net/ipv4/route.c | 4 +- + net/ipv6/netfilter/ip6_tables.c | 2 +- + net/sched/sch_generic.c | 13 ++++++-- + 7 files changed, 94 insertions(+), 39 deletions(-) diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index fa8b476..6be4dde 100644 @@ -49,10 +58,10 @@ index fa8b476..6be4dde 100644 struct netdev_queue *txq = netdev_get_tx_queue(dev, i); diff --git a/net/core/dev.c b/net/core/dev.c -index aa5e7fb..08e1a36 100644 +index 6b1cc19..07b9c01 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2127,9 +2127,14 @@ gso: +@@ -2130,9 +2130,14 @@ gso: Either shot noqueue qdisc, it is even simpler 8) */ if (dev->flags & IFF_UP) { @@ -69,7 +78,7 @@ index aa5e7fb..08e1a36 100644 HARD_TX_LOCK(dev, txq, cpu); -@@ -2248,7 +2253,8 @@ EXPORT_SYMBOL(netif_rx_ni); +@@ -2251,7 +2256,8 @@ EXPORT_SYMBOL(netif_rx_ni); static void net_tx_action(struct softirq_action *h) { @@ -79,7 +88,7 @@ index aa5e7fb..08e1a36 100644 if (sd->completion_queue) { struct sk_buff *clist; -@@ -2264,6 +2270,11 @@ static void net_tx_action(struct softirq_action *h) +@@ -2267,6 +2273,11 @@ static void net_tx_action(struct softirq_action *h) WARN_ON(atomic_read(&skb->users)); __kfree_skb(skb); @@ -91,7 +100,7 @@ index aa5e7fb..08e1a36 100644 } } -@@ -2282,6 +2293,22 @@ static void net_tx_action(struct softirq_action *h) +@@ -2285,6 +2296,22 @@ static void net_tx_action(struct softirq_action *h) head = head->next_sched; root_lock = qdisc_lock(q); @@ -114,7 +123,7 @@ index aa5e7fb..08e1a36 100644 if (spin_trylock(root_lock)) { smp_mb__before_clear_bit(); clear_bit(__QDISC_STATE_SCHED, -@@ -2298,6 +2325,7 @@ static void net_tx_action(struct softirq_action *h) +@@ -2301,6 +2328,7 @@ static void net_tx_action(struct softirq_action *h) &q->state); } } @@ -122,7 +131,7 @@ index aa5e7fb..08e1a36 100644 } } } -@@ -2513,7 +2541,7 @@ int netif_receive_skb(struct sk_buff *skb) +@@ -2516,7 +2544,7 @@ int netif_receive_skb(struct sk_buff *skb) skb->dev = master; } @@ -131,7 +140,7 @@ index aa5e7fb..08e1a36 100644 skb_reset_network_header(skb); skb_reset_transport_header(skb); -@@ -2910,9 +2938,10 @@ EXPORT_SYMBOL(napi_gro_frags); +@@ -2913,9 +2941,10 @@ EXPORT_SYMBOL(napi_gro_frags); static int process_backlog(struct napi_struct *napi, int quota) { int work = 0; @@ -143,7 +152,7 @@ index aa5e7fb..08e1a36 100644 napi->weight = weight_p; do { struct sk_buff *skb; -@@ -2944,7 +2973,7 @@ void __napi_schedule(struct napi_struct *n) +@@ -2947,7 +2976,7 @@ void __napi_schedule(struct napi_struct *n) local_irq_save(flags); list_add_tail(&n->poll_list, &__get_cpu_var(softnet_data).poll_list); @@ -396,5 +405,5 @@ index ff4dd53..6d6a2ac 100644 static void dev_init_scheduler_queue(struct net_device *dev, -- -1.7.1.1 +1.7.0.4 diff --git a/net-suppress-warning-of-smp_processor_id-use.patch b/net-suppress-warning-of-smp_processor_id-use.patch index a0be09e..37b3d15 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 e16f1d7efaa6c66bd3603c52059ae8ded55d2193 Mon Sep 17 00:00:00 2001 +From de2d0e83420c2afcbf0447f9ab4452724aa2cfc6 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. @@ -16,12 +16,16 @@ a preempt_disable_rt API that is only activated when PREEMPT_RT is configured. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/sched/sch_generic.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 0a18bbe..bf7f50e 100644 +index 47834d8..e406917 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -95,7 +95,9 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, +@@ -96,7 +96,9 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, * Another cpu is holding lock, requeue & delay xmits for * some time. */ @@ -32,5 +36,5 @@ index 0a18bbe..bf7f50e 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/net-trivial-cast-fix-in-ipv4-route.c.patch b/net-trivial-cast-fix-in-ipv4-route.c.patch index 1725d7f..6e041a4 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 0c1ccf689fbd1cb95a858f47d5d18a3fc6d52111 Mon Sep 17 00:00:00 2001 +From 76e95642e23daa24ce467337b2af1f4f68cadae0 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 @@ -9,9 +9,13 @@ To allow macros pick the right implementation cast to (spinlock_t *). Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/ipv4/route.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv4/route.c b/net/ipv4/route.c -index d62b05d..ac5dc6a 100644 +index cb562fd..71d4e5b 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -242,7 +242,7 @@ static __init void rt_hash_lock_init(void) @@ -24,5 +28,5 @@ index d62b05d..ac5dc6a 100644 static inline void rt_hash_lock_init(void) { -- -1.7.1.1 +1.7.0.4 diff --git a/net-trivial-tcp-preempt-fix-for-rt.patch b/net-trivial-tcp-preempt-fix-for-rt.patch index dbb0fb3..8d9a995 100644 --- a/net-trivial-tcp-preempt-fix-for-rt.patch +++ b/net-trivial-tcp-preempt-fix-for-rt.patch @@ -1,4 +1,4 @@ -From 3724d1b909c8015d6f29221662b9743e39c53ab0 Mon Sep 17 00:00:00 2001 +From e27d7724cc358aba6959d369338fa8cee8cb20ff 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 @@ -7,12 +7,16 @@ commit e06f3b2d479a0f2ddbabda7f0333345f364b14b5 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + net/ipv4/tcp.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c -index b0a26bb..02bebfe 100644 +index 296150b..de32139 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c -@@ -1405,11 +1405,11 @@ int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, +@@ -1440,11 +1440,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)) { @@ -27,5 +31,5 @@ index b0a26bb..02bebfe 100644 } #endif -- -1.7.1.1 +1.7.0.4 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 32616c6..bbff7e8 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 d8b5b73b74b25e986ba99381b143022cb6b87e41 Mon Sep 17 00:00:00 2001 +From c561b8da83e811af20cfca26fc8bf3c666c40acb 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 @@ -11,9 +11,14 @@ we call an RCU callback to do the destruction at a later time. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/skbuff.h | 3 +++ + net/netfilter/core.c | 24 +++++++++++++++++++++++- + 2 files changed, 26 insertions(+), 1 deletions(-) diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h -index ae836fd..45552a4 100644 +index 124f90c..8028bb4 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h @@ -98,6 +98,9 @@ struct pipe_inode_info; @@ -27,10 +32,10 @@ index ae836fd..45552a4 100644 #endif diff --git a/net/netfilter/core.c b/net/netfilter/core.c -index 60ec4e4..978dd44 100644 +index 78b505d..691aa22 100644 --- a/net/netfilter/core.c +++ b/net/netfilter/core.c -@@ -233,7 +233,7 @@ EXPORT_SYMBOL(nf_ct_attach); +@@ -234,7 +234,7 @@ EXPORT_SYMBOL(nf_ct_attach); void (*nf_ct_destroy)(struct nf_conntrack *); EXPORT_SYMBOL(nf_ct_destroy); @@ -39,7 +44,7 @@ index 60ec4e4..978dd44 100644 { void (*destroy)(struct nf_conntrack *); -@@ -243,6 +243,28 @@ void nf_conntrack_destroy(struct nf_conntrack *nfct) +@@ -244,6 +244,28 @@ void nf_conntrack_destroy(struct nf_conntrack *nfct) destroy(nfct); rcu_read_unlock(); } @@ -69,5 +74,5 @@ index 60ec4e4..978dd44 100644 #endif /* CONFIG_NF_CONNTRACK */ -- -1.7.1.1 +1.7.0.4 diff --git a/net-wan-cosa.c-Convert-mutex-to-semaphore.patch b/net-wan-cosa.c-Convert-mutex-to-semaphore.patch index 44bdb3d..0a79ad8 100644 --- a/net-wan-cosa.c-Convert-mutex-to-semaphore.patch +++ b/net-wan-cosa.c-Convert-mutex-to-semaphore.patch @@ -1,4 +1,4 @@ -From 99b4c36be7e14a3d3c6a2655d845bc4a76ab0c5c Mon Sep 17 00:00:00 2001 +From dd49ce70d33df021033fac7c1d65834917870c77 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:59:49 +0200 Subject: [PATCH] net: wan/cosa.c: Convert "mutex" to semaphore @@ -10,9 +10,13 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David S. Miller <davem@davemloft.net> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/wan/cosa.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/wan/cosa.c b/drivers/net/wan/cosa.c -index b36bf96..c56ba75 100644 +index f0bd70f..c346bec 100644 --- a/drivers/net/wan/cosa.c +++ b/drivers/net/wan/cosa.c @@ -575,7 +575,7 @@ static int cosa_probe(int base, int irq, int dma) @@ -25,5 +29,5 @@ index b36bf96..c56ba75 100644 /* Register the network interface */ if (!(chan->netdev = alloc_hdlcdev(chan))) { -- -1.7.1.1 +1.7.0.4 diff --git a/net-xmit-lock-owner-cleanup.patch b/net-xmit-lock-owner-cleanup.patch index 9e661f9..fd61107 100644 --- a/net-xmit-lock-owner-cleanup.patch +++ b/net-xmit-lock-owner-cleanup.patch @@ -1,4 +1,4 @@ -From 356d32bec945c68aa111fa01ef40b098de658a05 Mon Sep 17 00:00:00 2001 +From 851c5879141e8d288d59c9d62f5005ff29be335a 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 @@ -13,12 +13,22 @@ commit 543a589a00e831de55e5f67802b73033dc2dd964 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/net/bnx2.c | 2 +- + drivers/net/mv643xx_eth.c | 6 +++--- + drivers/net/netxen/netxen_nic_init.c | 2 +- + drivers/net/niu.c | 2 +- + include/linux/netdevice.h | 24 ++++++++++++++---------- + net/core/dev.c | 4 ++-- + net/core/netpoll.c | 2 +- + net/sched/sch_generic.c | 4 ++-- + 8 files changed, 25 insertions(+), 21 deletions(-) diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c -index ef2b781..d0bf40d 100644 +index b398c4d..58e66a7 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) +@@ -2858,7 +2858,7 @@ bnx2_tx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget) if (unlikely(netif_tx_queue_stopped(txq)) && (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh)) { @@ -28,7 +38,7 @@ index ef2b781..d0bf40d 100644 (bnx2_tx_avail(bp, txr) > bp->tx_wake_thresh)) netif_tx_wake_queue(txq); diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c -index 28937f8..3e01ec6 100644 +index 89a155f..5644220 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c @@ -508,7 +508,7 @@ static void txq_maybe_wake(struct tx_queue *txq) @@ -59,10 +69,10 @@ index 28937f8..3e01ec6 100644 reclaimed = 0; while (reclaimed < budget && txq->tx_desc_count > 0) { diff --git a/drivers/net/netxen/netxen_nic_init.c b/drivers/net/netxen/netxen_nic_init.c -index 64cff68..c4e38ca 100644 +index 02876f5..8fcc0f8 100644 --- a/drivers/net/netxen/netxen_nic_init.c +++ b/drivers/net/netxen/netxen_nic_init.c -@@ -1625,7 +1625,7 @@ int netxen_process_cmd_ring(struct netxen_adapter *adapter) +@@ -1629,7 +1629,7 @@ int netxen_process_cmd_ring(struct netxen_adapter *adapter) smp_mb(); if (netif_queue_stopped(netdev) && netif_carrier_ok(netdev)) { @@ -72,10 +82,10 @@ index 64cff68..c4e38ca 100644 netif_wake_queue(netdev); adapter->tx_timeo_cnt = 0; diff --git a/drivers/net/niu.c b/drivers/net/niu.c -index 324d3ec..1cd2408 100644 +index 43f4469..ab05c03 100644 --- a/drivers/net/niu.c +++ b/drivers/net/niu.c -@@ -3677,7 +3677,7 @@ static void niu_tx_work(struct niu *np, struct tx_ring_info *rp) +@@ -3647,7 +3647,7 @@ static void niu_tx_work(struct niu *np, struct tx_ring_info *rp) out: if (unlikely(netif_tx_queue_stopped(txq) && (niu_tx_avail(rp) > NIU_TX_WAKEUP_THRESH(rp)))) { @@ -85,10 +95,10 @@ 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 787be1e..a3cbe54 100644 +index bd1ac59..a92de08 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) +@@ -1781,10 +1781,18 @@ static inline u32 netif_msg_init(int debug_value, int default_msg_enable_bits) return (1 << debug_value) - 1; } @@ -109,7 +119,7 @@ index 787be1e..a3cbe54 100644 } static inline void __netif_tx_lock_bh(struct netdev_queue *txq) -@@ -1792,10 +1800,8 @@ static inline void txq_trans_update(struct netdev_queue *txq) +@@ -1828,10 +1836,8 @@ static inline void txq_trans_update(struct netdev_queue *txq) static inline void netif_tx_lock(struct net_device *dev) { unsigned int i; @@ -120,7 +130,7 @@ index 787be1e..a3cbe54 100644 for (i = 0; i < dev->num_tx_queues; i++) { struct netdev_queue *txq = netdev_get_tx_queue(dev, i); -@@ -1805,7 +1811,7 @@ static inline void netif_tx_lock(struct net_device *dev) +@@ -1841,7 +1847,7 @@ static inline void netif_tx_lock(struct net_device *dev) * the ->hard_start_xmit() handler and already * checked the frozen bit. */ @@ -129,7 +139,7 @@ index 787be1e..a3cbe54 100644 set_bit(__QUEUE_STATE_FROZEN, &txq->state); __netif_tx_unlock(txq); } -@@ -1840,9 +1846,9 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) +@@ -1876,9 +1882,9 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) local_bh_enable(); } @@ -141,7 +151,7 @@ index 787be1e..a3cbe54 100644 } \ } -@@ -1855,14 +1861,12 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) +@@ -1891,14 +1897,12 @@ static inline void netif_tx_unlock_bh(struct net_device *dev) static inline void netif_tx_disable(struct net_device *dev) { unsigned int i; @@ -158,10 +168,10 @@ index 787be1e..a3cbe54 100644 __netif_tx_unlock(txq); } diff --git a/net/core/dev.c b/net/core/dev.c -index ae8ca82..6a867ce 100644 +index 90dd59b..953e15b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -2067,9 +2067,9 @@ gso: +@@ -2133,9 +2133,9 @@ gso: /* * No need to check for recursion with threaded interrupts: */ @@ -174,10 +184,10 @@ index ae8ca82..6a867ce 100644 if (!netif_tx_queue_stopped(txq)) { rc = dev_hard_start_xmit(skb, dev, txq); diff --git a/net/core/netpoll.c b/net/core/netpoll.c -index 4f9c6d5..ffd4ecb 100644 +index 1ef0746..696684c 100644 --- a/net/core/netpoll.c +++ b/net/core/netpoll.c -@@ -74,7 +74,7 @@ static void queue_process(struct work_struct *work) +@@ -75,7 +75,7 @@ static void queue_process(struct work_struct *work) txq = netdev_get_tx_queue(dev, skb_get_queue_mapping(skb)); local_irq_save_nort(flags); @@ -187,10 +197,10 @@ index 4f9c6d5..ffd4ecb 100644 netif_tx_queue_frozen(txq) || ops->ndo_start_xmit(skb, dev) != NETDEV_TX_OK) { diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c -index 420335b..0a18bbe 100644 +index e90a2c6..47834d8 100644 --- a/net/sched/sch_generic.c +++ b/net/sched/sch_generic.c -@@ -78,7 +78,7 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, +@@ -79,7 +79,7 @@ static inline int handle_dev_cpu_collision(struct sk_buff *skb, { int ret; @@ -199,7 +209,7 @@ index 420335b..0a18bbe 100644 /* * Same CPU holding the lock. It may be a transient * configuration error, when hard_start_xmit() recurses. We -@@ -120,7 +120,7 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, +@@ -121,7 +121,7 @@ int sch_direct_xmit(struct sk_buff *skb, struct Qdisc *q, /* And release qdisc */ spin_unlock(root_lock); @@ -209,5 +219,5 @@ index 420335b..0a18bbe 100644 ret = dev_hard_start_xmit(skb, dev, txq); -- -1.7.1.1 +1.7.0.4 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 76dbaa0..1ce9a5f 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 c3d39745906c93ddd69dadf2e47614b41ac4a823 Mon Sep 17 00:00:00 2001 +From 2c8d2b85e35d25daed7047219e0c341d34db53ee 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 @@ -14,12 +14,16 @@ __task_cred(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: linux-mm@kvack.org +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/oom_kill.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/mm/oom_kill.c b/mm/oom_kill.c -index 2370504..9210595 100644 +index b68e802..baa45f5 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c -@@ -349,7 +349,7 @@ static void dump_tasks(const struct mem_cgroup *mem) +@@ -350,7 +350,7 @@ static void dump_tasks(const struct mem_cgroup *mem) continue; } printk(KERN_INFO "[%5d] %5d %5d %8lu %8lu %3d %3d %s\n", @@ -29,5 +33,5 @@ index 2370504..9210595 100644 p->comm); task_unlock(p); -- -1.7.1.1 +1.7.0.4 diff --git a/oprofile-Convert-to-raw_spinlock.patch b/oprofile-Convert-to-raw_spinlock.patch index 38cd692..8254115 100644 --- a/oprofile-Convert-to-raw_spinlock.patch +++ b/oprofile-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From d9d0b4f7d466cb1ff91865663bc2fd08c8aef905 Mon Sep 17 00:00:00 2001 +From c53fad56fbd8f5a4565fb3281e7da91ca19aea0c 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 @@ -7,6 +7,13 @@ commit 0ef0a8e3224c0edfce698beee0ecfc9fca07e9a8 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/arm/oprofile/common.c | 4 ++-- + arch/x86/oprofile/nmi_int.c | 4 ++-- + drivers/oprofile/event_buffer.c | 4 ++-- + drivers/oprofile/oprofilefs.c | 6 +++--- + include/linux/oprofile.h | 2 +- + 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/arm/oprofile/common.c b/arch/arm/oprofile/common.c index 3fcd752..54a182b 100644 @@ -25,10 +32,10 @@ index 3fcd752..54a182b 100644 } diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c -index 3347f69..5db38f1 100644 +index 2c505ee..18929a8 100644 --- a/arch/x86/oprofile/nmi_int.c +++ b/arch/x86/oprofile/nmi_int.c -@@ -321,10 +321,10 @@ static void nmi_cpu_setup(void *dummy) +@@ -322,10 +322,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); @@ -97,5 +104,5 @@ index 5171639..7d4ed4d 100644 /** * Add the contents of a circular buffer to the event buffer. -- -1.7.1.1 +1.7.0.4 diff --git a/page_alloc-augment-percpu-pages-support-for-newer-ke.patch b/page_alloc-augment-percpu-pages-support-for-newer-ke.patch index 0a5f482..b300919 100644 --- a/page_alloc-augment-percpu-pages-support-for-newer-ke.patch +++ b/page_alloc-augment-percpu-pages-support-for-newer-ke.patch @@ -1,4 +1,4 @@ -From 91bfcdc157db256c0ac752cb3d51d2bb6a54d1fb Mon Sep 17 00:00:00 2001 +From 66508b9a0d3b979aaf24ad19ab20491fbb48eb63 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 19:17:40 -0500 Subject: [PATCH] page_alloc: augment percpu pages support for newer kernels @@ -43,12 +43,15 @@ 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/page_alloc.c | 90 +++++++++++++++++++++++++++++++------------------------ + 1 files changed, 51 insertions(+), 39 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index 777ac72..ab0695e 100644 +index fac0711..a81bf78 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -195,7 +195,7 @@ static inline void __lock_cpu_pcp(unsigned long *flags, int cpu) +@@ -196,7 +196,7 @@ static inline void __lock_cpu_pcp(unsigned long *flags, int cpu) { #ifdef CONFIG_PREEMPT_RT spin_lock(&__get_cpu_lock(pcp_locks, cpu)); @@ -57,7 +60,7 @@ index 777ac72..ab0695e 100644 #else local_irq_save(*flags); #endif -@@ -597,10 +597,9 @@ static inline int free_pages_check(struct page *page) +@@ -595,10 +595,9 @@ static inline int free_pages_check(struct page *page) * pinned" detection logic. */ static void free_pcppages_bulk(struct zone *zone, int count, @@ -69,7 +72,7 @@ index 777ac72..ab0695e 100644 unsigned long flags; spin_lock_irqsave(&zone->lock, flags); -@@ -608,6 +607,38 @@ static void free_pcppages_bulk(struct zone *zone, int count, +@@ -606,6 +605,38 @@ static void free_pcppages_bulk(struct zone *zone, int count, zone->pages_scanned = 0; __mod_zone_page_state(zone, NR_FREE_PAGES, count); @@ -108,7 +111,7 @@ index 777ac72..ab0695e 100644 while (count) { struct page *page; struct list_head *list; -@@ -623,22 +654,16 @@ static void free_pcppages_bulk(struct zone *zone, int count, +@@ -621,22 +652,16 @@ static void free_pcppages_bulk(struct zone *zone, int count, batch_free++; if (++migratetype == MIGRATE_PCPTYPES) migratetype = 0; @@ -134,7 +137,7 @@ index 777ac72..ab0695e 100644 } static void free_one_page(struct zone *zone, struct page *page, int order, -@@ -1047,16 +1072,6 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, +@@ -1045,16 +1070,6 @@ static int rmqueue_bulk(struct zone *zone, unsigned int order, return i; } @@ -151,7 +154,7 @@ index 777ac72..ab0695e 100644 #ifdef CONFIG_NUMA /* * Called from the vmstat counter updater to drain pagesets of this -@@ -1068,20 +1083,19 @@ isolate_pcp_pages(int count, struct list_head *src, struct list_head *dst) +@@ -1066,20 +1081,19 @@ isolate_pcp_pages(int count, struct list_head *src, struct list_head *dst) */ void drain_zone_pages(struct zone *zone, struct per_cpu_pages *pcp) { @@ -176,7 +179,7 @@ index 777ac72..ab0695e 100644 } #endif -@@ -1099,8 +1113,7 @@ static void drain_pages(unsigned int cpu) +@@ -1097,8 +1111,7 @@ static void drain_pages(unsigned int cpu) for_each_populated_zone(zone) { struct per_cpu_pageset *pset; @@ -186,7 +189,7 @@ index 777ac72..ab0695e 100644 int count; __lock_cpu_pcp(&flags, cpu); -@@ -1111,12 +1124,13 @@ static void drain_pages(unsigned int cpu) +@@ -1109,12 +1122,13 @@ static void drain_pages(unsigned int cpu) WARN_ON(1); continue; } @@ -202,7 +205,7 @@ index 777ac72..ab0695e 100644 } } -@@ -1222,8 +1236,8 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1220,8 +1234,8 @@ void free_hot_cold_page(struct page *page, int cold) struct per_cpu_pageset *pset; struct per_cpu_pages *pcp; unsigned long flags; @@ -213,7 +216,7 @@ index 777ac72..ab0695e 100644 trace_mm_page_free_direct(page, 0); kmemcheck_free_shadow(page, 0); -@@ -1269,16 +1283,15 @@ void free_hot_cold_page(struct page *page, int cold) +@@ -1267,16 +1281,15 @@ void free_hot_cold_page(struct page *page, int cold) list_add(&page->lru, &pcp->lists[migratetype]); pcp->count++; if (pcp->count >= pcp->high) { @@ -233,7 +236,7 @@ index 777ac72..ab0695e 100644 out: put_zone_pcp(zone, flags, this_cpu); } -@@ -1331,11 +1344,10 @@ again: +@@ -1329,11 +1342,10 @@ again: pset = get_zone_pcp(zone, &flags, &this_cpu); if (likely(order == 0)) { @@ -247,5 +250,5 @@ index 777ac72..ab0695e 100644 pcp->count += rmqueue_bulk(zone, 0, pcp->batch, list, -- -1.7.1.1 +1.7.0.4 diff --git a/parport-semaphore-cleanup.patch b/parport-semaphore-cleanup.patch index 7820b48..d5e7fb7 100644 --- a/parport-semaphore-cleanup.patch +++ b/parport-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From e53e13c82eb1651ab69c07d6f9f96a3f1a3f2f92 Mon Sep 17 00:00:00 2001 +From e39c5a558d64a64c3e1adc71ea4eb1818a64aa8c 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 @@ -10,6 +10,10 @@ some places. Make it a semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/parport/share.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/parport/share.c b/drivers/parport/share.c index dffa5d4..a2d9d1e 100644 @@ -25,5 +29,5 @@ index dffa5d4..a2d9d1e 100644 atomic_set (&tmp->ref_count, 1); INIT_LIST_HEAD(&tmp->full_list); -- -1.7.1.1 +1.7.0.4 diff --git a/pci-Convert-pci_lock-to-raw_spinlock.patch b/pci-Convert-pci_lock-to-raw_spinlock.patch index 54531e2..a77b20b 100644 --- a/pci-Convert-pci_lock-to-raw_spinlock.patch +++ b/pci-Convert-pci_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 4e8a4c3e223f32d0c52b151eb7a35e7202eaea6c Mon Sep 17 00:00:00 2001 +From 264e559c803e74f089ad285791a01456f83b0e10 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 @@ -6,12 +6,16 @@ Subject: [PATCH] pci: Convert pci_lock to raw_spinlock commit b68d8890994c099f089ab36eb55302fdc1884612 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/pci/access.c | 34 +++++++++++++++++----------------- + 1 files changed, 17 insertions(+), 17 deletions(-) diff --git a/drivers/pci/access.c b/drivers/pci/access.c -index db23200..0691dbb 100644 +index 2f646fe..affb83b 100644 --- a/drivers/pci/access.c +++ b/drivers/pci/access.c -@@ -12,7 +12,7 @@ +@@ -13,7 +13,7 @@ * configuration space. */ @@ -20,7 +24,7 @@ index db23200..0691dbb 100644 /* * Wrappers for all PCI configuration access functions. They just check -@@ -32,10 +32,10 @@ int pci_bus_read_config_##size \ +@@ -33,10 +33,10 @@ int pci_bus_read_config_##size \ unsigned long flags; \ u32 data = 0; \ if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER; \ @@ -33,7 +37,7 @@ index db23200..0691dbb 100644 return res; \ } -@@ -46,9 +46,9 @@ int pci_bus_write_config_##size \ +@@ -47,9 +47,9 @@ int pci_bus_write_config_##size \ int res; \ unsigned long flags; \ if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER; \ @@ -45,7 +49,7 @@ index db23200..0691dbb 100644 return res; \ } -@@ -78,10 +78,10 @@ struct pci_ops *pci_bus_set_ops(struct pci_bus *bus, struct pci_ops *ops) +@@ -79,10 +79,10 @@ struct pci_ops *pci_bus_set_ops(struct pci_bus *bus, struct pci_ops *ops) struct pci_ops *old_ops; unsigned long flags; @@ -58,7 +62,7 @@ index db23200..0691dbb 100644 return old_ops; } EXPORT_SYMBOL(pci_bus_set_ops); -@@ -135,9 +135,9 @@ static noinline void pci_wait_ucfg(struct pci_dev *dev) +@@ -136,9 +136,9 @@ static noinline void pci_wait_ucfg(struct pci_dev *dev) __add_wait_queue(&pci_ucfg_wait, &wait); do { set_current_state(TASK_UNINTERRUPTIBLE); @@ -70,7 +74,7 @@ index db23200..0691dbb 100644 } while (dev->block_ucfg_access); __remove_wait_queue(&pci_ucfg_wait, &wait); } -@@ -149,11 +149,11 @@ int pci_user_read_config_##size \ +@@ -150,11 +150,11 @@ int pci_user_read_config_##size \ int ret = 0; \ u32 data = -1; \ if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER; \ @@ -84,7 +88,7 @@ index db23200..0691dbb 100644 *val = (type)data; \ return ret; \ } -@@ -164,11 +164,11 @@ int pci_user_write_config_##size \ +@@ -165,11 +165,11 @@ int pci_user_write_config_##size \ { \ int ret = -EIO; \ if (PCI_##size##_BAD) return PCIBIOS_BAD_REGISTER_NUMBER; \ @@ -98,7 +102,7 @@ index db23200..0691dbb 100644 return ret; \ } -@@ -395,10 +395,10 @@ void pci_block_user_cfg_access(struct pci_dev *dev) +@@ -396,10 +396,10 @@ void pci_block_user_cfg_access(struct pci_dev *dev) unsigned long flags; int was_blocked; @@ -111,7 +115,7 @@ index db23200..0691dbb 100644 /* If we BUG() inside the pci_lock, we're guaranteed to hose * the machine */ -@@ -416,7 +416,7 @@ void pci_unblock_user_cfg_access(struct pci_dev *dev) +@@ -417,7 +417,7 @@ void pci_unblock_user_cfg_access(struct pci_dev *dev) { unsigned long flags; @@ -120,7 +124,7 @@ index db23200..0691dbb 100644 /* This indicates a problem in the caller, but we don't need * to kill them, unlike a double-block above. */ -@@ -424,6 +424,6 @@ void pci_unblock_user_cfg_access(struct pci_dev *dev) +@@ -425,6 +425,6 @@ void pci_unblock_user_cfg_access(struct pci_dev *dev) dev->block_ucfg_access = 0; wake_up_all(&pci_ucfg_wait); @@ -129,5 +133,5 @@ index db23200..0691dbb 100644 } EXPORT_SYMBOL_GPL(pci_unblock_user_cfg_access); -- -1.7.1.1 +1.7.0.4 diff --git a/percpu-add-percpu-locked-infrastructure.patch b/percpu-add-percpu-locked-infrastructure.patch index 1696f29..c67ec67 100644 --- a/percpu-add-percpu-locked-infrastructure.patch +++ b/percpu-add-percpu-locked-infrastructure.patch @@ -1,4 +1,4 @@ -From ba404fe58481603a411847fc718eb3366ccd4fc6 Mon Sep 17 00:00:00 2001 +From 0a572d0dbaf39ecb310c1633dd9d0377d55df6f0 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:51 -0500 Subject: [PATCH] percpu: add percpu locked infrastructure @@ -14,6 +14,11 @@ disabling preemption. Add the infrastructure for per cpu locked data. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/asm-generic/percpu.h | 17 ++++++++++++++++- + include/linux/percpu-defs.h | 20 ++++++++++++++++++++ + include/linux/percpu.h | 23 +++++++++++++++++++++++ + 3 files changed, 59 insertions(+), 1 deletions(-) diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h index 04f91c2..d1d3488 100644 @@ -61,7 +66,7 @@ index 04f91c2..d1d3488 100644 #define __raw_get_cpu_var(var) (var) #define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h -index 68567c0..2187c24 100644 +index 68567c0..0b95d09 100644 --- a/include/linux/percpu-defs.h +++ b/include/linux/percpu-defs.h @@ -91,6 +91,22 @@ @@ -103,7 +108,7 @@ index 68567c0..2187c24 100644 #endif /* _LINUX_PERCPU_DEFS_H */ diff --git a/include/linux/percpu.h b/include/linux/percpu.h -index a93e5bf..35f9a30 100644 +index d3a38d6..4494bb0 100644 --- a/include/linux/percpu.h +++ b/include/linux/percpu.h @@ -39,6 +39,29 @@ @@ -137,5 +142,5 @@ index a93e5bf..35f9a30 100644 /* minimum unit size, also is the maximum supported allocation size */ -- -1.7.1.1 +1.7.0.4 diff --git a/percpu-strip-prefix-from-RT-per-cpu-locked-code-as-p.patch b/percpu-strip-prefix-from-RT-per-cpu-locked-code-as-p.patch index 784d11b..99c8818 100644 --- a/percpu-strip-prefix-from-RT-per-cpu-locked-code-as-p.patch +++ b/percpu-strip-prefix-from-RT-per-cpu-locked-code-as-p.patch @@ -1,4 +1,4 @@ -From 8624e279a6dc4cb33ba87ff460466dcfd1617c33 Mon Sep 17 00:00:00 2001 +From 00fc47d16765ded68554b50b45edf141ff5738a2 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 6 Feb 2011 18:48:32 -0500 Subject: [PATCH] percpu: strip prefix from RT per cpu locked code as per mainline @@ -10,6 +10,10 @@ RT patch "percpu: add percpu locked infrastructure" at some point; it is only separate at the moment for easy review. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/asm-generic/percpu.h | 14 +++++--------- + include/linux/percpu-defs.h | 6 +++--- + 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h index d1d3488..114f1e7 100644 @@ -52,10 +56,10 @@ index d1d3488..114f1e7 100644 #define __raw_get_cpu_var(var) (var) #define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0) diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h -index 2187c24..f135a43 100644 +index 0b95d09..3511936 100644 --- a/include/linux/percpu-defs.h +++ b/include/linux/percpu-defs.h -@@ -91,10 +91,10 @@ +@@ -96,11 +96,11 @@ */ #define DEFINE_PER_CPU_SPINLOCK(name, sec) \ __PCPU_ATTRS(sec) PER_CPU_DEF_ATTRIBUTES \ @@ -71,5 +75,5 @@ index 2187c24..f135a43 100644 #define DEFINE_PER_CPU_LOCKED(type, name) \ DEFINE_PER_CPU_SPINLOCK(name, ""); \ -- -1.7.1.1 +1.7.0.4 diff --git a/percpu_counter-Convert-to-raw_spinlock.patch b/percpu_counter-Convert-to-raw_spinlock.patch index 4500117..423edcb 100644 --- a/percpu_counter-Convert-to-raw_spinlock.patch +++ b/percpu_counter-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 3495180164c23344c95999ebca971b79265e17fa Mon Sep 17 00:00:00 2001 +From aa7e8b3b2354550bb55515e92c6bb33d02a78343 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 @@ -6,9 +6,14 @@ Subject: [PATCH] percpu_counter: Convert to raw_spinlock commit 609368d881acb7c5bcf5560cb4098a202f2e0ba6 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/percpu_counter.h | 2 +- + lib/percpu_counter.c | 18 +++++++++--------- + 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/include/linux/percpu_counter.h b/include/linux/percpu_counter.h -index a7684a5..7823c33 100644 +index c88d67b..b1fd3e2 100644 --- a/include/linux/percpu_counter.h +++ b/include/linux/percpu_counter.h @@ -16,7 +16,7 @@ @@ -93,5 +98,5 @@ index aeaa6d7..10fb740 100644 mutex_unlock(&percpu_counters_lock); #endif -- -1.7.1.1 +1.7.0.4 diff --git a/perf-Fix-errors-path-in-perf_output_begin.patch b/perf-Fix-errors-path-in-perf_output_begin.patch index 485a6dc..fa27491 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 873f3ba5d222ac2b0aa60ef0dc647fc9d9c0e7a3 Mon Sep 17 00:00:00 2001 +From 46755bddc8fe2cf220f105b06f347b116819af3f 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() @@ -26,12 +26,16 @@ Cc: Frederic Weisbecker <fweisbec@gmail.com> LKML-Reference: <4bf13674.014fd80a.6c82.ffffb20c@mx.google.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/perf_event.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/perf_event.c b/kernel/perf_event.c -index ee1d0ab..395369a 100644 +index dd73870..0bb58a7 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c -@@ -2881,7 +2881,7 @@ int perf_output_begin(struct perf_output_handle *handle, +@@ -3014,7 +3014,7 @@ int perf_output_begin(struct perf_output_handle *handle, handle->sample = sample; if (!data->nr_pages) @@ -41,5 +45,5 @@ index ee1d0ab..395369a 100644 have_lost = atomic_read(&data->lost); if (have_lost) -- -1.7.1.1 +1.7.0.4 diff --git a/perf-Provide-kmap_atomic_direct-for-CONFIG_HIGHMEM.patch b/perf-Provide-kmap_atomic_direct-for-CONFIG_HIGHMEM.patch index 404fa33..8411941 100644 --- a/perf-Provide-kmap_atomic_direct-for-CONFIG_HIGHMEM.patch +++ b/perf-Provide-kmap_atomic_direct-for-CONFIG_HIGHMEM.patch @@ -1,4 +1,4 @@ -From 327735e61bcee29f59a6fd053db894cdddff987e Mon Sep 17 00:00:00 2001 +From 9959cd88679a227b44195a3db93bd4540899b2fb Mon Sep 17 00:00:00 2001 From: Tim Blechmann <tim@klingt.org> Date: Mon, 30 Aug 2010 12:20:19 +0200 Subject: [PATCH] perf: Provide kmap_atomic_direct for !CONFIG_HIGHMEM @@ -13,12 +13,16 @@ Signed-off-by: Tim Blechmann <tim@klingt.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <8df2d360ce2f1b88d50e0929528f011d50dc1ce5.1283163601.git.tim@klingt.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/highmem.h | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/include/linux/highmem.h b/include/linux/highmem.h -index ab2cc20..ceb4f2e 100644 +index 74152c0..79f7960 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h -@@ -65,8 +65,10 @@ static inline void *kmap_atomic(struct page *page, enum km_type idx) +@@ -71,8 +71,10 @@ static inline void *kmap_atomic(struct page *page, enum km_type idx) return page_address(page); } #define kmap_atomic_prot(page, idx, prot) kmap_atomic(page, idx) @@ -30,5 +34,5 @@ index ab2cc20..ceb4f2e 100644 #define kmap_atomic_to_page(ptr) virt_to_page(ptr) -- -1.7.1.1 +1.7.0.4 diff --git a/perf-Use-kmap_atomic_direct.patch b/perf-Use-kmap_atomic_direct.patch index 60128e4..73a34ce 100644 --- a/perf-Use-kmap_atomic_direct.patch +++ b/perf-Use-kmap_atomic_direct.patch @@ -1,4 +1,4 @@ -From 311347f3adeaf9c32ac0a7b00ceaf345d0c58aa9 Mon Sep 17 00:00:00 2001 +From a6937fe5a01a2c54049cbc6d0a1d929c0fe3af63 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 @@ -15,12 +15,16 @@ for paravirt stuffs. Reported-by: "Sydir, Jerry" <jerry.sydir@intel.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/cpu/perf_event.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c -index 8c1c070..1f409ef 100644 +index db5bdc8..90c5079 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c -@@ -2378,9 +2378,9 @@ copy_from_user_nmi(void *to, const void __user *from, unsigned long n) +@@ -1618,9 +1618,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); @@ -33,5 +37,5 @@ index 8c1c070..1f409ef 100644 len += size; -- -1.7.1.1 +1.7.0.4 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 dafffb6..0e16b0a 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 54d71a2b4bbe887691fb9223c8ffd678132679f2 Mon Sep 17 00:00:00 2001 +From 7557407b1db8e39dbba02c5729869de302598e06 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 @@ -26,12 +26,17 @@ Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net> LKML-Reference: <1251208265.7538.1157.camel@twins> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/perf_event.h | 5 +++ + kernel/perf_event.c | 59 +++++++++++++++++++++++++++++++++++-------- + kernel/timer.c | 1 + + 3 files changed, 54 insertions(+), 11 deletions(-) diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h -index a177698..f57b3ab 100644 +index c8e3754..130bd40 100644 --- a/include/linux/perf_event.h +++ b/include/linux/perf_event.h -@@ -645,6 +645,9 @@ struct perf_event { +@@ -654,6 +654,9 @@ struct perf_event { int pending_kill; int pending_disable; struct perf_pending_entry pending; @@ -41,7 +46,7 @@ index a177698..f57b3ab 100644 atomic_t event_limit; -@@ -753,6 +756,7 @@ extern void perf_event_exit_task(struct task_struct *child); +@@ -762,6 +765,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 +54,7 @@ index a177698..f57b3ab 100644 extern void perf_event_print_debug(void); extern void __perf_disable(void); extern bool __perf_enable(void); -@@ -883,6 +887,7 @@ static inline int perf_event_init_task(struct task_struct *child) { return 0; } +@@ -959,6 +963,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 +63,10 @@ index a177698..f57b3ab 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 2ae7409..ee1d0ab 100644 +index 3d1552d..dd73870 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c -@@ -2560,11 +2560,26 @@ static void perf_pending_event(struct perf_pending_entry *entry) +@@ -2687,11 +2687,26 @@ static void perf_pending_event(struct perf_pending_entry *entry) __perf_event_disable(event); } @@ -88,7 +93,7 @@ index 2ae7409..ee1d0ab 100644 #define PENDING_TAIL ((struct perf_pending_entry *)-1UL) -@@ -2572,33 +2587,42 @@ static DEFINE_PER_CPU(struct perf_pending_entry *, perf_pending_head) = { +@@ -2699,33 +2714,42 @@ static DEFINE_PER_CPU(struct perf_pending_entry *, perf_pending_head) = { PENDING_TAIL, }; @@ -140,7 +145,7 @@ index 2ae7409..ee1d0ab 100644 while (list != PENDING_TAIL) { void (*func)(struct perf_pending_entry *); struct perf_pending_entry *entry = list; -@@ -2628,7 +2652,8 @@ static inline int perf_not_pending(struct perf_event *event) +@@ -2755,7 +2779,8 @@ static inline int perf_not_pending(struct perf_event *event) * need to wait. */ get_cpu(); @@ -150,7 +155,7 @@ index 2ae7409..ee1d0ab 100644 put_cpu(); /* -@@ -2646,7 +2671,13 @@ static void perf_pending_sync(struct perf_event *event) +@@ -2773,7 +2798,13 @@ static void perf_pending_sync(struct perf_event *event) void perf_event_do_pending(void) { @@ -165,7 +170,7 @@ index 2ae7409..ee1d0ab 100644 } /* -@@ -2684,12 +2715,18 @@ static void perf_output_wakeup(struct perf_output_handle *handle) +@@ -2817,12 +2848,18 @@ static void perf_output_wakeup(struct perf_output_handle *handle) { atomic_set(&handle->data->poll, POLL_IN); @@ -185,10 +190,10 @@ index 2ae7409..ee1d0ab 100644 /* diff --git a/kernel/timer.c b/kernel/timer.c -index f4978ac..c850d06 100644 +index 7fcbfd7..e107f35 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1278,6 +1278,7 @@ static void run_timer_softirq(struct softirq_action *h) +@@ -1280,6 +1280,7 @@ static void run_timer_softirq(struct softirq_action *h) printk_tick(); hrtimer_run_pending(); @@ -197,5 +202,5 @@ index f4978ac..c850d06 100644 if (time_after_eq(jiffies, base->timer_jiffies)) __run_timers(base); -- -1.7.1.1 +1.7.0.4 diff --git a/posix-timers-Prevent-broadcast-signals.patch b/posix-timers-Prevent-broadcast-signals.patch index f05023c..1678b35 100644 --- a/posix-timers-Prevent-broadcast-signals.patch +++ b/posix-timers-Prevent-broadcast-signals.patch @@ -1,4 +1,4 @@ -From d0dc8368b608d766e784c56da37f5fbc6d870f65 Mon Sep 17 00:00:00 2001 +From acadd95e10777dd0a5c12367736bceae2788e67a 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 @@ -9,9 +9,13 @@ Posix timers should not send broadcast signals and kernel only signals. Prevent it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/posix-timers.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c -index 4954407..2114ed0 100644 +index 00d1fda..711737b 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c @@ -462,6 +462,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer) @@ -33,5 +37,5 @@ index 4954407..2114ed0 100644 return task_pid(rtn); -- -1.7.1.1 +1.7.0.4 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 b60ccee..e82f939 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 a23ca20c7d19e5d1ffccb58e50625afa4984b2af Mon Sep 17 00:00:00 2001 +From 1bb9ecf1b1cad1a1283fb80d2155201d9851c9ad 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 @@ -13,12 +13,16 @@ Done on 2.6.24.7, but probably applicable to later kernels. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/posix-cpu-timers.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c -index 36994bc..c35bfa3 100644 +index 1a986f1..a73d9f0 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c -@@ -1552,7 +1552,7 @@ static int posix_cpu_thread_call(struct notifier_block *nfb, +@@ -1560,7 +1560,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, @@ -28,5 +32,5 @@ index 36994bc..c35bfa3 100644 return NOTIFY_BAD; p->flags |= PF_NOFREEZE; -- -1.7.1.1 +1.7.0.4 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 b41e53f..0faf719 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 d816c531fa641629410e3b63270efd37f777ebe9 Mon Sep 17 00:00:00 2001 +From fb9d645bcacaced10a18726bd8c0fface2bef5bb 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 @@ -8,12 +8,16 @@ commit 4aef9893f48ad8905a35b2fbe2cc78662c0fa441 in tip. Waking the thread even when no timers are scheduled is useless. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/posix-cpu-timers.c | 21 ++++++++++++++++++--- + 1 files changed, 18 insertions(+), 3 deletions(-) diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c -index c35bfa3..3dd9218 100644 +index a73d9f0..892f63b 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c -@@ -1509,6 +1509,21 @@ wait_to_die: +@@ -1517,6 +1517,21 @@ wait_to_die: return 0; } @@ -35,7 +39,7 @@ index c35bfa3..3dd9218 100644 void run_posix_cpu_timers(struct task_struct *tsk) { unsigned long cpu = smp_processor_id(); -@@ -1521,7 +1536,7 @@ void run_posix_cpu_timers(struct task_struct *tsk) +@@ -1529,7 +1544,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 +48,7 @@ index c35bfa3..3dd9218 100644 get_task_struct(tsk); if (tasklist) { tsk->posix_timer_list = tasklist; -@@ -1533,9 +1548,9 @@ void run_posix_cpu_timers(struct task_struct *tsk) +@@ -1541,9 +1556,9 @@ void run_posix_cpu_timers(struct task_struct *tsk) tsk->posix_timer_list = tsk; } per_cpu(posix_timer_tasklist, cpu) = tsk; @@ -57,5 +61,5 @@ index c35bfa3..3dd9218 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/posix-timers-thread-posix-cpu-timers-on-rt.patch b/posix-timers-thread-posix-cpu-timers-on-rt.patch index 16af5cf..d468515 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 9fd9af20640d4da2a4bd7311ffee1b5c7bd7b88f Mon Sep 17 00:00:00 2001 +From f2d17f91ad7890398ce82cf57ca03522f0618796 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 @@ -11,12 +11,19 @@ context. Move it to a thread. Signed-off-by: John Stultz <johnstul@us.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/init_task.h | 1 + + include/linux/sched.h | 2 + + init/main.c | 1 + + kernel/fork.c | 2 +- + kernel/posix-cpu-timers.c | 169 +++++++++++++++++++++++++++++++++++++++++++- + 5 files changed, 170 insertions(+), 5 deletions(-) diff --git a/include/linux/init_task.h b/include/linux/init_task.h -index e93b8cd..cae32ed 100644 +index e13501e..1bec149 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h -@@ -167,6 +167,7 @@ extern struct cred init_cred; +@@ -159,6 +159,7 @@ extern struct cred init_cred; .fs_excl = ATOMIC_INIT(0), \ .pi_lock = __RAW_SPIN_LOCK_UNLOCKED(tsk.pi_lock), \ .timer_slack_ns = 50000, /* 50 usec default slack */ \ @@ -25,10 +32,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 7e50287..7b23ee4 100644 +index 04f5f43..379fec4 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1370,6 +1370,8 @@ struct task_struct { +@@ -1311,6 +1311,8 @@ struct task_struct { struct task_cputime cputime_expires; struct list_head cpu_timers[3]; @@ -38,10 +45,10 @@ index 7e50287..7b23ee4 100644 const struct cred *real_cred; /* objective and real subjective task * credentials (COW) */ diff --git a/init/main.c b/init/main.c -index edabbff..650c1ce 100644 +index 136733a..6304bab 100644 --- a/init/main.c +++ b/init/main.c -@@ -36,6 +36,7 @@ +@@ -35,6 +35,7 @@ #include <linux/workqueue.h> #include <linux/profile.h> #include <linux/rcupdate.h> @@ -50,10 +57,10 @@ index edabbff..650c1ce 100644 #include <linux/kallsyms.h> #include <linux/writeback.h> diff --git a/kernel/fork.c b/kernel/fork.c -index bab0a66..334ebe7 100644 +index e1e1158..f2fac69 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1090,7 +1090,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1070,7 +1070,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, acct_clear_integrals(p); posix_cpu_timers_init(p); @@ -63,7 +70,7 @@ index bab0a66..334ebe7 100644 do_posix_clock_monotonic_gettime(&p->start_time); p->real_start_time = p->start_time; diff --git a/kernel/posix-cpu-timers.c b/kernel/posix-cpu-timers.c -index 359cc24..36994bc 100644 +index 8997bd7..1a986f1 100644 --- a/kernel/posix-cpu-timers.c +++ b/kernel/posix-cpu-timers.c @@ -570,7 +570,7 @@ static void arm_timer(struct k_itimer *timer, union cpu_time_count now) @@ -84,7 +91,7 @@ index 359cc24..36994bc 100644 ret = 0; spin_lock(&p->sighand->siglock); -@@ -1390,12 +1390,11 @@ static inline int fastpath_timer_check(struct task_struct *tsk) +@@ -1398,12 +1398,11 @@ static inline int fastpath_timer_check(struct task_struct *tsk) * already updated our counts. We need to check if any timers fire now. * Interrupts are disabled. */ @@ -98,7 +105,7 @@ index 359cc24..36994bc 100644 /* * The fast path checks that there are no expired thread or thread -@@ -1447,6 +1446,162 @@ void run_posix_cpu_timers(struct task_struct *tsk) +@@ -1455,6 +1454,162 @@ void run_posix_cpu_timers(struct task_struct *tsk) } } @@ -261,7 +268,7 @@ index 359cc24..36994bc 100644 /* * Set one of the process-wide special case CPU timers. * The tsk->sighand->siglock must be held by the caller. -@@ -1713,6 +1868,12 @@ static __init int init_posix_cpu_timers(void) +@@ -1721,6 +1876,12 @@ static __init int init_posix_cpu_timers(void) .nsleep_restart = thread_cpu_nsleep_restart, }; struct timespec ts; @@ -275,5 +282,5 @@ index 359cc24..36994bc 100644 register_posix_clock(CLOCK_PROCESS_CPUTIME_ID, &process); register_posix_clock(CLOCK_THREAD_CPUTIME_ID, &thread); -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-Annotate-atomic_locks.patch b/powerpc-Annotate-atomic_locks.patch index a62fe1f..82980c6 100644 --- a/powerpc-Annotate-atomic_locks.patch +++ b/powerpc-Annotate-atomic_locks.patch @@ -1,4 +1,4 @@ -From 7bdf1ee7e9269dd936a69d23cefeb02930711442 Mon Sep 17 00:00:00 2001 +From 22b032adaabf78302c527e401568b0cc7b8283de 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 @@ -10,12 +10,16 @@ commit 32ff9169c2f6c94c900f08217359972e2f3eb17f in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/kernel/traps.c | 5 +++++ + arch/powerpc/mm/tlb_nohash.c | 2 ++ + 2 files changed, 7 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c -index d069ff8..4f99a3a 100644 +index 29d128e..965b50c 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c -@@ -202,6 +202,11 @@ void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr) +@@ -206,6 +206,11 @@ void _exception(int signr, struct pt_regs *regs, int code, unsigned long addr) addr, regs->nip, regs->link, code); } @@ -28,7 +32,7 @@ index d069ff8..4f99a3a 100644 info.si_signo = signr; info.si_code = code; diff --git a/arch/powerpc/mm/tlb_nohash.c b/arch/powerpc/mm/tlb_nohash.c -index 2fbc680..a65f1d0 100644 +index e81d5d6..a65f1d0 100644 --- a/arch/powerpc/mm/tlb_nohash.c +++ b/arch/powerpc/mm/tlb_nohash.c @@ -274,7 +274,9 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end) @@ -42,5 +46,5 @@ index 2fbc680..a65f1d0 100644 } EXPORT_SYMBOL(flush_tlb_kernel_range); -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-Convert-uic-lock-to-raw_spinlock.patch b/powerpc-Convert-uic-lock-to-raw_spinlock.patch index 8615e7a..c1e7e8e 100644 --- a/powerpc-Convert-uic-lock-to-raw_spinlock.patch +++ b/powerpc-Convert-uic-lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From e86d615bf6a99c31d9bf197ff2e9605d7ec4b46d Mon Sep 17 00:00:00 2001 +From f829fff36c6b8626990950e15958c4eb17bbfa7e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 6 Apr 2010 09:44:10 +0200 Subject: [PATCH] powerpc: Convert uic->lock to raw_spinlock @@ -10,9 +10,13 @@ can not sleep. Convert it to raw_spinlock Reported-by: Darcy L. Watkins <dwatkins@tranzeo.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/sysdev/uic.c | 24 ++++++++++++------------ + 1 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c -index 6f220a9..114fc02 100644 +index 0038fb7..2fc05dc 100644 --- a/arch/powerpc/sysdev/uic.c +++ b/arch/powerpc/sysdev/uic.c @@ -49,7 +49,7 @@ struct uic { @@ -113,5 +117,5 @@ index 6f220a9..114fc02 100644 if (!indexp || (len != sizeof(u32))) { printk(KERN_ERR "uic: Device node %s has missing or invalid " -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-Disable-preemption-across-hypervisor-call.patch b/powerpc-Disable-preemption-across-hypervisor-call.patch index 1488d95..a4f89f4 100644 --- a/powerpc-Disable-preemption-across-hypervisor-call.patch +++ b/powerpc-Disable-preemption-across-hypervisor-call.patch @@ -1,4 +1,4 @@ -From 5124d403e0389e577e04dea7adbccb1cde7e3219 Mon Sep 17 00:00:00 2001 +From b7975b9770953bd7c6d41a819c6d599410341de0 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 @@ -8,6 +8,10 @@ commit 2126c312a6267cbf1f85f604dbc781af252279b3 in tip. Otherwise the HV magic gets confused if we are preempted. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/lib/locks.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/lib/locks.c b/arch/powerpc/lib/locks.c index 58e14fb..55c7908 100644 @@ -25,5 +29,5 @@ index 58e14fb..55c7908 100644 HMT_medium(); } -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-Disable-sparse-irq-for-RT.patch b/powerpc-Disable-sparse-irq-for-RT.patch index 2d88b03..9e0593a 100644 --- a/powerpc-Disable-sparse-irq-for-RT.patch +++ b/powerpc-Disable-sparse-irq-for-RT.patch @@ -1,4 +1,4 @@ -From cee9ee0e090b22eadba9f6e8134dbd5cbf9aab61 Mon Sep 17 00:00:00 2001 +From c78fd23b2f6ee23fb8c2eb531aac441abed4bac4 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 14 Jun 2010 18:21:50 +0200 Subject: [PATCH] powerpc: Disable sparse irq for RT @@ -9,12 +9,16 @@ sparse irq does not yet work with RT. Disable it. Reported-by: Will Schmidt <will_schmidt@vnet.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/Kconfig | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig -index 209b1b0..5441ab4 100644 +index acef6fd..8db2fd8 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig -@@ -385,6 +385,7 @@ config IRQ_ALL_CPUS +@@ -400,6 +400,7 @@ config IRQ_ALL_CPUS config SPARSE_IRQ bool "Support sparse irq numbering" @@ -23,5 +27,5 @@ index 209b1b0..5441ab4 100644 help This enables support for sparse irqs. This is useful for distro -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-Enable-interrupts-in-do_signal.patch b/powerpc-Enable-interrupts-in-do_signal.patch index 443b564..c92b57f 100644 --- a/powerpc-Enable-interrupts-in-do_signal.patch +++ b/powerpc-Enable-interrupts-in-do_signal.patch @@ -1,4 +1,4 @@ -From c7dec167a21e00e5ebd1c5c525719814b95c7bf5 Mon Sep 17 00:00:00 2001 +From d9dddfa1c6504a6f5068af4a4a56b305e7aa1cb8 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 14 Jun 2010 18:20:05 +0200 Subject: [PATCH] powerpc: Enable interrupts in do_signal() @@ -10,9 +10,13 @@ warning or scheduling while atomic bugs. Reported-by: Will Schmidt <will_schmidt@vnet.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/kernel/signal.c | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/kernel/signal.c b/arch/powerpc/kernel/signal.c -index 00b5078..fa580f9 100644 +index a0afb55..de4960c 100644 --- a/arch/powerpc/kernel/signal.c +++ b/arch/powerpc/kernel/signal.c @@ -120,6 +120,14 @@ static int do_signal_pending(sigset_t *oldset, struct pt_regs *regs) @@ -31,5 +35,5 @@ index 00b5078..fa580f9 100644 oldset = ¤t->saved_sigmask; else if (!oldset) -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-OF-convert-to-raw-lock.patch b/powerpc-OF-convert-to-raw-lock.patch index 56d22b8..121dfa9 100644 --- a/powerpc-OF-convert-to-raw-lock.patch +++ b/powerpc-OF-convert-to-raw-lock.patch @@ -1,4 +1,4 @@ -From 6612f21aa244a24ed3dc210b15d92fee5d1c98ad Mon Sep 17 00:00:00 2001 +From 57acbe7f366abcbd80e7d1833269e0f6998668e7 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 29 Jul 2009 13:59:43 +0200 Subject: [PATCH] powerpc: OF convert to raw lock @@ -11,12 +11,16 @@ performance critical. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/of/base.c | 72 ++++++++++++++++++++++++++-------------------------- + include/linux/of.h | 2 +- + 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/drivers/of/base.c b/drivers/of/base.c -index cb96888..861c9d6 100644 +index b5ad974..4e40618 100644 --- a/drivers/of/base.c +++ b/drivers/of/base.c -@@ -28,7 +28,7 @@ struct device_node *of_chosen; +@@ -29,7 +29,7 @@ struct device_node *of_chosen; /* use when traversing tree through the allnext, child, sibling, * or parent members of struct device_node. */ @@ -25,7 +29,7 @@ index cb96888..861c9d6 100644 int of_n_addr_cells(struct device_node *np) { -@@ -146,7 +146,7 @@ struct property *of_find_property(const struct device_node *np, +@@ -147,7 +147,7 @@ struct property *of_find_property(const struct device_node *np, if (!np) return NULL; @@ -34,7 +38,7 @@ index cb96888..861c9d6 100644 for (pp = np->properties; pp != 0; pp = pp->next) { if (of_prop_cmp(pp->name, name) == 0) { if (lenp != 0) -@@ -154,7 +154,7 @@ struct property *of_find_property(const struct device_node *np, +@@ -155,7 +155,7 @@ struct property *of_find_property(const struct device_node *np, break; } } @@ -43,7 +47,7 @@ index cb96888..861c9d6 100644 return pp; } -@@ -172,13 +172,13 @@ struct device_node *of_find_all_nodes(struct device_node *prev) +@@ -173,13 +173,13 @@ struct device_node *of_find_all_nodes(struct device_node *prev) { struct device_node *np; @@ -59,7 +63,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_all_nodes); -@@ -281,9 +281,9 @@ struct device_node *of_get_parent(const struct device_node *node) +@@ -282,9 +282,9 @@ struct device_node *of_get_parent(const struct device_node *node) if (!node) return NULL; @@ -71,7 +75,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_get_parent); -@@ -306,10 +306,10 @@ struct device_node *of_get_next_parent(struct device_node *node) +@@ -307,10 +307,10 @@ struct device_node *of_get_next_parent(struct device_node *node) if (!node) return NULL; @@ -84,7 +88,7 @@ index cb96888..861c9d6 100644 return parent; } -@@ -326,13 +326,13 @@ struct device_node *of_get_next_child(const struct device_node *node, +@@ -327,13 +327,13 @@ struct device_node *of_get_next_child(const struct device_node *node, { struct device_node *next; @@ -100,7 +104,7 @@ index cb96888..861c9d6 100644 return next; } EXPORT_SYMBOL(of_get_next_child); -@@ -348,13 +348,13 @@ struct device_node *of_find_node_by_path(const char *path) +@@ -349,13 +349,13 @@ struct device_node *of_find_node_by_path(const char *path) { struct device_node *np = allnodes; @@ -116,7 +120,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_node_by_path); -@@ -375,14 +375,14 @@ struct device_node *of_find_node_by_name(struct device_node *from, +@@ -376,14 +376,14 @@ struct device_node *of_find_node_by_name(struct device_node *from, { struct device_node *np; @@ -133,7 +137,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_node_by_name); -@@ -404,14 +404,14 @@ struct device_node *of_find_node_by_type(struct device_node *from, +@@ -405,14 +405,14 @@ struct device_node *of_find_node_by_type(struct device_node *from, { struct device_node *np; @@ -150,7 +154,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_node_by_type); -@@ -435,7 +435,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -436,7 +436,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, { struct device_node *np; @@ -159,7 +163,7 @@ index cb96888..861c9d6 100644 np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { if (type -@@ -445,7 +445,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, +@@ -446,7 +446,7 @@ struct device_node *of_find_compatible_node(struct device_node *from, break; } of_node_put(from); @@ -168,7 +172,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_compatible_node); -@@ -468,7 +468,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, +@@ -469,7 +469,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, struct device_node *np; struct property *pp; @@ -177,7 +181,7 @@ index cb96888..861c9d6 100644 np = from ? from->allnext : allnodes; for (; np; np = np->allnext) { for (pp = np->properties; pp != 0; pp = pp->next) { -@@ -480,7 +480,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, +@@ -481,7 +481,7 @@ struct device_node *of_find_node_with_property(struct device_node *from, } out: of_node_put(from); @@ -186,7 +190,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_node_with_property); -@@ -531,14 +531,14 @@ struct device_node *of_find_matching_node(struct device_node *from, +@@ -532,14 +532,14 @@ struct device_node *of_find_matching_node(struct device_node *from, { struct device_node *np; @@ -203,7 +207,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_matching_node); -@@ -627,12 +627,12 @@ struct device_node *of_find_node_by_phandle(phandle handle) +@@ -628,12 +628,12 @@ struct device_node *of_find_node_by_phandle(phandle handle) { struct device_node *np; @@ -218,7 +222,7 @@ index cb96888..861c9d6 100644 return np; } EXPORT_SYMBOL(of_find_node_by_phandle); -@@ -787,18 +787,18 @@ int prom_add_property(struct device_node *np, struct property *prop) +@@ -788,18 +788,18 @@ int prom_add_property(struct device_node *np, struct property *prop) unsigned long flags; prop->next = NULL; @@ -240,7 +244,7 @@ index cb96888..861c9d6 100644 #ifdef CONFIG_PROC_DEVICETREE /* try to add to proc as well if it was initialized */ -@@ -823,7 +823,7 @@ int prom_remove_property(struct device_node *np, struct property *prop) +@@ -824,7 +824,7 @@ int prom_remove_property(struct device_node *np, struct property *prop) unsigned long flags; int found = 0; @@ -249,7 +253,7 @@ index cb96888..861c9d6 100644 next = &np->properties; while (*next) { if (*next == prop) { -@@ -836,7 +836,7 @@ int prom_remove_property(struct device_node *np, struct property *prop) +@@ -837,7 +837,7 @@ int prom_remove_property(struct device_node *np, struct property *prop) } next = &(*next)->next; } @@ -258,7 +262,7 @@ index cb96888..861c9d6 100644 if (!found) return -ENODEV; -@@ -866,7 +866,7 @@ int prom_update_property(struct device_node *np, +@@ -867,7 +867,7 @@ int prom_update_property(struct device_node *np, unsigned long flags; int found = 0; @@ -267,7 +271,7 @@ index cb96888..861c9d6 100644 next = &np->properties; while (*next) { if (*next == oldprop) { -@@ -880,7 +880,7 @@ int prom_update_property(struct device_node *np, +@@ -881,7 +881,7 @@ int prom_update_property(struct device_node *np, } next = &(*next)->next; } @@ -276,7 +280,7 @@ index cb96888..861c9d6 100644 if (!found) return -ENODEV; -@@ -910,12 +910,12 @@ void of_attach_node(struct device_node *np) +@@ -911,12 +911,12 @@ void of_attach_node(struct device_node *np) { unsigned long flags; @@ -291,7 +295,7 @@ index cb96888..861c9d6 100644 } /** -@@ -929,7 +929,7 @@ void of_detach_node(struct device_node *np) +@@ -930,7 +930,7 @@ void of_detach_node(struct device_node *np) struct device_node *parent; unsigned long flags; @@ -300,7 +304,7 @@ index cb96888..861c9d6 100644 parent = np->parent; if (!parent) -@@ -960,7 +960,7 @@ void of_detach_node(struct device_node *np) +@@ -961,7 +961,7 @@ void of_detach_node(struct device_node *np) of_node_set_flag(np, OF_DETACHED); out_unlock: @@ -310,7 +314,7 @@ index cb96888..861c9d6 100644 #endif /* defined(CONFIG_OF_DYNAMIC) */ diff --git a/include/linux/of.h b/include/linux/of.h -index f6d9cbc..d8869f7 100644 +index a367e19..4993e26 100644 --- a/include/linux/of.h +++ b/include/linux/of.h @@ -68,7 +68,7 @@ struct device_node { @@ -323,5 +327,5 @@ index f6d9cbc..d8869f7 100644 static inline int of_node_check_flag(struct device_node *n, unsigned long flag) { -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-Replace-kmap_atomic-with-kmap-in-pte_offset_.patch b/powerpc-Replace-kmap_atomic-with-kmap-in-pte_offset_.patch index 80b5f02..a5e31c0 100644 --- a/powerpc-Replace-kmap_atomic-with-kmap-in-pte_offset_.patch +++ b/powerpc-Replace-kmap_atomic-with-kmap-in-pte_offset_.patch @@ -1,4 +1,4 @@ -From 1268870be30e4571b0e007c986231c434c3b4912 Mon Sep 17 00:00:00 2001 +From 1ada8088b43e71f7da2b9032172dad4841d4a9be Mon Sep 17 00:00:00 2001 From: Kevin Hao <kexin.hao@windriver.com> Date: Tue, 2 Mar 2010 16:51:57 -0500 Subject: [PATCH] powerpc: Replace kmap_atomic with kmap in pte_offset_map @@ -15,6 +15,9 @@ Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> LKML-Reference: <ffaf532c138188b526a8c623ed3c7f5067da6d68.1267566249.git.paul.gortmaker@windriver.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +--- + arch/powerpc/include/asm/pgtable-ppc32.h | 12 ++++++++++++ + 1 files changed, 12 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/include/asm/pgtable-ppc32.h b/arch/powerpc/include/asm/pgtable-ppc32.h index 55646ad..a838099 100644 @@ -47,5 +50,5 @@ index 55646ad..a838099 100644 /* * Encode and decode a swap entry. -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-chrp-time.c-fix-preprocessor-conditional.patch b/powerpc-chrp-time.c-fix-preprocessor-conditional.patch index e3bbd7a..57e3e72 100644 --- a/powerpc-chrp-time.c-fix-preprocessor-conditional.patch +++ b/powerpc-chrp-time.c-fix-preprocessor-conditional.patch @@ -1,4 +1,4 @@ -From 1f0f6ec523917972127caf33dee552990db1841e Mon Sep 17 00:00:00 2001 +From 2eb14c8a0281f8bf57e5a0521c93e9f5c0ccd860 Mon Sep 17 00:00:00 2001 From: Olaf Hering <olaf@aepfle.de> Date: Sat, 5 Jun 2010 09:45:12 +0200 Subject: [PATCH] powerpc: chrp/time.c fix preprocessor conditional @@ -11,6 +11,10 @@ arch/powerpc/platforms/chrp/time.c:86:5: error: "CONFIG_PREEMPT_RT" is not defin Signed-off-by: Olaf Hering <olaf@aepfle.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/platforms/chrp/time.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/platforms/chrp/time.c b/arch/powerpc/platforms/chrp/time.c index 8f1d8cd..c418c83 100644 @@ -26,5 +30,5 @@ index 8f1d8cd..c418c83 100644 return -1; #else -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-.patch b/powerpc-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-.patch index e7983a0..7cd4586 100644 --- a/powerpc-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-.patch +++ b/powerpc-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-.patch @@ -1,4 +1,4 @@ -From 59fdcc01a4952a521dbae619254d1d4e3f0651e7 Mon Sep 17 00:00:00 2001 +From cff36f861d0e90f7d255ca4c9722ad2f347e9f09 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 20 Jul 2010 14:34:50 +0200 Subject: [PATCH] powerpc: cpu-hotplug: Prevent softirq wakeup on wrong CPU @@ -14,6 +14,10 @@ the cpu_active bit. Temporary workaround. Needs more thought. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/kernel/smp.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index c2ee144..c09bbc7 100644 @@ -30,5 +34,5 @@ index c2ee144..c09bbc7 100644 cpu_idle(); -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-decouple-page-fault-logic.patch.patch b/powerpc-decouple-page-fault-logic.patch.patch index 2a5d323..32f8bdb 100644 --- a/powerpc-decouple-page-fault-logic.patch.patch +++ b/powerpc-decouple-page-fault-logic.patch.patch @@ -1,4 +1,4 @@ -From 73eaac693eab409b6db9950b7d15e5020624258f Mon Sep 17 00:00:00 2001 +From 7e8d5b5a1f8bffbfcb748bee3be145bf9cba1420 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 @@ -6,6 +6,11 @@ Subject: [PATCH] powerpc-decouple-page-fault-logic.patch commit ce0f1eef1522853a936e998da5de5d54fc201555 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/mm/fault.c | 2 +- + arch/powerpc/mm/highmem.c | 2 ++ + 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/mm/fault.c b/arch/powerpc/mm/fault.c index 26fb6b9..d89a78a 100644 @@ -40,5 +45,5 @@ index c2186c7..81310e2 100644 } EXPORT_SYMBOL(kunmap_atomic); -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-kprobes-Fix-missed-preemption-check.patch b/powerpc-kprobes-Fix-missed-preemption-check.patch index 5bfdbb5..674f163 100644 --- a/powerpc-kprobes-Fix-missed-preemption-check.patch +++ b/powerpc-kprobes-Fix-missed-preemption-check.patch @@ -1,4 +1,4 @@ -From b4f4919b32aeadc6e0c1a0bc996e541073e0bcf7 Mon Sep 17 00:00:00 2001 +From 3ac05b76a092e78e48ce86526b4ffc4234d3710a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 08:44:55 -0500 Subject: [PATCH] powerpc: kprobes: Fix missed preemption check @@ -6,12 +6,16 @@ Subject: [PATCH] powerpc: kprobes: Fix missed preemption check commit b4f4919b32aeadc6e0c1a0bc996e541073e0bcf7 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/kernel/kprobes.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/powerpc/kernel/kprobes.c b/arch/powerpc/kernel/kprobes.c -index c932978..dcbf960 100644 +index b36f074..db33e10 100644 --- a/arch/powerpc/kernel/kprobes.c +++ b/arch/powerpc/kernel/kprobes.c -@@ -263,7 +263,7 @@ ss_probe: +@@ -264,7 +264,7 @@ ss_probe: kcb->kprobe_status = KPROBE_HIT_SSDONE; reset_current_kprobe(); @@ -20,7 +24,7 @@ index c932978..dcbf960 100644 return 1; } else if (ret < 0) { /* -@@ -282,7 +282,7 @@ ss_probe: +@@ -283,7 +283,7 @@ ss_probe: return 1; no_kprobe: @@ -29,7 +33,7 @@ index c932978..dcbf960 100644 return ret; } -@@ -412,7 +412,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) +@@ -413,7 +413,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) } reset_current_kprobe(); out: @@ -39,5 +43,5 @@ index c932978..dcbf960 100644 /* * if somebody else is singlestepping across a probe point, msr -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-mmu-gather-and-tlb-fixes.patch b/powerpc-mmu-gather-and-tlb-fixes.patch index 97a60d8..d8a4047 100644 --- a/powerpc-mmu-gather-and-tlb-fixes.patch +++ b/powerpc-mmu-gather-and-tlb-fixes.patch @@ -1,4 +1,4 @@ -From 332fa27b9ddc497f6e629cb92fc8339706fe5b12 Mon Sep 17 00:00:00 2001 +From 881e07d3e84f067870ba63e48b194a319e93326c Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Fri, 3 Jul 2009 08:44:51 -0500 Subject: [PATCH] powerpc: mmu gather and tlb fixes @@ -8,6 +8,18 @@ commit e7e7fcb92fc6ef2cdb8cc070e9c0d26f03f7b8eb in tip. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/include/asm/pgalloc.h | 4 ++-- + arch/powerpc/include/asm/pgtable-ppc64.h | 9 ++++++++- + arch/powerpc/include/asm/tlb.h | 10 ++++++++++ + arch/powerpc/include/asm/tlbflush.h | 17 ++++++++++++----- + arch/powerpc/kernel/process.c | 22 ++++++++++++++++++++++ + arch/powerpc/mm/pgtable.c | 24 ++++++++++-------------- + arch/powerpc/mm/tlb_hash32.c | 2 +- + arch/powerpc/mm/tlb_hash64.c | 23 ++++++++++++++++++++--- + arch/powerpc/mm/tlb_nohash.c | 2 +- + arch/powerpc/platforms/pseries/iommu.c | 9 ++++++--- + 10 files changed, 92 insertions(+), 30 deletions(-) diff --git a/arch/powerpc/include/asm/pgalloc.h b/arch/powerpc/include/asm/pgalloc.h index abe8532..df1b4cb 100644 @@ -107,10 +119,10 @@ index d50a380..b594942 100644 #define arch_flush_lazy_mmu_mode() do {} while (0) diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c -index 7b816da..3ec4ca4 100644 +index e4d71ce..b774701 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c -@@ -304,6 +304,10 @@ struct task_struct *__switch_to(struct task_struct *prev, +@@ -389,6 +389,10 @@ struct task_struct *__switch_to(struct task_struct *prev, struct thread_struct *new_thread, *old_thread; unsigned long flags; struct task_struct *last; @@ -121,7 +133,7 @@ index 7b816da..3ec4ca4 100644 #ifdef CONFIG_SMP /* avoid complexity of lazy save/restore of fpu -@@ -396,6 +400,17 @@ struct task_struct *__switch_to(struct task_struct *prev, +@@ -479,6 +483,17 @@ struct task_struct *__switch_to(struct task_struct *prev, old_thread->accum_tb += (current_tb - start_tb); new_thread->start_tb = current_tb; } @@ -139,7 +151,7 @@ index 7b816da..3ec4ca4 100644 #endif local_irq_save(flags); -@@ -414,6 +429,13 @@ struct task_struct *__switch_to(struct task_struct *prev, +@@ -497,6 +512,13 @@ struct task_struct *__switch_to(struct task_struct *prev, local_irq_restore(flags); @@ -154,10 +166,10 @@ index 7b816da..3ec4ca4 100644 } diff --git a/arch/powerpc/mm/pgtable.c b/arch/powerpc/mm/pgtable.c -index 99df697..4243a84 100644 +index ebc2f38..8379cc0 100644 --- a/arch/powerpc/mm/pgtable.c +++ b/arch/powerpc/mm/pgtable.c -@@ -32,8 +32,6 @@ +@@ -33,8 +33,6 @@ #include "mmu_decl.h" @@ -166,7 +178,7 @@ index 99df697..4243a84 100644 #ifdef CONFIG_SMP /* -@@ -42,7 +40,6 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); +@@ -43,7 +41,6 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); * freeing a page table page that is being walked without locks */ @@ -174,7 +186,7 @@ index 99df697..4243a84 100644 static unsigned long pte_freelist_forced_free; struct pte_freelist_batch -@@ -97,12 +94,12 @@ static void pte_free_submit(struct pte_freelist_batch *batch) +@@ -98,12 +95,12 @@ static void pte_free_submit(struct pte_freelist_batch *batch) void pgtable_free_tlb(struct mmu_gather *tlb, void *table, unsigned shift) { @@ -191,7 +203,7 @@ index 99df697..4243a84 100644 pgtable_free(table, shift); return; } -@@ -124,15 +121,14 @@ void pgtable_free_tlb(struct mmu_gather *tlb, void *table, unsigned shift) +@@ -125,15 +122,14 @@ void pgtable_free_tlb(struct mmu_gather *tlb, void *table, unsigned shift) } } @@ -361,5 +373,5 @@ index 1a0000a..902987d 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-realtime-support.patch b/powerpc-realtime-support.patch index 9702886..f057f4d 100644 --- a/powerpc-realtime-support.patch +++ b/powerpc-realtime-support.patch @@ -1,4 +1,4 @@ -From 29b6b6cbc841566dc7e2f997ae3c15ffbb0facca Mon Sep 17 00:00:00 2001 +From adad24bc843641bc62f0e9e137f7c239cd99c4b6 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: realtime support @@ -9,9 +9,15 @@ commit 92bfe2d63ed46764b0b0a6e9b63bb9e81023ab80 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/Kconfig | 15 ++++++++------- + arch/powerpc/kernel/idle.c | 6 ++++-- + arch/powerpc/platforms/chrp/time.c | 5 +++++ + arch/powerpc/xmon/xmon.c | 2 ++ + 4 files changed, 19 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig -index ba3948c..209b1b0 100644 +index 2e19500..acef6fd 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -81,13 +81,6 @@ config LOCKDEP_SUPPORT @@ -28,7 +34,7 @@ index ba3948c..209b1b0 100644 config GENERIC_LOCKBREAK bool default y -@@ -256,6 +249,14 @@ config HIGHMEM +@@ -284,6 +277,14 @@ config HIGHMEM source kernel/time/Kconfig source kernel/Kconfig.hz source kernel/Kconfig.preempt @@ -79,7 +85,7 @@ index 054dfe5..8f1d8cd 100644 save_control = chrp_cmos_clock_read(RTC_CONTROL); /* tell the clock it's being set */ diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c -index 4e6152c..dcf8888 100644 +index 8bad7d5..2358421 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -358,6 +358,7 @@ static int xmon_core(struct pt_regs *regs, int fromipi) @@ -99,5 +105,5 @@ index 4e6152c..dcf8888 100644 return cmd != 'X' && cmd != EOF; } -- -1.7.1.1 +1.7.0.4 diff --git a/powerpc-rtasd-do-not-check-for-irq_disabled-on-RT.patch b/powerpc-rtasd-do-not-check-for-irq_disabled-on-RT.patch index 65df20d..eb153d5 100644 --- a/powerpc-rtasd-do-not-check-for-irq_disabled-on-RT.patch +++ b/powerpc-rtasd-do-not-check-for-irq_disabled-on-RT.patch @@ -1,4 +1,4 @@ -From 6aa4659865454a3885195aa49348c46a69e6bee2 Mon Sep 17 00:00:00 2001 +From 29e528d48e83f5c35a908dfddd82db8ef915b5f6 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 22 Feb 2010 21:31:42 +0100 Subject: [PATCH] powerpc: rtasd: do not check for irq_disabled on RT @@ -6,12 +6,16 @@ Subject: [PATCH] powerpc: rtasd: do not check for irq_disabled on RT commit 6aa4659865454a3885195aa49348c46a69e6bee2 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/kernel/rtasd.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/rtasd.c b/arch/powerpc/kernel/rtasd.c -index 2e4832a..0059a8f 100644 +index 4190eae..f35f64d 100644 --- a/arch/powerpc/kernel/rtasd.c +++ b/arch/powerpc/kernel/rtasd.c -@@ -209,7 +209,7 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) +@@ -210,7 +210,7 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) break; case ERR_TYPE_KERNEL_PANIC: default: @@ -20,7 +24,7 @@ index 2e4832a..0059a8f 100644 spin_unlock_irqrestore(&rtasd_log_lock, s); return; } -@@ -231,7 +231,7 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) +@@ -232,7 +232,7 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) /* Check to see if we need to or have stopped logging */ if (fatal || !logging_enabled) { logging_enabled = 0; @@ -29,7 +33,7 @@ index 2e4832a..0059a8f 100644 spin_unlock_irqrestore(&rtasd_log_lock, s); return; } -@@ -254,13 +254,13 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) +@@ -255,13 +255,13 @@ void pSeries_log_error(char *buf, unsigned int err_type, int fatal) else rtas_log_start += 1; @@ -46,5 +50,5 @@ index 2e4832a..0059a8f 100644 return; } -- -1.7.1.1 +1.7.0.4 diff --git a/printk-Convert-logbuf_lock-to-raw_spinlock.patch b/printk-Convert-logbuf_lock-to-raw_spinlock.patch index 174a605..b6c45aa 100644 --- a/printk-Convert-logbuf_lock-to-raw_spinlock.patch +++ b/printk-Convert-logbuf_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 3a8d3deb2f4d330d3073aa1b0daf008a41153daf Mon Sep 17 00:00:00 2001 +From 1bec6d54ea9d95f784f09411062d6747956ac28e 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 @@ -7,6 +7,10 @@ commit 0835f1f82a88e366d8dd20874c94133915dcccdb in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/printk.c | 42 +++++++++++++++++++++--------------------- + lib/ratelimit.c | 4 ++-- + 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c index 53011ba..5b4ce9f 100644 @@ -188,5 +192,5 @@ index 027a03f..c96d500 100644 return ret; } -- -1.7.1.1 +1.7.0.4 diff --git a/printk-Fix-missing-klogd-wakeup.patch b/printk-Fix-missing-klogd-wakeup.patch index 48cb703..9ec646b 100644 --- a/printk-Fix-missing-klogd-wakeup.patch +++ b/printk-Fix-missing-klogd-wakeup.patch @@ -1,4 +1,4 @@ -From ea19a4e465a51064b7785d58f8ccaaa0a4692d1b Mon Sep 17 00:00:00 2001 +From c816c8d0fd568181c44f39569c5bd87e0f224c21 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 26 May 2010 16:48:23 +0200 Subject: [PATCH] printk: Fix missing klogd wakeup @@ -13,12 +13,15 @@ the actual wakeup. Reported-by: Nikita V. Youshchenko <yoush@cs.msu.su> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/printk.c | 9 --------- + 1 files changed, 0 insertions(+), 9 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c -index 073d27f..bbce874 100644 +index c486561..9c5139c 100644 --- a/kernel/printk.c +++ b/kernel/printk.c -@@ -1087,15 +1087,6 @@ void release_console_mutex(void) +@@ -1080,15 +1080,6 @@ void release_console_mutex(void) raw_spin_unlock_irqrestore(&logbuf_lock, flags); mutex_unlock(&console_mutex); @@ -35,5 +38,5 @@ index 073d27f..bbce874 100644 wake_up_klogd(); } -- -1.7.1.1 +1.7.0.4 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 ca1a954..e7e5eb7 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 9868cc33e569ae8b78f7859e74f245f979a20a1f Mon Sep 17 00:00:00 2001 +From d0aeb3b2d1dedff915a34d94347f6f2d494fba9d 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 @@ -9,12 +9,16 @@ It needs to be investigated whether it can be replaced by a real mutex, but that needs more thought and investigation. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/printk.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c -index 1751c45..8ae415b 100644 +index 75077ad..53011ba 100644 --- a/kernel/printk.c +++ b/kernel/printk.c -@@ -83,7 +83,7 @@ EXPORT_SYMBOL(oops_in_progress); +@@ -82,7 +82,7 @@ EXPORT_SYMBOL(oops_in_progress); * provides serialisation for access to the entire console * driver system. */ @@ -23,7 +27,7 @@ index 1751c45..8ae415b 100644 struct console *console_drivers; EXPORT_SYMBOL_GPL(console_drivers); -@@ -544,7 +544,7 @@ static void zap_locks(void) +@@ -537,7 +537,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 */ @@ -33,5 +37,5 @@ index 1751c45..8ae415b 100644 #if defined(CONFIG_PRINTK_TIME) -- -1.7.1.1 +1.7.0.4 diff --git a/printk-Restore-irqs-before-calling-release_console_m.patch b/printk-Restore-irqs-before-calling-release_console_m.patch index 5ebc4c8..9797855 100644 --- a/printk-Restore-irqs-before-calling-release_console_m.patch +++ b/printk-Restore-irqs-before-calling-release_console_m.patch @@ -1,4 +1,4 @@ -From 8a990abe111ffa920f22d4ed04af1415c30d3c3a Mon Sep 17 00:00:00 2001 +From 0fd950ec150a0792f849261f13837315dda73f84 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 2 Aug 2010 16:25:37 +0200 Subject: [PATCH] printk: Restore irqs before calling release_console_mutex() @@ -12,12 +12,16 @@ enabled region. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Mike Galbraith <efault@gmx.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/printk.c | 8 +++++--- + 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c -index bbce874..0f3aafd 100644 +index 9c5139c..013f0e5 100644 --- a/kernel/printk.c +++ b/kernel/printk.c -@@ -797,9 +797,11 @@ asmlinkage int vprintk(const char *fmt, va_list args) +@@ -790,9 +790,11 @@ asmlinkage int vprintk(const char *fmt, va_list args) * will release 'logbuf_lock' regardless of whether it * actually gets the mutex or not. */ @@ -31,7 +35,7 @@ index bbce874..0f3aafd 100644 lockdep_on(); out: raw_local_irq_restore(flags); -@@ -1069,7 +1071,7 @@ void release_console_mutex(void) +@@ -1062,7 +1064,7 @@ void release_console_mutex(void) /* * on PREEMPT_RT, call console drivers with * interrupts enabled (if printk was called @@ -41,5 +45,5 @@ index bbce874..0f3aafd 100644 #ifdef CONFIG_PREEMPT_RT raw_spin_unlock_irqrestore(&logbuf_lock, flags); -- -1.7.1.1 +1.7.0.4 diff --git a/printk-convert-console_sem-to-console_mutex.patch b/printk-convert-console_sem-to-console_mutex.patch index c84446e..ce46dd9 100644 --- a/printk-convert-console_sem-to-console_mutex.patch +++ b/printk-convert-console_sem-to-console_mutex.patch @@ -1,4 +1,4 @@ -From 65c1f7a08b0753df70e85543a6f5bbb899064720 Mon Sep 17 00:00:00 2001 +From b6edb6ce5eae7d1032e9f713ecdb68f1bff2635b 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 @@ -35,12 +35,46 @@ 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> +--- + drivers/char/bfin_jtag_comm.c | 8 +- + drivers/char/selection.c | 4 +- + drivers/char/vc_screen.c | 16 ++-- + drivers/char/vt.c | 124 ++++++++++++++++---------------- + drivers/char/vt_ioctl.c | 60 ++++++++-------- + drivers/gpu/drm/nouveau/nouveau_drv.c | 8 +- + drivers/gpu/drm/radeon/radeon_device.c | 10 ++-- + drivers/serial/sb1250-duart.c | 2 +- + drivers/staging/sm7xx/smtcfb.c | 8 +- + drivers/video/arkfb.c | 12 ++-- + drivers/video/aty/aty128fb.c | 12 ++-- + drivers/video/aty/atyfb_base.c | 10 ++-- + drivers/video/aty/radeon_pm.c | 10 ++-- + drivers/video/chipsfb.c | 8 +- + drivers/video/console/fbcon.c | 42 ++++++------ + drivers/video/da8xx-fb.c | 8 +- + drivers/video/fbmem.c | 12 ++-- + drivers/video/fbsysfs.c | 20 +++--- + drivers/video/geode/gxfb_core.c | 8 +- + drivers/video/geode/lxfb_core.c | 8 +- + drivers/video/i810/i810_main.c | 8 +- + drivers/video/mx3fb.c | 8 +- + drivers/video/nvidia/nvidia.c | 8 +- + drivers/video/ps3fb.c | 16 ++-- + drivers/video/s3fb.c | 16 ++-- + drivers/video/savage/savagefb_driver.c | 8 +- + drivers/video/sm501fb.c | 8 +- + drivers/video/tmiofb.c | 10 ++-- + drivers/video/vt8623fb.c | 12 ++-- + drivers/video/xen-fbfront.c | 4 +- + include/linux/console.h | 6 +- + kernel/printk.c | 122 ++++++++++++++++---------------- + 32 files changed, 308 insertions(+), 308 deletions(-) diff --git a/drivers/char/bfin_jtag_comm.c b/drivers/char/bfin_jtag_comm.c -index 2628c74..6de1f8e 100644 +index e397df3..7d678f9 100644 --- a/drivers/char/bfin_jtag_comm.c +++ b/drivers/char/bfin_jtag_comm.c -@@ -182,16 +182,16 @@ bfin_jc_circ_write(const unsigned char *buf, int count) +@@ -183,16 +183,16 @@ bfin_jc_circ_write(const unsigned char *buf, int count) } #ifndef CONFIG_BFIN_JTAG_COMM_CONSOLE @@ -631,7 +665,7 @@ index e87aed9..223476e 100644 } diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c -index 87778dc..5efa434 100644 +index 6aa1028..26a7300 100644 --- a/drivers/char/vt_ioctl.c +++ b/drivers/char/vt_ioctl.c @@ -648,12 +648,12 @@ int vt_ioctl(struct tty_struct *tty, struct file * file, @@ -814,7 +848,7 @@ index 87778dc..5efa434 100644 } #ifdef CONFIG_COMPAT -@@ -1735,10 +1735,10 @@ int vt_move_to_console(unsigned int vt, int alloc) +@@ -1734,10 +1734,10 @@ int vt_move_to_console(unsigned int vt, int alloc) { int prev; @@ -827,7 +861,7 @@ index 87778dc..5efa434 100644 return 0; } prev = fg_console; -@@ -1746,7 +1746,7 @@ int vt_move_to_console(unsigned int vt, int alloc) +@@ -1745,7 +1745,7 @@ int vt_move_to_console(unsigned int vt, int alloc) if (alloc && vc_allocate(vt)) { /* we can't have a free VC for now. Too bad, * we don't want to mess the screen for now. */ @@ -836,7 +870,7 @@ index 87778dc..5efa434 100644 return -ENOSPC; } -@@ -1756,10 +1756,10 @@ int vt_move_to_console(unsigned int vt, int alloc) +@@ -1755,10 +1755,10 @@ int vt_move_to_console(unsigned int vt, int alloc) * Let the calling function know so it can decide * what to do. */ @@ -849,7 +883,7 @@ index 87778dc..5efa434 100644 if (vt_waitactive(vt + 1)) { pr_debug("Suspend: Can't switch VCs."); return -EINTR; -@@ -1776,8 +1776,8 @@ int vt_move_to_console(unsigned int vt, int alloc) +@@ -1775,8 +1775,8 @@ int vt_move_to_console(unsigned int vt, int alloc) */ void pm_set_vt_switch(int do_switch) { @@ -861,10 +895,10 @@ index 87778dc..5efa434 100644 } EXPORT_SYMBOL(pm_set_vt_switch); diff --git a/drivers/gpu/drm/nouveau/nouveau_drv.c b/drivers/gpu/drm/nouveau/nouveau_drv.c -index 30cc09e..0dd56b3 100644 +index 1de974a..a082d09 100644 --- a/drivers/gpu/drm/nouveau/nouveau_drv.c +++ b/drivers/gpu/drm/nouveau/nouveau_drv.c -@@ -219,9 +219,9 @@ nouveau_pci_suspend(struct pci_dev *pdev, pm_message_t pm_state) +@@ -229,9 +229,9 @@ nouveau_pci_suspend(struct pci_dev *pdev, pm_message_t pm_state) pci_set_power_state(pdev, PCI_D3hot); } @@ -876,7 +910,7 @@ index 30cc09e..0dd56b3 100644 dev_priv->fbdev_info->flags = fbdev_flags; return 0; -@@ -321,9 +321,9 @@ nouveau_pci_resume(struct pci_dev *pdev) +@@ -331,9 +331,9 @@ nouveau_pci_resume(struct pci_dev *pdev) nv_crtc->lut.depth = 0; } @@ -889,10 +923,10 @@ index 30cc09e..0dd56b3 100644 nouveau_fbcon_zfill(dev); diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c -index e28e4ed..10dcc5a 100644 +index 7b629e3..86256f4 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c -@@ -863,9 +863,9 @@ int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) +@@ -754,9 +754,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 +938,7 @@ index e28e4ed..10dcc5a 100644 return 0; } -@@ -876,11 +876,11 @@ int radeon_resume_kms(struct drm_device *dev) +@@ -767,11 +767,11 @@ int radeon_resume_kms(struct drm_device *dev) if (rdev->powered_down) return 0; @@ -918,7 +952,7 @@ index e28e4ed..10dcc5a 100644 return -1; } pci_set_master(dev->pdev); -@@ -889,7 +889,7 @@ int radeon_resume_kms(struct drm_device *dev) +@@ -780,7 +780,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); @@ -941,10 +975,10 @@ index a2f2b32..499962e 100644 */ static void sbd_console_putchar(struct uart_port *uport, int ch) diff --git a/drivers/staging/sm7xx/smtcfb.c b/drivers/staging/sm7xx/smtcfb.c -index 9c82a1a..1a76456 100644 +index 8d7261c..a0f0ec1 100644 --- a/drivers/staging/sm7xx/smtcfb.c +++ b/drivers/staging/sm7xx/smtcfb.c -@@ -1042,9 +1042,9 @@ static int __maybe_unused smtcfb_suspend(struct pci_dev *pdev, pm_message_t msg) +@@ -1043,9 +1043,9 @@ static int __maybe_unused smtcfb_suspend(struct pci_dev *pdev, pm_message_t msg) /* when doing suspend, call fb apis and pci apis */ if (msg.event == PM_EVENT_SUSPEND) { @@ -956,7 +990,7 @@ index 9c82a1a..1a76456 100644 retv = pci_save_state(pdev); pci_disable_device(pdev); retv = pci_choose_state(pdev, msg); -@@ -1103,9 +1103,9 @@ static int __maybe_unused smtcfb_resume(struct pci_dev *pdev) +@@ -1104,9 +1104,9 @@ static int __maybe_unused smtcfb_resume(struct pci_dev *pdev) smtcfb_setmode(sfb); @@ -1024,10 +1058,10 @@ index d583bea..de7b771 100644 } #else diff --git a/drivers/video/aty/aty128fb.c b/drivers/video/aty/aty128fb.c -index 9ee67d6..ee087fe 100644 +index 34a0851..fd7cc4e 100644 --- a/drivers/video/aty/aty128fb.c +++ b/drivers/video/aty/aty128fb.c -@@ -1858,11 +1858,11 @@ static void aty128_early_resume(void *data) +@@ -1860,11 +1860,11 @@ static void aty128_early_resume(void *data) { struct aty128fb_par *par = data; @@ -1041,7 +1075,7 @@ index 9ee67d6..ee087fe 100644 } #endif /* CONFIG_PPC_PMAC */ -@@ -2436,7 +2436,7 @@ static int aty128_pci_suspend(struct pci_dev *pdev, pm_message_t state) +@@ -2438,7 +2438,7 @@ static int aty128_pci_suspend(struct pci_dev *pdev, pm_message_t state) printk(KERN_DEBUG "aty128fb: suspending...\n"); @@ -1050,7 +1084,7 @@ index 9ee67d6..ee087fe 100644 fb_set_suspend(info, 1); -@@ -2468,7 +2468,7 @@ static int aty128_pci_suspend(struct pci_dev *pdev, pm_message_t state) +@@ -2470,7 +2470,7 @@ static int aty128_pci_suspend(struct pci_dev *pdev, pm_message_t state) if (state.event != PM_EVENT_ON) aty128_set_suspend(par, 1); @@ -1059,7 +1093,7 @@ index 9ee67d6..ee087fe 100644 pdev->dev.power.power_state = state; -@@ -2525,9 +2525,9 @@ static int aty128_pci_resume(struct pci_dev *pdev) +@@ -2527,9 +2527,9 @@ static int aty128_pci_resume(struct pci_dev *pdev) { int rc; @@ -1072,7 +1106,7 @@ index 9ee67d6..ee087fe 100644 return rc; } diff --git a/drivers/video/aty/atyfb_base.c b/drivers/video/aty/atyfb_base.c -index e45ab8d..82360ba 100644 +index 29d7285..b171497 100644 --- a/drivers/video/aty/atyfb_base.c +++ b/drivers/video/aty/atyfb_base.c @@ -2073,7 +2073,7 @@ static int atyfb_pci_suspend(struct pci_dev *pdev, pm_message_t state) @@ -1164,10 +1198,10 @@ index 515cf19..5490e21 100644 return rc; } diff --git a/drivers/video/chipsfb.c b/drivers/video/chipsfb.c -index 57b9d27..fda91e4 100644 +index d637e1f..b788d58 100644 --- a/drivers/video/chipsfb.c +++ b/drivers/video/chipsfb.c -@@ -461,10 +461,10 @@ static int chipsfb_pci_suspend(struct pci_dev *pdev, pm_message_t state) +@@ -460,10 +460,10 @@ static int chipsfb_pci_suspend(struct pci_dev *pdev, pm_message_t state) if (!(state.event & PM_EVENT_SLEEP)) goto done; @@ -1180,7 +1214,7 @@ index 57b9d27..fda91e4 100644 done: pdev->dev.power.power_state = state; return 0; -@@ -474,10 +474,10 @@ static int chipsfb_pci_resume(struct pci_dev *pdev) +@@ -473,10 +473,10 @@ static int chipsfb_pci_resume(struct pci_dev *pdev) { struct fb_info *p = pci_get_drvdata(pdev); @@ -1194,7 +1228,7 @@ index 57b9d27..fda91e4 100644 pdev->dev.power.power_state = PMSG_ON; return 0; diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c -index 5050cba..ccd0ad3 100644 +index f6a4ed6..c8476bf 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -374,14 +374,14 @@ static void fb_flashcursor(struct work_struct *work) @@ -1383,10 +1417,10 @@ index 5050cba..ccd0ad3 100644 } diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c -index 369a5b3..d7a4419 100644 +index 8d244ba..028fa96 100644 --- a/drivers/video/da8xx-fb.c +++ b/drivers/video/da8xx-fb.c -@@ -964,14 +964,14 @@ static int fb_suspend(struct platform_device *dev, pm_message_t state) +@@ -965,14 +965,14 @@ static int fb_suspend(struct platform_device *dev, pm_message_t state) struct fb_info *info = platform_get_drvdata(dev); struct da8xx_fb_par *par = info->par; @@ -1403,7 +1437,7 @@ index 369a5b3..d7a4419 100644 return 0; } -@@ -980,14 +980,14 @@ static int fb_resume(struct platform_device *dev) +@@ -981,14 +981,14 @@ static int fb_resume(struct platform_device *dev) struct fb_info *info = platform_get_drvdata(dev); struct da8xx_fb_par *par = info->par; @@ -1465,10 +1499,10 @@ index a15b44e..ad2e7ad 100644 break; default: diff --git a/drivers/video/fbsysfs.c b/drivers/video/fbsysfs.c -index d4a2c11..daf2d6d 100644 +index 81aa312..5f7a4ef 100644 --- a/drivers/video/fbsysfs.c +++ b/drivers/video/fbsysfs.c -@@ -88,11 +88,11 @@ static int activate(struct fb_info *fb_info, struct fb_var_screeninfo *var) +@@ -89,11 +89,11 @@ static int activate(struct fb_info *fb_info, struct fb_var_screeninfo *var) int err; var->activate |= FB_ACTIVATE_FORCE; @@ -1482,7 +1516,7 @@ index d4a2c11..daf2d6d 100644 if (err) return err; return 0; -@@ -173,7 +173,7 @@ static ssize_t store_modes(struct device *device, +@@ -174,7 +174,7 @@ static ssize_t store_modes(struct device *device, if (i * sizeof(struct fb_videomode) != count) return -EINVAL; @@ -1491,7 +1525,7 @@ index d4a2c11..daf2d6d 100644 list_splice(&fb_info->modelist, &old_list); fb_videomode_to_modelist((const struct fb_videomode *)buf, i, &fb_info->modelist); -@@ -183,7 +183,7 @@ static ssize_t store_modes(struct device *device, +@@ -184,7 +184,7 @@ static ssize_t store_modes(struct device *device, } else fb_destroy_modelist(&old_list); @@ -1500,7 +1534,7 @@ index d4a2c11..daf2d6d 100644 return 0; } -@@ -299,11 +299,11 @@ static ssize_t store_blank(struct device *device, +@@ -300,11 +300,11 @@ static ssize_t store_blank(struct device *device, char *last = NULL; int err; @@ -1514,7 +1548,7 @@ index d4a2c11..daf2d6d 100644 if (err < 0) return err; return count; -@@ -362,9 +362,9 @@ static ssize_t store_pan(struct device *device, +@@ -363,9 +363,9 @@ static ssize_t store_pan(struct device *device, return -EINVAL; var.yoffset = simple_strtoul(last, &last, 0); @@ -1526,7 +1560,7 @@ index d4a2c11..daf2d6d 100644 if (err < 0) return err; -@@ -397,9 +397,9 @@ static ssize_t store_fbstate(struct device *device, +@@ -398,9 +398,9 @@ static ssize_t store_fbstate(struct device *device, state = simple_strtoul(buf, &last, 0); @@ -1539,10 +1573,10 @@ index d4a2c11..daf2d6d 100644 return count; } diff --git a/drivers/video/geode/gxfb_core.c b/drivers/video/geode/gxfb_core.c -index b3e639d..8fcad99 100644 +index 76e7dac..b16682f 100644 --- a/drivers/video/geode/gxfb_core.c +++ b/drivers/video/geode/gxfb_core.c -@@ -342,10 +342,10 @@ static int gxfb_suspend(struct pci_dev *pdev, pm_message_t state) +@@ -341,10 +341,10 @@ static int gxfb_suspend(struct pci_dev *pdev, pm_message_t state) struct fb_info *info = pci_get_drvdata(pdev); if (state.event == PM_EVENT_SUSPEND) { @@ -1555,7 +1589,7 @@ index b3e639d..8fcad99 100644 } /* there's no point in setting PCI states; we emulate PCI, so -@@ -359,7 +359,7 @@ static int gxfb_resume(struct pci_dev *pdev) +@@ -358,7 +358,7 @@ static int gxfb_resume(struct pci_dev *pdev) struct fb_info *info = pci_get_drvdata(pdev); int ret; @@ -1564,7 +1598,7 @@ index b3e639d..8fcad99 100644 ret = gx_powerup(info); if (ret) { printk(KERN_ERR "gxfb: power up failed!\n"); -@@ -367,7 +367,7 @@ static int gxfb_resume(struct pci_dev *pdev) +@@ -366,7 +366,7 @@ static int gxfb_resume(struct pci_dev *pdev) } fb_set_suspend(info, 0); @@ -1574,10 +1608,10 @@ index b3e639d..8fcad99 100644 } #endif diff --git a/drivers/video/geode/lxfb_core.c b/drivers/video/geode/lxfb_core.c -index 889cbe3..63fe664 100644 +index 1a18da8..1548ff7 100644 --- a/drivers/video/geode/lxfb_core.c +++ b/drivers/video/geode/lxfb_core.c -@@ -464,10 +464,10 @@ static int lxfb_suspend(struct pci_dev *pdev, pm_message_t state) +@@ -463,10 +463,10 @@ static int lxfb_suspend(struct pci_dev *pdev, pm_message_t state) struct fb_info *info = pci_get_drvdata(pdev); if (state.event == PM_EVENT_SUSPEND) { @@ -1590,7 +1624,7 @@ index 889cbe3..63fe664 100644 } /* there's no point in setting PCI states; we emulate PCI, so -@@ -481,7 +481,7 @@ static int lxfb_resume(struct pci_dev *pdev) +@@ -480,7 +480,7 @@ static int lxfb_resume(struct pci_dev *pdev) struct fb_info *info = pci_get_drvdata(pdev); int ret; @@ -1599,7 +1633,7 @@ index 889cbe3..63fe664 100644 ret = lx_powerup(info); if (ret) { printk(KERN_ERR "lxfb: power up failed!\n"); -@@ -489,7 +489,7 @@ static int lxfb_resume(struct pci_dev *pdev) +@@ -488,7 +488,7 @@ static int lxfb_resume(struct pci_dev *pdev) } fb_set_suspend(info, 0); @@ -1774,10 +1808,10 @@ index 9c0144e..3023ebd 100644 schedule(); } diff --git a/drivers/video/s3fb.c b/drivers/video/s3fb.c -index c3fad34..fcd948a 100644 +index d4471b4..0f7ea67 100644 --- a/drivers/video/s3fb.c +++ b/drivers/video/s3fb.c -@@ -23,7 +23,7 @@ +@@ -22,7 +22,7 @@ #include <linux/svga.h> #include <linux/init.h> #include <linux/pci.h> @@ -1786,7 +1820,7 @@ index c3fad34..fcd948a 100644 #include <video/vga.h> #ifdef CONFIG_MTRR -@@ -1054,12 +1054,12 @@ static int s3_pci_suspend(struct pci_dev* dev, pm_message_t state) +@@ -1053,12 +1053,12 @@ static int s3_pci_suspend(struct pci_dev* dev, pm_message_t state) dev_info(info->device, "suspend\n"); @@ -1801,7 +1835,7 @@ index c3fad34..fcd948a 100644 return 0; } -@@ -1070,7 +1070,7 @@ static int s3_pci_suspend(struct pci_dev* dev, pm_message_t state) +@@ -1069,7 +1069,7 @@ static int s3_pci_suspend(struct pci_dev* dev, pm_message_t state) pci_set_power_state(dev, pci_choose_state(dev, state)); mutex_unlock(&(par->open_lock)); @@ -1810,7 +1844,7 @@ index c3fad34..fcd948a 100644 return 0; } -@@ -1086,12 +1086,12 @@ static int s3_pci_resume(struct pci_dev* dev) +@@ -1085,12 +1085,12 @@ static int s3_pci_resume(struct pci_dev* dev) dev_info(info->device, "resume\n"); @@ -1825,7 +1859,7 @@ index c3fad34..fcd948a 100644 return 0; } -@@ -1100,7 +1100,7 @@ static int s3_pci_resume(struct pci_dev* dev) +@@ -1099,7 +1099,7 @@ static int s3_pci_resume(struct pci_dev* dev) err = pci_enable_device(dev); if (err) { mutex_unlock(&(par->open_lock)); @@ -1834,7 +1868,7 @@ index c3fad34..fcd948a 100644 dev_err(info->device, "error %d enabling device for resume\n", err); return err; } -@@ -1110,7 +1110,7 @@ static int s3_pci_resume(struct pci_dev* dev) +@@ -1109,7 +1109,7 @@ static int s3_pci_resume(struct pci_dev* dev) fb_set_suspend(info, 0); mutex_unlock(&(par->open_lock)); @@ -1961,10 +1995,10 @@ index 6913fe1..77843ed 100644 } #else diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c -index 65ccd21..ba4ae70 100644 +index d31dc96..461c8be 100644 --- a/drivers/video/vt8623fb.c +++ b/drivers/video/vt8623fb.c -@@ -24,7 +24,7 @@ +@@ -23,7 +23,7 @@ #include <linux/svga.h> #include <linux/init.h> #include <linux/pci.h> @@ -1973,7 +2007,7 @@ index 65ccd21..ba4ae70 100644 #include <video/vga.h> #ifdef CONFIG_MTRR -@@ -818,12 +818,12 @@ static int vt8623_pci_suspend(struct pci_dev* dev, pm_message_t state) +@@ -817,12 +817,12 @@ static int vt8623_pci_suspend(struct pci_dev* dev, pm_message_t state) dev_info(info->device, "suspend\n"); @@ -1988,7 +2022,7 @@ index 65ccd21..ba4ae70 100644 return 0; } -@@ -834,7 +834,7 @@ static int vt8623_pci_suspend(struct pci_dev* dev, pm_message_t state) +@@ -833,7 +833,7 @@ static int vt8623_pci_suspend(struct pci_dev* dev, pm_message_t state) pci_set_power_state(dev, pci_choose_state(dev, state)); mutex_unlock(&(par->open_lock)); @@ -1997,7 +2031,7 @@ index 65ccd21..ba4ae70 100644 return 0; } -@@ -849,7 +849,7 @@ static int vt8623_pci_resume(struct pci_dev* dev) +@@ -848,7 +848,7 @@ static int vt8623_pci_resume(struct pci_dev* dev) dev_info(info->device, "resume\n"); @@ -2006,7 +2040,7 @@ index 65ccd21..ba4ae70 100644 mutex_lock(&(par->open_lock)); if (par->ref_count == 0) -@@ -868,7 +868,7 @@ static int vt8623_pci_resume(struct pci_dev* dev) +@@ -867,7 +867,7 @@ static int vt8623_pci_resume(struct pci_dev* dev) fail: mutex_unlock(&(par->open_lock)); @@ -2016,10 +2050,10 @@ index 65ccd21..ba4ae70 100644 return 0; } diff --git a/drivers/video/xen-fbfront.c b/drivers/video/xen-fbfront.c -index 603598f..dd22e0c 100644 +index fa97d3e..380a251 100644 --- a/drivers/video/xen-fbfront.c +++ b/drivers/video/xen-fbfront.c -@@ -490,12 +490,12 @@ xenfb_make_preferred_console(void) +@@ -491,12 +491,12 @@ xenfb_make_preferred_console(void) if (console_set_on_cmdline) return; diff --git a/printk-dont-bug-on-sched.patch b/printk-dont-bug-on-sched.patch index 6d5d23a..0ddf946 100644 --- a/printk-dont-bug-on-sched.patch +++ b/printk-dont-bug-on-sched.patch @@ -1,4 +1,4 @@ -From b216e3f5d23abb650960b3ea02e826f456d28d92 Mon Sep 17 00:00:00 2001 +From b98cd0f242b81152b147c327165e0ae013107309 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 @@ -7,6 +7,10 @@ commit 537b86b6c059b7b0a46979cc144134050d1da511 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 11 ++++++++++- + 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index dfbae19..ec2273b 100644 @@ -46,5 +50,5 @@ index dfbae19..ec2273b 100644 rt_mutex_deadlock_account_unlock(current); else -- -1.7.1.1 +1.7.0.4 diff --git a/printk-in_atomic-fix.patch b/printk-in_atomic-fix.patch index 3245a9f..33867a8 100644 --- a/printk-in_atomic-fix.patch +++ b/printk-in_atomic-fix.patch @@ -1,4 +1,4 @@ -From 3f5cba66e7d077e07897a1e490b4d0b6200a0c74 Mon Sep 17 00:00:00 2001 +From 0d42bd69b4dfd305bf7753130d032166d2e5e2b4 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 @@ -8,6 +8,12 @@ commit 96cd28c9235962fa85b9ccb43cdb129152a2c38b in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/early_printk.c | 4 ++-- + drivers/char/vt.c | 2 +- + include/linux/console.h | 11 +++++++++++ + kernel/printk.c | 5 +++-- + 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/early_printk.c b/arch/x86/kernel/early_printk.c index 3c5a9e0..02aaf8f 100644 @@ -32,10 +38,10 @@ index 3c5a9e0..02aaf8f 100644 }; diff --git a/drivers/char/vt.c b/drivers/char/vt.c -index 50faa1f..c52ba9b 100644 +index bd1d116..e87aed9 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c -@@ -2575,7 +2575,7 @@ static struct console vt_console_driver = { +@@ -2571,7 +2571,7 @@ static struct console vt_console_driver = { .write = vt_console_print, .device = vt_console_device, .unblank = unblank_screen, @@ -67,10 +73,10 @@ index 7c2c9ae..81651ad 100644 struct console { char name[16]; diff --git a/kernel/printk.c b/kernel/printk.c -index 34adc5f..539b8ce 100644 +index d27c203..de0f29c 100644 --- a/kernel/printk.c +++ b/kernel/printk.c -@@ -430,8 +430,9 @@ static void __call_console_drivers(unsigned start, unsigned end) +@@ -423,8 +423,9 @@ static void __call_console_drivers(unsigned start, unsigned end) for_each_console(con) { if ((con->flags & CON_ENABLED) && con->write && @@ -83,5 +89,5 @@ index 34adc5f..539b8ce 100644 con->write(con, &LOG_BUF(start), end - start); set_printk_might_sleep(0); -- -1.7.1.1 +1.7.0.4 diff --git a/printk-might-sleep-workaround.patch b/printk-might-sleep-workaround.patch index 9561393..2019d65 100644 --- a/printk-might-sleep-workaround.patch +++ b/printk-might-sleep-workaround.patch @@ -1,4 +1,4 @@ -From d66b51582f975cab5a77f81a3f062356e5783e94 Mon Sep 17 00:00:00 2001 +From 0d825c8966569e2f2ec79a91a3203380b76e74e1 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 @@ -21,12 +21,17 @@ We need to really sit down and solve the real issue here. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 13 +++++++++++++ + kernel/printk.c | 5 ++++- + kernel/rtmutex.c | 4 +++- + 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 1552624..5ceabb5 100644 +index 87565f8..6b6a43f 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1636,11 +1636,24 @@ struct task_struct { +@@ -1575,11 +1575,24 @@ struct task_struct { unsigned long memsw_bytes; /* uncharged mem+swap usage */ } memcg_batch; #endif @@ -52,10 +57,10 @@ index 1552624..5ceabb5 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 6c97e02..34adc5f 100644 +index 7293bd8..d27c203 100644 --- a/kernel/printk.c +++ b/kernel/printk.c -@@ -431,8 +431,11 @@ static void __call_console_drivers(unsigned start, unsigned end) +@@ -424,8 +424,11 @@ static void __call_console_drivers(unsigned start, unsigned end) for_each_console(con) { if ((con->flags & CON_ENABLED) && con->write && (cpu_online(raw_smp_processor_id()) || @@ -84,5 +89,5 @@ index 900f11c..dfbae19 100644 if (likely(rt_mutex_cmpxchg(lock, NULL, current))) rt_mutex_deadlock_account_lock(lock, current); -- -1.7.1.1 +1.7.0.4 diff --git a/printk-rt-support.patch b/printk-rt-support.patch index 12a58c7..ff581ac 100644 --- a/printk-rt-support.patch +++ b/printk-rt-support.patch @@ -1,4 +1,4 @@ -From ea6f121070cca941ce652bd7f1a7777e181e0395 Mon Sep 17 00:00:00 2001 +From f8ae06b863293579bde1966c62b78b660dddf1ff 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 @@ -8,9 +8,12 @@ commit ba9d983171714db0483871cab172db4092f35699 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/printk.c | 52 +++++++++++++++++++++++++++++++++++++++++++++------- + 1 files changed, 45 insertions(+), 7 deletions(-) diff --git a/kernel/printk.c b/kernel/printk.c -index 45cf99a..2a07a18 100644 +index 5b4ce9f..7293bd8 100644 --- a/kernel/printk.c +++ b/kernel/printk.c @@ -36,6 +36,7 @@ @@ -21,7 +24,7 @@ index 45cf99a..2a07a18 100644 #include <asm/uaccess.h> -@@ -423,7 +424,7 @@ static void __call_console_drivers(unsigned start, unsigned end) +@@ -422,7 +423,7 @@ static void __call_console_drivers(unsigned start, unsigned end) for_each_console(con) { if ((con->flags & CON_ENABLED) && con->write && @@ -30,7 +33,7 @@ index 45cf99a..2a07a18 100644 (con->flags & CON_ANYTIME))) con->write(con, &LOG_BUF(start), end - start); } -@@ -539,6 +540,7 @@ static void zap_locks(void) +@@ -538,6 +539,7 @@ static void zap_locks(void) raw_spin_lock_init(&logbuf_lock); /* And make sure that we print immediately */ semaphore_init(&console_sem); @@ -38,7 +41,7 @@ index 45cf99a..2a07a18 100644 } #if defined(CONFIG_PRINTK_TIME) -@@ -677,7 +679,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) +@@ -676,7 +678,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) preempt_disable(); /* This stops the holder of console_sem just where we want him */ raw_local_irq_save(flags); @@ -47,7 +50,7 @@ index 45cf99a..2a07a18 100644 /* * Ouch, printk recursed into itself! -@@ -692,7 +694,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) +@@ -691,7 +693,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) */ if (!oops_in_progress) { recursion_bug = 1; @@ -56,7 +59,7 @@ index 45cf99a..2a07a18 100644 } zap_locks(); } -@@ -700,6 +702,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) +@@ -699,6 +701,7 @@ asmlinkage int vprintk(const char *fmt, va_list args) lockdep_off(); raw_spin_lock(&logbuf_lock); printk_cpu = this_cpu; @@ -64,7 +67,7 @@ index 45cf99a..2a07a18 100644 if (recursion_bug) { recursion_bug = 0; -@@ -788,10 +791,8 @@ asmlinkage int vprintk(const char *fmt, va_list args) +@@ -787,10 +790,8 @@ asmlinkage int vprintk(const char *fmt, va_list args) release_console_sem(); lockdep_on(); @@ -76,7 +79,7 @@ index 45cf99a..2a07a18 100644 return printed_len; } EXPORT_SYMBOL(printk); -@@ -1054,15 +1055,37 @@ void release_console_sem(void) +@@ -1053,15 +1054,37 @@ void release_console_sem(void) _con_start = con_start; _log_end = log_end; con_start = log_end; /* Flush */ @@ -115,7 +118,7 @@ index 45cf99a..2a07a18 100644 if (wake_klogd) wake_up_klogd(); } -@@ -1401,6 +1424,21 @@ bool printk_timed_ratelimit(unsigned long *caller_jiffies, +@@ -1400,6 +1423,21 @@ bool printk_timed_ratelimit(unsigned long *caller_jiffies, } EXPORT_SYMBOL(printk_timed_ratelimit); @@ -138,5 +141,5 @@ index 45cf99a..2a07a18 100644 static LIST_HEAD(dump_list); -- -1.7.1.1 +1.7.0.4 diff --git a/proportions-Convert-to-raw_spinlck.patch b/proportions-Convert-to-raw_spinlck.patch index 6bef51d..f619b17 100644 --- a/proportions-Convert-to-raw_spinlck.patch +++ b/proportions-Convert-to-raw_spinlck.patch @@ -1,4 +1,4 @@ -From 5231dbb6b0f74d1cf7b22094b170e6a105e13ea8 Mon Sep 17 00:00:00 2001 +From e241c51de6c3e3ab575e037f6a7b276235658e07 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 @@ -6,6 +6,11 @@ Subject: [PATCH] proportions: Convert to raw_spinlck commit 0fc7741cfd53c5c5ca710e075e05808e1bf9be71 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/proportions.h | 6 +++--- + lib/proportions.c | 12 ++++++------ + 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/include/linux/proportions.h b/include/linux/proportions.h index cf793bb..ef35bb7 100644 @@ -93,5 +98,5 @@ index d50746a..05df848 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/raid5-Make-raid5_percpu-handling-RT-aware.patch b/raid5-Make-raid5_percpu-handling-RT-aware.patch index 740fa9e..0984f5f 100644 --- a/raid5-Make-raid5_percpu-handling-RT-aware.patch +++ b/raid5-Make-raid5_percpu-handling-RT-aware.patch @@ -1,4 +1,4 @@ -From d980cb7b0412055e7a8b561bf111284536444101 Mon Sep 17 00:00:00 2001 +From 88d5d415836b9a009b3ba84af2d0a9e9837e1c2e Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 6 Apr 2010 16:51:31 +0200 Subject: [PATCH] raid5: Make raid5_percpu handling RT aware @@ -15,12 +15,17 @@ preemptible. Reported-by: Udo van den Heuvel <udovdh@xs4all.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Udo van den Heuvel <udovdh@xs4all.nl> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/md/raid5.c | 5 +++-- + drivers/md/raid5.h | 1 + + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c -index ceb24af..b61eaa6 100644 +index 15348c3..9990bae 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c -@@ -1149,8 +1149,9 @@ static void __raid_run_ops(struct stripe_head *sh, unsigned long ops_request) +@@ -1150,8 +1150,9 @@ static void __raid_run_ops(struct stripe_head *sh, unsigned long ops_request) struct raid5_percpu *percpu; unsigned long cpu; @@ -31,7 +36,7 @@ index ceb24af..b61eaa6 100644 if (test_bit(STRIPE_OP_BIOFILL, &ops_request)) { ops_run_biofill(sh); overlap_clear++; -@@ -1202,7 +1203,7 @@ static void __raid_run_ops(struct stripe_head *sh, unsigned long ops_request) +@@ -1203,7 +1204,7 @@ static void __raid_run_ops(struct stripe_head *sh, unsigned long ops_request) if (test_and_clear_bit(R5_Overlap, &dev->flags)) wake_up(&sh->raid_conf->wait_for_overlap); } @@ -41,7 +46,7 @@ index ceb24af..b61eaa6 100644 #ifdef CONFIG_MULTICORE_RAID456 diff --git a/drivers/md/raid5.h b/drivers/md/raid5.h -index dd70835..2db71cd 100644 +index 0f86f5e..f3d1515 100644 --- a/drivers/md/raid5.h +++ b/drivers/md/raid5.h @@ -400,6 +400,7 @@ struct raid5_private_data { @@ -53,5 +58,5 @@ index dd70835..2db71cd 100644 void *scribble; /* space for constructing buffer * lists and performing address -- -1.7.1.1 +1.7.0.4 diff --git a/ratelimit-raw-locks-on-state-and-name.patch b/ratelimit-raw-locks-on-state-and-name.patch index 261102d..8a89600 100644 --- a/ratelimit-raw-locks-on-state-and-name.patch +++ b/ratelimit-raw-locks-on-state-and-name.patch @@ -1,4 +1,4 @@ -From b70a9548a102628b97798ad565cba69d6c7ef5e5 Mon Sep 17 00:00:00 2001 +From a3cf2e9c30c62e59a4472840c9797becdf0caab6 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 21:07:28 -0500 Subject: [PATCH] ratelimit: raw locks on state and name @@ -28,6 +28,9 @@ 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> +--- + include/linux/ratelimit.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/ratelimit.h b/include/linux/ratelimit.h index 668cf1b..7596e38 100644 @@ -52,5 +55,5 @@ index 668cf1b..7596e38 100644 .burst = burst_init, \ } -- -1.7.1.1 +1.7.0.4 diff --git a/rcu-frequency-tweaks.patch b/rcu-frequency-tweaks.patch index e9c64c1..d3afb98 100644 --- a/rcu-frequency-tweaks.patch +++ b/rcu-frequency-tweaks.patch @@ -1,4 +1,4 @@ -From f765443c73487e54764e14faa6a5017f7423b533 Mon Sep 17 00:00:00 2001 +From 57481928a9786ac195a8415ecab148f124ae1ab8 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 @@ -7,12 +7,16 @@ commit 8da6474dbbf2c2ac733842f28094bf3cc14bef8a in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rcutorture.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c -index 9bb5217..81a32e4 100644 +index 58df55b..abbb550 100644 --- a/kernel/rcutorture.c +++ b/kernel/rcutorture.c -@@ -806,7 +806,7 @@ rcu_torture_reader(void *arg) +@@ -865,7 +865,7 @@ rcu_torture_reader(void *arg) if (p == NULL) { /* Wait for rcu_torture_writer to get underway */ cur_ops->readunlock(idx); @@ -22,5 +26,5 @@ index 9bb5217..81a32e4 100644 } if (p->rtort_mbtest == 0) -- -1.7.1.1 +1.7.0.4 diff --git a/read_seq-read_raw_seq-for-vdso.patch b/read_seq-read_raw_seq-for-vdso.patch index 26d0803..e7c959a 100644 --- a/read_seq-read_raw_seq-for-vdso.patch +++ b/read_seq-read_raw_seq-for-vdso.patch @@ -1,4 +1,4 @@ -From 3a6cd6132a93857582147653cba28307ed37f5c9 Mon Sep 17 00:00:00 2001 +From 42dce7fa4a765db566b975b247ae287bee79fd45 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 00:03:24 -0500 Subject: [PATCH] read_seq --> read_raw_seq for vdso @@ -29,6 +29,9 @@ 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> +--- + arch/x86/vdso/vclock_gettime.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/x86/vdso/vclock_gettime.c b/arch/x86/vdso/vclock_gettime.c index 796ed12..e1b68a5 100644 @@ -63,5 +66,5 @@ index 796ed12..e1b68a5 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/relay-fix-timer-madness.patch b/relay-fix-timer-madness.patch index 1818139..f81d1cd 100644 --- a/relay-fix-timer-madness.patch +++ b/relay-fix-timer-madness.patch @@ -1,4 +1,4 @@ -From 5700b1ae8c1b1969cc3739e4621699e45e94a4ab Mon Sep 17 00:00:00 2001 +From 32427613ef6a9a8508faed0e1e1d35069a1889c9 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 @@ -11,9 +11,13 @@ the buffer every 2 jiffies for now. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/relay.c | 14 +++++--------- + 1 files changed, 5 insertions(+), 9 deletions(-) diff --git a/kernel/relay.c b/kernel/relay.c -index c705a41..4da323b 100644 +index 3d97f28..fd0e0e7 100644 --- a/kernel/relay.c +++ b/kernel/relay.c @@ -343,6 +343,10 @@ static void wakeup_readers(unsigned long data) @@ -52,5 +56,5 @@ index c705a41..4da323b 100644 old = buf->data; -- -1.7.1.1 +1.7.0.4 diff --git a/relocate-DEBUG_LOCKS_WARN_ON-for-mutexes.patch b/relocate-DEBUG_LOCKS_WARN_ON-for-mutexes.patch index af09897..095b542 100644 --- a/relocate-DEBUG_LOCKS_WARN_ON-for-mutexes.patch +++ b/relocate-DEBUG_LOCKS_WARN_ON-for-mutexes.patch @@ -1,4 +1,4 @@ -From 8c65176bc2e7a6085576e6e2c6c05cc0045f1e7c Mon Sep 17 00:00:00 2001 +From b66ca03b7ecaf32897346605dfc887f33aeba0a5 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 14:07:02 -0500 Subject: [PATCH] relocate DEBUG_LOCKS_WARN_ON for mutexes @@ -29,6 +29,10 @@ 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> +--- + kernel/mutex-debug.h | 1 - + kernel/mutex.c | 2 ++ + 2 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/mutex-debug.h b/kernel/mutex-debug.h index 57d527a..6dc57dd 100644 @@ -56,5 +60,5 @@ index 432607a..e23f35e 100644 /* * Optimistic spinning. -- -1.7.1.1 +1.7.0.4 diff --git a/revert-preempt-BKL-revert.patch b/revert-preempt-BKL-revert.patch index 2772ad0..cdf7245 100644 --- a/revert-preempt-BKL-revert.patch +++ b/revert-preempt-BKL-revert.patch @@ -1,4 +1,4 @@ -From 47d053171f1c30bbe93d818b7b94ff89bec58055 Mon Sep 17 00:00:00 2001 +From 6d83365a4baf2b72119fbc7cb8769ec35591bb0c 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 @@ -16,6 +16,11 @@ our todo list. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hardirq.h | 18 +++---- + kernel/sched.c | 27 ++++++++++-- + lib/kernel_lock.c | 109 +++++++++++++--------------------------------- + 3 files changed, 62 insertions(+), 92 deletions(-) diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index d5b3876..5d79504 100644 @@ -57,10 +62,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 b859b1e..d5034c3 100644 +index 22c233e..1c38248 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5639,6 +5639,8 @@ out: +@@ -3856,6 +3856,8 @@ int mutex_spin_on_owner(struct mutex *lock, struct thread_info *owner) asmlinkage void __sched preempt_schedule(void) { struct thread_info *ti = current_thread_info(); @@ -69,7 +74,7 @@ index b859b1e..d5034c3 100644 /* * If there is a non-zero preempt_count or interrupts are disabled, -@@ -5649,7 +5651,16 @@ asmlinkage void __sched preempt_schedule(void) +@@ -3866,7 +3868,16 @@ asmlinkage void __sched preempt_schedule(void) do { add_preempt_count(PREEMPT_ACTIVE); @@ -86,7 +91,7 @@ index b859b1e..d5034c3 100644 sub_preempt_count(PREEMPT_ACTIVE); /* -@@ -5670,15 +5681,26 @@ EXPORT_SYMBOL(preempt_schedule); +@@ -3887,15 +3898,26 @@ EXPORT_SYMBOL(preempt_schedule); asmlinkage void __sched preempt_schedule_irq(void) { struct thread_info *ti = current_thread_info(); @@ -113,7 +118,7 @@ index b859b1e..d5034c3 100644 sub_preempt_count(PREEMPT_ACTIVE); /* -@@ -7058,11 +7080,8 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) +@@ -5281,11 +5303,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! */ @@ -287,5 +292,5 @@ index 5354922..2c9b548 100644 trace_unlock_kernel(func, file, line); } -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Add-the-preempt-rt-lock-replacement-APIs.patch b/rt-Add-the-preempt-rt-lock-replacement-APIs.patch index ca7f7b3..3bf7e47 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 a87b56c9af8f815fd739221b9f29c23812f3b3e3 Mon Sep 17 00:00:00 2001 +From 844be7008979baf1bd33411661e444d20a7da10c 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 @@ -12,6 +12,24 @@ based locking functions for preempt-rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/include/asm/rwsem.h | 3 + + arch/x86/include/asm/rwsem.h | 3 + + include/linux/mutex.h | 83 +++++- + include/linux/plist.h | 12 +- + include/linux/rt_lock.h | 183 ++++++++++++ + include/linux/rwlock.h | 55 ++++ + include/linux/rwsem-spinlock.h | 13 +- + include/linux/rwsem.h | 55 ++++ + include/linux/spinlock.h | 111 ++++++-- + include/linux/spinlock_types.h | 21 ++ + kernel/Makefile | 6 +- + kernel/fork.c | 4 + + kernel/rt.c | 580 ++++++++++++++++++++++++++++++++++++++ + lib/spinlock_debug.c | 6 +- + 14 files changed, 1098 insertions(+), 37 deletions(-) + create mode 100644 include/linux/rt_lock.h + create mode 100644 kernel/rt.c diff --git a/arch/powerpc/include/asm/rwsem.h b/arch/powerpc/include/asm/rwsem.h index 564c373..c2494d4 100644 @@ -793,7 +811,7 @@ index a987aa1..74491fc 100644 obj-$(CONFIG_USE_GENERIC_SMP_HELPERS) += smp.o ifneq ($(CONFIG_SMP),y) diff --git a/kernel/fork.c b/kernel/fork.c -index d356851..c67d376 100644 +index dc3eca3..e1e1158 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 92250ad..c23f466 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 bad60f6730c4047c1a033948852b7bdf95172fdd Mon Sep 17 00:00:00 2001 +From da5ed2b44ce12eacd1aa8312cad8b5b8c1d99984 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 @@ -9,6 +9,10 @@ commit c15ac58e50a3e202f6c663b31c5536fdbaea9968 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/asm-generic/bug.h | 18 ++++++++++++++++++ + 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index 18c435d..a4141a5 100644 @@ -45,5 +49,5 @@ index 18c435d..a4141a5 100644 + #endif -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Fix-build-error-with-CONFIG_PREEMPT_RT.patch b/rt-Fix-build-error-with-CONFIG_PREEMPT_RT.patch index 51ba4b6..008ab43 100644 --- a/rt-Fix-build-error-with-CONFIG_PREEMPT_RT.patch +++ b/rt-Fix-build-error-with-CONFIG_PREEMPT_RT.patch @@ -1,4 +1,4 @@ -From 0e41458903a4809a4489e035c1ed71611824cbcf Mon Sep 17 00:00:00 2001 +From d723fc7266f382f8922b3afeda5a8efe9729864d Mon Sep 17 00:00:00 2001 From: john stultz <johnstul@us.ibm.com> Date: Tue, 4 Aug 2009 16:30:52 -0700 Subject: [PATCH] rt: Fix build error with !CONFIG_PREEMPT_RT @@ -18,6 +18,10 @@ Cc: Steven Rostedt <srostedt@redhat.com> Cc: Darren Hart <dvhltc@us.ibm.com> LKML-Reference: <1249428652.3289.19.camel@localhost> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/bottom_half.h | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/include/linux/bottom_half.h b/include/linux/bottom_half.h index 2e0e961..37dc356 100644 @@ -33,5 +37,5 @@ index 2e0e961..37dc356 100644 # define __local_bh_disable(ip) do { } while (0) # define _local_bh_enable() do { } while (0) -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Fix-recursive-read-lock-of-rw_semaphores.patch b/rt-Fix-recursive-read-lock-of-rw_semaphores.patch index a08eba9..3d97636 100644 --- a/rt-Fix-recursive-read-lock-of-rw_semaphores.patch +++ b/rt-Fix-recursive-read-lock-of-rw_semaphores.patch @@ -1,4 +1,4 @@ -From 872fa3a2575486998d8b0380e5d6ef391d0305a8 Mon Sep 17 00:00:00 2001 +From 2b53d849f243cd5f758daa7948be4c138e1571e5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Tue, 25 Aug 2009 10:46:10 +0200 Subject: [PATCH] rt: Fix recursive read lock of rw_semaphores @@ -6,6 +6,10 @@ Subject: [PATCH] rt: Fix recursive read lock of rw_semaphores commit 872fa3a2575486998d8b0380e5d6ef391d0305a8 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 22 ++++++++++++++++++---- + 1 files changed, 18 insertions(+), 4 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index 7da3299..710cef5 100644 @@ -71,5 +75,5 @@ index 7da3299..710cef5 100644 EXPORT_SYMBOL(__rt_rwsem_init); -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Fix-rwlocks-rwsem-rt_-down_-read_trylock.patch b/rt-Fix-rwlocks-rwsem-rt_-down_-read_trylock.patch index 6ee5741..0a2ecaa 100644 --- a/rt-Fix-rwlocks-rwsem-rt_-down_-read_trylock.patch +++ b/rt-Fix-rwlocks-rwsem-rt_-down_-read_trylock.patch @@ -1,4 +1,4 @@ -From 00261a9426ed50016e07cbef028578e93589761c Mon Sep 17 00:00:00 2001 +From 956dcc483ffd16f99561df6b1eef993e989789b2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 14 Sep 2009 19:01:21 +0200 Subject: [PATCH] rt: Fix rwlocks/rwsem rt_[down_]read_trylock() @@ -10,6 +10,10 @@ unconditionally when it is write locked. Check read_depth if current owns the lock. If it's 0 we know it is write locked and return 0. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 13 ++++++++++++- + 1 files changed, 12 insertions(+), 1 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index 710cef5..fd033a9 100644 @@ -48,5 +52,5 @@ index 710cef5..fd033a9 100644 if (ret) { rwsem->read_depth++; -- -1.7.1.1 +1.7.0.4 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 268d8d1..4bc2591 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 12bbe96c1ea7fce23b6464fc030d3e633b19718f Mon Sep 17 00:00:00 2001 +From b52f65e82a23425a5c4cadc0fc55b7c5543f2805 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 @@ -14,12 +14,15 @@ Cc: Clark Williams <williams@redhat.com> LKML-Reference: <1272571652-5719-1-git-send-email-jkacur@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 22 ++++++++++++---------- + 1 files changed, 12 insertions(+), 10 deletions(-) diff --git a/init/main.c b/init/main.c -index 32ab188..aabceff 100644 +index 627f4c7..ee05de3 100644 --- a/init/main.c +++ b/init/main.c -@@ -908,15 +908,17 @@ static int __init kernel_init(void * unused) +@@ -926,15 +926,17 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -46,7 +49,7 @@ index 32ab188..aabceff 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -936,7 +938,7 @@ static int __init kernel_init(void * unused) +@@ -954,7 +956,7 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif @@ -56,5 +59,5 @@ index 32ab188..aabceff 100644 #endif #ifdef CONFIG_INTERRUPT_OFF_HIST -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Make-rt_down_read_trylock-behave-like-down_read_t.patch b/rt-Make-rt_down_read_trylock-behave-like-down_read_t.patch index 40c1854..b994d26 100644 --- a/rt-Make-rt_down_read_trylock-behave-like-down_read_t.patch +++ b/rt-Make-rt_down_read_trylock-behave-like-down_read_t.patch @@ -1,4 +1,4 @@ -From 1a0adb9869dac631ed5d45d0afed72cfce0d9d66 Mon Sep 17 00:00:00 2001 +From 414be9451245bab037cb3b82de8b7172316a0e65 Mon Sep 17 00:00:00 2001 From: Jan Blunck <jblunck@suse.de> Date: Fri, 3 Jul 2009 13:16:23 -0500 Subject: [PATCH] rt: Make rt_down_read_trylock() behave like down_read_trylock() @@ -12,6 +12,10 @@ BUG_ON(down_read_trylock(&mm->mmap_sem)). Signed-off-by: Jan Blunck <jblunck@suse.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 12 ------------ + 1 files changed, 0 insertions(+), 12 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index 97709a6..d095969 100644 @@ -37,5 +41,5 @@ index 97709a6..d095969 100644 if (ret) rwsem_acquire(&rwsem->dep_map, 0, 1, _RET_IP_); -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch b/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch index 98e05b7..dd9c012 100644 --- a/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch +++ b/rt-Remove-irrelevant-CONFIGS-from-reminder-block.patch @@ -1,4 +1,4 @@ -From abcbb404f73618288a4c549cd9a67ebc442876b7 Mon Sep 17 00:00:00 2001 +From 1121d343324d0c3f9bab83cae74ae25f79bc1919 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. @@ -15,12 +15,15 @@ Cc: Clark Williams <williams@redhat.com> LKML-Reference: <1272483267-10900-1-git-send-email-jkacur@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 29 ++++++++++------------------- + 1 files changed, 10 insertions(+), 19 deletions(-) diff --git a/init/main.c b/init/main.c -index aab9091..32ab188 100644 +index 9399e7e..627f4c7 100644 --- a/init/main.c +++ b/init/main.c -@@ -908,15 +908,15 @@ static int __init kernel_init(void * unused) +@@ -926,15 +926,15 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -45,7 +48,7 @@ index aab9091..32ab188 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -936,11 +936,8 @@ static int __init kernel_init(void * unused) +@@ -954,11 +954,8 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif @@ -58,7 +61,7 @@ index aab9091..32ab188 100644 #endif #ifdef CONFIG_INTERRUPT_OFF_HIST printk(KERN_ERR "* CONFIG_INTERRUPT_OFF_HIST *\n"); -@@ -948,12 +945,6 @@ static int __init kernel_init(void * unused) +@@ -966,12 +963,6 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_OFF_HIST printk(KERN_ERR "* CONFIG_PREEMPT_OFF_HIST *\n"); #endif @@ -72,5 +75,5 @@ index aab9091..32ab188 100644 printk(KERN_ERR "* CONFIG_DEBUG_SLAB *\n"); #endif -- -1.7.1.1 +1.7.0.4 diff --git a/rt-Remove-rwlocks-BUG_ON-and-useless-read_depth-chec.patch b/rt-Remove-rwlocks-BUG_ON-and-useless-read_depth-chec.patch index 3b4ad53..3a4f319 100644 --- a/rt-Remove-rwlocks-BUG_ON-and-useless-read_depth-chec.patch +++ b/rt-Remove-rwlocks-BUG_ON-and-useless-read_depth-chec.patch @@ -1,4 +1,4 @@ -From dcd880ed997a25809731ef3e36488a1da3bf4edb Mon Sep 17 00:00:00 2001 +From 0c72b6a7533fdf48e066a9fd74a36c6af0b11095 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 23 Aug 2009 11:49:34 +0200 Subject: [PATCH] rt: Remove rwlocks BUG_ON and useless read_depth check @@ -6,6 +6,10 @@ Subject: [PATCH] rt: Remove rwlocks BUG_ON and useless read_depth check commit dcd880ed997a25809731ef3e36488a1da3bf4edb in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 6 ++---- + 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index 59ca169..7da3299 100644 @@ -39,5 +43,5 @@ index 59ca169..7da3299 100644 if (--rwlock->read_depth == 0) __rt_spin_unlock(&rwlock->lock); -- -1.7.1.1 +1.7.0.4 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 57d0720..064c4d0 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 eecbd6ef9eda9bf59c93550c7f022b1a6a23e77a Mon Sep 17 00:00:00 2001 +From 1baf7a9ee16bf7fe91b1c13ad5cb5852f28ecd1d 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 @@ -22,9 +22,13 @@ will shut disk caches and chipsets off. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sys.c | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/kernel/sys.c b/kernel/sys.c -index 8298878..6a2e032 100644 +index 7cb426a..0d2f6d2 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -32,6 +32,7 @@ @@ -35,7 +39,7 @@ index 8298878..6a2e032 100644 #include <linux/cpu.h> #include <linux/personality.h> #include <linux/ptrace.h> -@@ -284,6 +285,15 @@ out_unlock: +@@ -285,6 +286,15 @@ out_unlock: */ void emergency_restart(void) { @@ -52,5 +56,5 @@ index 8298878..6a2e032 100644 } EXPORT_SYMBOL_GPL(emergency_restart); -- -1.7.1.1 +1.7.0.4 diff --git a/rt-core-implementation.patch b/rt-core-implementation.patch index 108de20..8fd6abb 100644 --- a/rt-core-implementation.patch +++ b/rt-core-implementation.patch @@ -1,4 +1,4 @@ -From e5f224f353006a42af083210dee0a3c7b507aa1f Mon Sep 17 00:00:00 2001 +From 9cd1ef78b55d5351f6d5c78f604800381361028c 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 @@ -8,6 +8,26 @@ commit e9888fb95225bb3b786d79fd983eb67e1acad338 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hardirq.h | 6 +- + include/linux/kernel.h | 9 ++++- + include/linux/profile.h | 11 +++-- + include/linux/radix-tree.h | 13 ++++++ + include/linux/smp.h | 11 +++++ + include/linux/workqueue.h | 3 + + kernel/Kconfig.preempt | 88 ++++++++++++++++++++++++++++++------------- + kernel/exit.c | 7 +++ + kernel/fork.c | 10 +++++ + kernel/notifier.c | 4 +- + kernel/signal.c | 11 +---- + kernel/softirq.c | 14 ++++++- + kernel/workqueue.c | 58 ++++++++++++++++++++++++++-- + lib/Kconfig.debug | 4 +- + lib/Makefile | 3 +- + lib/kernel_lock.c | 13 +++++- + lib/locking-selftest.c | 29 +++++++++----- + lib/radix-tree.c | 6 +++ + 18 files changed, 234 insertions(+), 66 deletions(-) diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index cee2da4..3223348 100644 @@ -344,7 +364,7 @@ index 4b94bd4..3804e64 100644 return ret; diff --git a/kernel/fork.c b/kernel/fork.c -index 22a84a6..4a2e451 100644 +index c4a9e7b..0c5ca88 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -193,6 +193,16 @@ void __put_task_struct(struct task_struct *tsk) @@ -791,5 +811,5 @@ index 2a087e0..e66c9d9 100644 * Return the maximum key which can be store into a * radix tree with height HEIGHT. -- -1.7.1.1 +1.7.0.4 diff --git a/rt-local_irq_-variants-depending-on-RT-RT.patch b/rt-local_irq_-variants-depending-on-RT-RT.patch index 942695d..0d7a5c6 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 d7b3946febd01126be4e6dab82a48ed54edf7448 Mon Sep 17 00:00:00 2001 +From a18acfdad4b2b1d943c9cde3b2a68b49b4bd2880 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 @@ -9,6 +9,10 @@ Add local_irq_*_(no)rt variant which are mainly used to break interrupt disabled sections on PREEMPT_RT. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 17 ++++++++++++++++- + 1 files changed, 16 insertions(+), 1 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 2d574fb..7b43e10 100644 @@ -44,5 +48,5 @@ index 2d574fb..7b43e10 100644 + #endif -- -1.7.1.1 +1.7.0.4 diff --git a/rt-locks-fix-recursive-rwlocks-and-cleanup-rwsems.patch b/rt-locks-fix-recursive-rwlocks-and-cleanup-rwsems.patch index 4e61d25..da63b47 100644 --- a/rt-locks-fix-recursive-rwlocks-and-cleanup-rwsems.patch +++ b/rt-locks-fix-recursive-rwlocks-and-cleanup-rwsems.patch @@ -1,4 +1,4 @@ -From 4981ddc6409d8d10def1644e99823dc18d55daa9 Mon Sep 17 00:00:00 2001 +From 13f94a1d4f6d1276e7373ba1d459280b4cb9bbcb Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 13:16:24 -0500 Subject: [PATCH] rt-locks: fix recursive rwlocks and cleanup rwsems @@ -11,6 +11,10 @@ rwsems are not allowed at all. Follow up to Jan Blunks fix. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 85 ++++++++++++---------------------------------------------- + 1 files changed, 18 insertions(+), 67 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index d095969..df30930 100644 @@ -166,5 +170,5 @@ index d095969..df30930 100644 EXPORT_SYMBOL(__rt_rwsem_init); -- -1.7.1.1 +1.7.0.4 diff --git a/rt-locks-implement-rt_downgrade_write.patch b/rt-locks-implement-rt_downgrade_write.patch index 14fca8f..7bd90cb 100644 --- a/rt-locks-implement-rt_downgrade_write.patch +++ b/rt-locks-implement-rt_downgrade_write.patch @@ -1,4 +1,4 @@ -From 86ed1c888ff040e26603e48ff56c163df9c2cd59 Mon Sep 17 00:00:00 2001 +From e33d2a9f612d0a64253eb105742961048a9c448c Mon Sep 17 00:00:00 2001 From: Steven Rostedt <rostedt@goodmis.org> Date: Fri, 3 Jul 2009 13:16:26 -0500 Subject: [PATCH] rt-locks: implement rt_downgrade_write @@ -26,6 +26,10 @@ Cc: Clark Williams <clark.williams@gmail.com> Cc: "Luis Claudio R. Goncalves" <lclaudio@uudg.org> LKML-Reference: <alpine.DEB.2.00.0904151142420.31828@gandalf.stny.rr.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index df30930..6dd475a 100644 @@ -41,5 +45,5 @@ index df30930..6dd475a 100644 EXPORT_SYMBOL(rt_downgrade_write); -- -1.7.1.1 +1.7.0.4 diff --git a/rt-locks-provide-atomic_dec_and_mutex_lock-for-rt.patch b/rt-locks-provide-atomic_dec_and_mutex_lock-for-rt.patch index e1d2c14..d87b14c 100644 --- a/rt-locks-provide-atomic_dec_and_mutex_lock-for-rt.patch +++ b/rt-locks-provide-atomic_dec_and_mutex_lock-for-rt.patch @@ -1,4 +1,4 @@ -From 25b665a79185fd81c0e912cb3849fa3baf10140a Mon Sep 17 00:00:00 2001 +From 6c917f22b7b5b9c0be5065d83e3b2b2d76d2da0a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 3 Jul 2009 13:16:24 -0500 Subject: [PATCH] rt-locks: provide atomic_dec_and_mutex_lock for -rt @@ -8,6 +8,10 @@ commit 25b665a79185fd81c0e912cb3849fa3baf10140a in tip. Add the missing function Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rt.c | 24 ++++++++++++++++++++++++ + 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index 6dd475a..59ca169 100644 @@ -42,5 +46,5 @@ index 6dd475a..59ca169 100644 +} +EXPORT_SYMBOL(atomic_dec_and_mutex_lock); -- -1.7.1.1 +1.7.0.4 diff --git a/rt-mm-fix-kthreadd-livelock-in-drain_local_pages_wor.patch b/rt-mm-fix-kthreadd-livelock-in-drain_local_pages_wor.patch index 3deed2b..039bb24 100644 --- a/rt-mm-fix-kthreadd-livelock-in-drain_local_pages_wor.patch +++ b/rt-mm-fix-kthreadd-livelock-in-drain_local_pages_wor.patch @@ -1,4 +1,4 @@ -From e94445b78dc821e0e9de5a9bf5bd263f5ae2c471 Mon Sep 17 00:00:00 2001 +From bea7da20dfda356a776ff912e4986cf348b1f979 Mon Sep 17 00:00:00 2001 From: Mike Galbraith <mgalbraith@suse.de> Date: Wed, 8 Dec 2010 08:11:50 +0100 Subject: [PATCH] rt: mm: fix kthreadd livelock in drain_local_pages_work @@ -98,12 +98,16 @@ etc etc etc... Signed-off-by: Mike Galbraith <mgalbraith@suse.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/page_alloc.c | 11 ++++++++++- + 1 files changed, 10 insertions(+), 1 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c -index bde9ea1..81f9359 100644 +index a81bf78..3bcf962 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c -@@ -1121,6 +1121,15 @@ static void drain_local_pages_work(struct work_struct *wrk) +@@ -1147,6 +1147,15 @@ static void drain_local_pages_work(struct work_struct *wrk) } #endif @@ -119,7 +123,7 @@ index bde9ea1..81f9359 100644 /* * Spill all the per-cpu pages from all CPUs back into the buddy allocator */ -@@ -1146,7 +1155,7 @@ void drain_all_pages(void) +@@ -1172,7 +1181,7 @@ void drain_all_pages(void) * * And yes, this is one big hack. Please fix ;-) */ @@ -129,5 +133,5 @@ index bde9ea1..81f9359 100644 else { static int once; -- -1.7.1.1 +1.7.0.4 diff --git a/rt-mutex-x86-64.patch b/rt-mutex-x86-64.patch index 58a30f8..b4b13d1 100644 --- a/rt-mutex-x86-64.patch +++ b/rt-mutex-x86-64.patch @@ -1,4 +1,4 @@ -From 4a78c5af6700cc78dff65b33cbf227fd60f90508 Mon Sep 17 00:00:00 2001 +From 73679257372cf99c7473cf40fe9c6043ddd84b42 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:40 -0500 Subject: [PATCH] rt: mutex x86 64 @@ -7,6 +7,11 @@ commit 92117778bba4272c0f020ce153ade27650fea35a in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/vgtod.h | 2 +- + arch/x86/kernel/vsyscall_64.c | 14 +++++++------- + arch/x86/vdso/vclock_gettime.c | 8 ++++---- + 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/x86/include/asm/vgtod.h b/arch/x86/include/asm/vgtod.h index 3d61e20..81ccfb3 100644 @@ -22,7 +27,7 @@ index 3d61e20..81ccfb3 100644 /* open coded 'struct timespec' */ time_t wall_time_sec; diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c -index 9055e58..6520c37 100644 +index 1c0c6ab..fd70b0e 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c @@ -59,7 +59,7 @@ int __vgetcpu_mode __section_vgetcpu_mode; @@ -117,5 +122,5 @@ index ee55754..796ed12 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/rt-trash-the-Linux-Semaphores-implemented-via-RT-mut.patch b/rt-trash-the-Linux-Semaphores-implemented-via-RT-mut.patch index dc33b17..4c3dd33 100644 --- a/rt-trash-the-Linux-Semaphores-implemented-via-RT-mut.patch +++ b/rt-trash-the-Linux-Semaphores-implemented-via-RT-mut.patch @@ -1,4 +1,4 @@ -From ca8acdc21b78d41b2e0f64f0ce0693a775c41694 Mon Sep 17 00:00:00 2001 +From 05b30d307370fc89773f19b907547c7cf1d31016 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Mon, 17 Jan 2011 20:56:11 -0500 Subject: [PATCH] rt: trash the Linux Semaphores implemented via RT-mutexes @@ -31,6 +31,9 @@ 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> +--- + kernel/rt.c | 133 ----------------------------------------------------------- + 1 files changed, 0 insertions(+), 133 deletions(-) diff --git a/kernel/rt.c b/kernel/rt.c index fd033a9..ccbf20f 100644 @@ -177,5 +180,5 @@ index fd033a9..ccbf20f 100644 * atomic_dec_and_mutex_lock - return holding mutex if we dec to 0 * @cnt: the atomic which we are to dec -- -1.7.1.1 +1.7.0.4 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 cddde27..bbdb8e8 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 b189330305e88f4335ab6c7eb0211888836a4487 Mon Sep 17 00:00:00 2001 +From 29dae82ce721f858646901ff3f654c5956173803 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 @@ -10,12 +10,16 @@ dmesg. Looks like STACK_TRACER got dropped. Signed-off-by: Clark Williams <williams@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + init/main.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/init/main.c b/init/main.c -index 8f95889..aab9091 100644 +index be970e7..9399e7e 100644 --- a/init/main.c +++ b/init/main.c -@@ -936,6 +936,9 @@ static int __init kernel_init(void * unused) +@@ -954,6 +954,9 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif @@ -26,5 +30,5 @@ index 8f95889..aab9091 100644 printk(KERN_ERR "* CONFIG_FTRACE *\n"); #endif -- -1.7.1.1 +1.7.0.4 diff --git a/rtc-supress-rtc-printk-on-RT.patch b/rtc-supress-rtc-printk-on-RT.patch index 6c7bb0f..9462ebc 100644 --- a/rtc-supress-rtc-printk-on-RT.patch +++ b/rtc-supress-rtc-printk-on-RT.patch @@ -1,4 +1,4 @@ -From d9865201e397cb62da509fe3291962434e6305e8 Mon Sep 17 00:00:00 2001 +From 41e126ad6fb488564392e58b1474e2806441411a 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 @@ -7,6 +7,10 @@ commit 308a0c6b40a0f378ccc5d6793fdc384f97c88b2b in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/char/rtc.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index 95acb8c..c973c0b 100644 @@ -26,5 +30,5 @@ index 95acb8c..c973c0b 100644 /* Now we have new data */ wake_up_interruptible(&rtc_wait); -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch b/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch index 3c2511a..98ae873 100644 --- a/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch +++ b/rtmutex-Adaptive-locking.-Spin-when-owner-runs.patch @@ -1,4 +1,4 @@ -From 4c09f65999fcb3deea0106441860880c44f95112 Mon Sep 17 00:00:00 2001 +From efcaf739f4d7c6cfc1c2f489c1764ec0833aa15e 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 @@ -47,12 +47,18 @@ make a difference. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 2 + + kernel/rtmutex.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++-- + kernel/sched.c | 5 ++++ + 3 files changed, 68 insertions(+), 3 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 4b0e18b..3bb5def 100644 +index 8550369..1a14be1 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2684,6 +2684,8 @@ static inline unsigned long rlimit_max(unsigned int limit) +@@ -2617,6 +2617,8 @@ static inline unsigned long rlimit_max(unsigned int limit) return task_rlimit_max(current, limit); } @@ -162,10 +168,10 @@ index 1f12a75..be9864f 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 a5ffe46..ebbd311 100644 +index b962381..e0f6fe4 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -666,6 +666,11 @@ inline void update_rq_clock(struct rq *rq) +@@ -639,6 +639,11 @@ inline void update_rq_clock(struct rq *rq) rq->clock = sched_clock_cpu(cpu_of(rq)); } @@ -178,5 +184,5 @@ index a5ffe46..ebbd311 100644 * Tunables that become constants when CONFIG_SCHED_DEBUG is off: */ -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-Add-lateral-lock-stealing.patch b/rtmutex-Add-lateral-lock-stealing.patch index d99fd3e..e31a0b5 100644 --- a/rtmutex-Add-lateral-lock-stealing.patch +++ b/rtmutex-Add-lateral-lock-stealing.patch @@ -1,4 +1,4 @@ -From 7e369dafe08913a97f069c04c7a68b3044e4fdfd Mon Sep 17 00:00:00 2001 +From 20f47ee9410a913362f9818a7c72522d15a2c7e9 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 @@ -34,6 +34,10 @@ Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 20 +++++++++++++------- + kernel/rtmutex_common.h | 20 ++++++++++++++++++++ + 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index fe9b2fc..3a4e820 100644 @@ -147,5 +151,5 @@ index 97a2f81..4df690c 100644 # include "rtmutex-debug.h" #else -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch b/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch index 8da3ae6..54b7ea2 100644 --- a/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch +++ b/rtmutex-Adjust-pi_lock-usage-in-wakeup.patch @@ -1,4 +1,4 @@ -From 735d5151fa32358753d9b05add1eb1bf5f7a656b Mon Sep 17 00:00:00 2001 +From d3a77d84a8c09c393673ead13cf2e5a52297a4e3 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 @@ -20,6 +20,10 @@ Signed-off-by: Peter W. Morreale <pmorreale@novell.com> Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 14 +++++++++----- + 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 6435b54..5017ecb 100644 @@ -62,5 +66,5 @@ index 6435b54..5017ecb 100644 } -- -1.7.1.1 +1.7.0.4 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 e25ba91..21f3d3e 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 2cafb0a670cbd6571dec957bde90e908819d01d9 Mon Sep 17 00:00:00 2001 +From 368532ef6ec920f6a09c81dfccef9b8cbdf3a794 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 @@ -46,12 +46,18 @@ Cc: Clark Williams <williams@redhat.com> Cc: dvhltc <dvhltc@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 2 +- + kernel/fork.c | 2 +- + kernel/rtmutex-debug.c | 12 ++++++------ + 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index a958544..7e50287 100644 +index 42180c0..04f5f43 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1479,7 +1479,7 @@ struct task_struct { +@@ -1419,7 +1419,7 @@ struct task_struct { #define MAX_PREEMPT_TRACE 25 #define MAX_LOCK_STACK MAX_PREEMPT_TRACE #ifdef CONFIG_DEBUG_PREEMPT @@ -61,10 +67,10 @@ index a958544..7e50287 100644 struct rt_mutex *owned_lock[MAX_LOCK_STACK]; # endif diff --git a/kernel/fork.c b/kernel/fork.c -index 8453327..81fcb2a 100644 +index f496dcf..dc3eca3 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1171,7 +1171,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1149,7 +1149,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, if (retval) goto bad_fork_cleanup_io; #ifdef CONFIG_DEBUG_PREEMPT @@ -119,5 +125,5 @@ index 2381c7a..e7e6314 100644 #endif } -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-Optimize-rt-lock-wakeup.patch b/rtmutex-Optimize-rt-lock-wakeup.patch index 00d35e9..a9b2547 100644 --- a/rtmutex-Optimize-rt-lock-wakeup.patch +++ b/rtmutex-Optimize-rt-lock-wakeup.patch @@ -1,4 +1,4 @@ -From 527cb2f3b9b6a96b8dd6cd40abcaffc315bc95a2 Mon Sep 17 00:00:00 2001 +From 5ef4421d52dc90ab4ad61080e2ea1c23d81c1cf9 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 @@ -19,6 +19,10 @@ Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Peter Morreale <pmorreale@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 45 ++++++++++++++++++++++++++++++++++++++++----- + 1 files changed, 40 insertions(+), 5 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index be9864f..6435b54 100644 @@ -91,5 +95,5 @@ index be9864f..6435b54 100644 schedule_rt_mutex(lock); } -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-Preserve-TASK_STOPPED-state-when-blocking-on.patch b/rtmutex-Preserve-TASK_STOPPED-state-when-blocking-on.patch index 9b3e27a..967c0cf 100644 --- a/rtmutex-Preserve-TASK_STOPPED-state-when-blocking-on.patch +++ b/rtmutex-Preserve-TASK_STOPPED-state-when-blocking-on.patch @@ -1,4 +1,4 @@ -From 923499cb1cf693b1f4e35711a34568864898876a Mon Sep 17 00:00:00 2001 +From 67d6fa0ceba8cb0caa3cb0b55648b7a213901e8b Mon Sep 17 00:00:00 2001 From: Kevin Hao <kexin.hao@windriver.com> Date: Tue, 2 Mar 2010 16:51:58 -0500 Subject: [PATCH] rtmutex: Preserve TASK_STOPPED state when blocking on a "spin_lock" @@ -18,6 +18,9 @@ Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> LKML-Reference: <18e240905fcfd72457930322ee187e7ff9313aec.1267566249.git.paul.gortmaker@windriver.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +--- + kernel/rtmutex.c | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 16bfa1c..23dd443 100644 @@ -36,5 +39,5 @@ index 16bfa1c..23dd443 100644 block_state = TASK_UNINTERRUPTIBLE; -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-Rearrange-the-code.patch b/rtmutex-Rearrange-the-code.patch index 6455690..e3d23c6 100644 --- a/rtmutex-Rearrange-the-code.patch +++ b/rtmutex-Rearrange-the-code.patch @@ -1,4 +1,4 @@ -From 7c3df123e248a20ae083d51e720c415d52b092c9 Mon Sep 17 00:00:00 2001 +From 513d1f43fbc284f4c09bb067e6ca746c27c22b5f 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 @@ -16,6 +16,10 @@ changes. Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 19 ++++++++++++++----- + 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 3a4e820..543e43c 100644 @@ -65,5 +69,5 @@ index 3a4e820..543e43c 100644 state = xchg(¤t->state, saved_state); -- -1.7.1.1 +1.7.0.4 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 a870c91..a30ca8f 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 37787f09f7bb53627067f8e576ae6fec67440f05 Mon Sep 17 00:00:00 2001 +From 485e57ba23f41cf6fccbd389f8f277c3121c3b65 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 @@ -20,6 +20,10 @@ Signed-off-by: Peter W. Morreale <pmorreale@novell.com> Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 6 ------ + 1 files changed, 0 insertions(+), 6 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 5017ecb..f4c5cde 100644 @@ -39,5 +43,5 @@ index 5017ecb..f4c5cde 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-break-out-early-on-first-run.patch b/rtmutex-break-out-early-on-first-run.patch index b6f7720..c82e62f 100644 --- a/rtmutex-break-out-early-on-first-run.patch +++ b/rtmutex-break-out-early-on-first-run.patch @@ -1,4 +1,4 @@ -From 78795f419d2e51a3a2d7e41fc8ef419cfe98a8d8 Mon Sep 17 00:00:00 2001 +From b2a1f8fa518788605611c02105d8463cf6a6e8d3 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 @@ -12,6 +12,10 @@ blocking and will exit early. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index f4c5cde..4d53d03 100644 @@ -50,5 +54,5 @@ index f4c5cde..4d53d03 100644 debug_rt_mutex_free_waiter(&waiter); -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-cleanup-the-adaptive-spin-code.patch b/rtmutex-cleanup-the-adaptive-spin-code.patch index a833eb5..816aa40 100644 --- a/rtmutex-cleanup-the-adaptive-spin-code.patch +++ b/rtmutex-cleanup-the-adaptive-spin-code.patch @@ -1,4 +1,4 @@ -From 78e651a0c9a7863c237410a8f8485ff98a1f3c70 Mon Sep 17 00:00:00 2001 +From fa50e2f68f3b3fa4d538caba0cce736140ebff9c 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 @@ -7,6 +7,10 @@ commit edeb8fe63dce75e827a27292a186b98fe3d26959 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 34 +++++++++------------------------- + 1 files changed, 9 insertions(+), 25 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 4d53d03..b649eb0 100644 @@ -84,5 +88,5 @@ index 4d53d03..b649eb0 100644 raw_spin_lock_irqsave(&lock->wait_lock, flags); current->lock_depth = saved_lock_depth; -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-implement-lock-replacement-functions.patch b/rtmutex-implement-lock-replacement-functions.patch index 866c933..93366a6 100644 --- a/rtmutex-implement-lock-replacement-functions.patch +++ b/rtmutex-implement-lock-replacement-functions.patch @@ -1,4 +1,4 @@ -From 670da665cec75e5dc2a03a13abc88882e6288740 Mon Sep 17 00:00:00 2001 +From 32cb8ec402e4f42eeebaf0cc9df7f76597561fcf 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 @@ -9,12 +9,19 @@ Implement the base infrastructure to replace spinlocks for -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/rtmutex.h | 2 + + include/linux/sched.h | 1 + + kernel/rtmutex-debug.c | 107 ++++------- + kernel/rtmutex.c | 467 +++++++++++++++++++++++++++++++++++++++++------ + lib/kernel_lock.c | 2 +- + 5 files changed, 451 insertions(+), 128 deletions(-) diff --git a/include/linux/rtmutex.h b/include/linux/rtmutex.h -index 281d8fd..076359d 100644 +index 8d522ff..fc4b22e 100644 --- a/include/linux/rtmutex.h +++ b/include/linux/rtmutex.h -@@ -88,6 +88,8 @@ extern void rt_mutex_destroy(struct rt_mutex *lock); +@@ -90,6 +90,8 @@ extern void rt_mutex_destroy(struct rt_mutex *lock); extern void rt_mutex_lock(struct rt_mutex *lock); extern int rt_mutex_lock_interruptible(struct rt_mutex *lock, int detect_deadlock); @@ -24,7 +31,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 9dd2ede..4b0e18b 100644 +index 2ef88d7..8550369 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) @@ -1059,5 +1066,5 @@ index 2c9b548..e495acf 100644 /* * Re-acquire the kernel semaphore. -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-prevent-missed-wakeups.patch b/rtmutex-prevent-missed-wakeups.patch index 1efc9fd..66cd1d5 100644 --- a/rtmutex-prevent-missed-wakeups.patch +++ b/rtmutex-prevent-missed-wakeups.patch @@ -1,4 +1,4 @@ -From 4887c91c6ce8806230f95e29ce90641e2d53b424 Mon Sep 17 00:00:00 2001 +From 3979534e254ae61ee6794ede903d50dcaa288d10 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 @@ -52,9 +52,14 @@ wakeup_process*() functions as they are not longer necessary. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 3 +-- + kernel/rtmutex.c | 22 +++++++++++++++++++--- + kernel/sched.c | 17 ++++++++++++----- + 3 files changed, 32 insertions(+), 10 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 3bb5def..a958544 100644 +index 1a14be1..42180c0 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -214,8 +214,7 @@ extern char ___assert_task_state[1 - 2*!!( @@ -108,10 +113,10 @@ index a4c8b7e..900f11c 100644 if (state == TASK_RUNNING) saved_state = TASK_RUNNING; diff --git a/kernel/sched.c b/kernel/sched.c -index ebbd311..6be80f6 100644 +index e0f6fe4..094cb0c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2475,8 +2475,16 @@ out_running: +@@ -2489,8 +2489,16 @@ out_running: trace_sched_wakeup(rq, p, success); check_preempt_curr(rq, p, wake_flags); @@ -129,7 +134,7 @@ index ebbd311..6be80f6 100644 else p->state = TASK_RUNNING; #ifdef CONFIG_SMP -@@ -2538,7 +2546,7 @@ EXPORT_SYMBOL(wake_up_process_mutex_sync); +@@ -2552,7 +2560,7 @@ EXPORT_SYMBOL(wake_up_process_mutex_sync); int wake_up_state(struct task_struct *p, unsigned int state) { @@ -138,7 +143,7 @@ index ebbd311..6be80f6 100644 } /* -@@ -5547,7 +5555,7 @@ need_resched_nonpreemptible: +@@ -3764,7 +3772,7 @@ need_resched_nonpreemptible: update_rq_clock(rq); clear_tsk_need_resched(prev); @@ -147,7 +152,7 @@ index ebbd311..6be80f6 100644 !(preempt_count() & PREEMPT_ACTIVE)) { if (unlikely(signal_pending_state(prev->state, prev))) prev->state = TASK_RUNNING; -@@ -5749,8 +5757,7 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -3966,8 +3974,7 @@ asmlinkage void __sched preempt_schedule_irq(void) int default_wake_function(wait_queue_t *curr, unsigned mode, int wake_flags, void *key) { @@ -158,5 +163,5 @@ index ebbd311..6be80f6 100644 EXPORT_SYMBOL(default_wake_function); -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-remove-double-xchg.patch b/rtmutex-remove-double-xchg.patch index 265cb28..0c7fb2d 100644 --- a/rtmutex-remove-double-xchg.patch +++ b/rtmutex-remove-double-xchg.patch @@ -1,4 +1,4 @@ -From b204c1ae83666bc29aceb615202cb8000e08f0d7 Mon Sep 17 00:00:00 2001 +From b5dd71e84e09d10784fcc6e091cd1625413075b0 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 @@ -11,6 +11,10 @@ the loop. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 543e43c..1f12a75 100644 @@ -26,5 +30,5 @@ index 543e43c..1f12a75 100644 raw_spin_lock_irqsave(&lock->wait_lock, flags); current->lock_depth = saved_lock_depth; -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-remove-uber-optimization.patch b/rtmutex-remove-uber-optimization.patch index 3d45a61..c1e8275 100644 --- a/rtmutex-remove-uber-optimization.patch +++ b/rtmutex-remove-uber-optimization.patch @@ -1,4 +1,4 @@ -From 48edf2eb0a42fd23495f9ce1dd0df40175fce40a Mon Sep 17 00:00:00 2001 +From cde52885381c6164587251311d358e487f8b0e81 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 @@ -15,6 +15,10 @@ cases. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 18 +++--------------- + 1 files changed, 3 insertions(+), 15 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index 0421098..a4c8b7e 100644 @@ -80,5 +84,5 @@ index 0421098..a4c8b7e 100644 debug_rt_mutex_free_waiter(&waiter); -- -1.7.1.1 +1.7.0.4 diff --git a/rtmutex-unify-state-manipulation.patch b/rtmutex-unify-state-manipulation.patch index ae80069..83d24f5 100644 --- a/rtmutex-unify-state-manipulation.patch +++ b/rtmutex-unify-state-manipulation.patch @@ -1,4 +1,4 @@ -From 1c76a7be644b423797184556f99f617ca5ec2c3c Mon Sep 17 00:00:00 2001 +From c8049a0580ac88a9e4ead0b0d6b3a651b62579c6 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 @@ -11,6 +11,10 @@ duplicated code and make the handling consistent for all instances. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/rtmutex.c | 48 +++++++++++++++++++++++++++++++++++------------- + 1 files changed, 35 insertions(+), 13 deletions(-) diff --git a/kernel/rtmutex.c b/kernel/rtmutex.c index b649eb0..0421098 100644 @@ -107,5 +111,5 @@ index b649eb0..0421098 100644 /* * Extremely rare case, if we got woken up by a non-mutex wakeup, -- -1.7.1.1 +1.7.0.4 diff --git a/rw_semaphores-Add-rw_anon_semaphores.patch b/rw_semaphores-Add-rw_anon_semaphores.patch index 8a4a774..31918fe 100644 --- a/rw_semaphores-Add-rw_anon_semaphores.patch +++ b/rw_semaphores-Add-rw_anon_semaphores.patch @@ -1,4 +1,4 @@ -From 6317c3b794e0e24a71a33a22033ea2cc17c07858 Mon Sep 17 00:00:00 2001 +From 621e61d4b099c7da6511f83f7b411e63386aaf75 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 15:35:40 +0200 Subject: [PATCH] rw_semaphores: Add rw_anon_semaphores @@ -14,6 +14,21 @@ which is not converted on -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/alpha/include/asm/rwsem.h | 70 +++++++++++++++++-------- + arch/ia64/include/asm/rwsem.h | 60 +++++++++++++++------ + arch/powerpc/include/asm/rwsem.h | 93 +++++++++++++++++++++++++--------- + arch/s390/include/asm/rwsem.h | 105 ++++++++++++++++++++++++++++---------- + arch/sh/include/asm/rwsem.h | 104 ++++++++++++++++++++++++++++--------- + arch/sparc/include/asm/rwsem.h | 83 ++++++++++++++++++++++-------- + arch/x86/include/asm/rwsem.h | 99 +++++++++++++++++++++++++---------- + arch/xtensa/include/asm/rwsem.h | 69 ++++++++++++++++++------- + include/linux/rwsem-spinlock.h | 77 ++++++++++++++++++++++++---- + include/linux/rwsem.h | 79 +++++++++++++++++++++++----- + kernel/rwsem.c | 55 ++++++++------------ + lib/rwsem-spinlock.c | 34 ++++++------ + lib/rwsem.c | 30 +++++----- + 13 files changed, 683 insertions(+), 275 deletions(-) diff --git a/arch/alpha/include/asm/rwsem.h b/arch/alpha/include/asm/rwsem.h index 1570c0b..55f4f13 100644 @@ -1835,7 +1850,7 @@ index cae050b..6c6e7fa 100644 #endif diff --git a/lib/rwsem-spinlock.c b/lib/rwsem-spinlock.c -index ccf95bf..8d84e75 100644 +index ffc9fc7..dea1aea 100644 --- a/lib/rwsem-spinlock.c +++ b/lib/rwsem-spinlock.c @@ -17,7 +17,7 @@ struct rwsem_waiter { @@ -1904,7 +1919,7 @@ index ccf95bf..8d84e75 100644 { struct rwsem_waiter waiter; struct task_struct *tsk; -@@ -182,7 +182,7 @@ void __sched __down_read(struct rw_semaphore *sem) +@@ -183,7 +183,7 @@ void __sched __down_read(struct rw_semaphore *sem) /* * trylock for reading -- returns 1 if successful, 0 if contention */ @@ -1913,7 +1928,7 @@ index ccf95bf..8d84e75 100644 { unsigned long flags; int ret = 0; -@@ -205,7 +205,7 @@ int __down_read_trylock(struct rw_semaphore *sem) +@@ -206,7 +206,7 @@ int __down_read_trylock(struct rw_semaphore *sem) * get a write lock on the semaphore * - we increment the waiting count anyway to indicate an exclusive lock */ @@ -1922,7 +1937,7 @@ index ccf95bf..8d84e75 100644 { struct rwsem_waiter waiter; struct task_struct *tsk; -@@ -245,7 +245,7 @@ void __sched __down_write_nested(struct rw_semaphore *sem, int subclass) +@@ -247,7 +247,7 @@ void __sched __down_write_nested(struct rw_semaphore *sem, int subclass) ; } @@ -1931,7 +1946,7 @@ index ccf95bf..8d84e75 100644 { __down_write_nested(sem, 0); } -@@ -253,7 +253,7 @@ void __sched __down_write(struct rw_semaphore *sem) +@@ -255,7 +255,7 @@ void __sched __down_write(struct rw_semaphore *sem) /* * trylock for writing -- returns 1 if successful, 0 if contention */ @@ -1940,7 +1955,7 @@ index ccf95bf..8d84e75 100644 { unsigned long flags; int ret = 0; -@@ -274,7 +274,7 @@ int __down_write_trylock(struct rw_semaphore *sem) +@@ -276,7 +276,7 @@ int __down_write_trylock(struct rw_semaphore *sem) /* * release a read lock on the semaphore */ @@ -1949,7 +1964,7 @@ index ccf95bf..8d84e75 100644 { unsigned long flags; -@@ -289,7 +289,7 @@ void __up_read(struct rw_semaphore *sem) +@@ -291,7 +291,7 @@ void __up_read(struct rw_semaphore *sem) /* * release a write lock on the semaphore */ @@ -1958,7 +1973,7 @@ index ccf95bf..8d84e75 100644 { unsigned long flags; -@@ -306,7 +306,7 @@ void __up_write(struct rw_semaphore *sem) +@@ -308,7 +308,7 @@ void __up_write(struct rw_semaphore *sem) * downgrade a write lock into a read lock * - just wake up any readers at the front of the queue */ @@ -1968,7 +1983,7 @@ index ccf95bf..8d84e75 100644 unsigned long flags; diff --git a/lib/rwsem.c b/lib/rwsem.c -index 3e3365e..72eaba5 100644 +index ceba8e2..091c561 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c @@ -11,8 +11,8 @@ @@ -2003,7 +2018,7 @@ index 3e3365e..72eaba5 100644 { struct rwsem_waiter *waiter; struct task_struct *tsk; -@@ -146,9 +145,9 @@ __rwsem_do_wake(struct rw_semaphore *sem, int downgrading) +@@ -147,9 +146,9 @@ __rwsem_do_wake(struct rw_semaphore *sem, int downgrading) /* * wait for a lock to be granted */ @@ -2016,7 +2031,7 @@ index 3e3365e..72eaba5 100644 { struct task_struct *tsk = current; signed long count; -@@ -187,8 +186,8 @@ rwsem_down_failed_common(struct rw_semaphore *sem, +@@ -188,8 +187,8 @@ rwsem_down_failed_common(struct rw_semaphore *sem, /* * wait for the read lock to be granted */ @@ -2027,7 +2042,7 @@ index 3e3365e..72eaba5 100644 { struct rwsem_waiter waiter; -@@ -201,8 +200,8 @@ rwsem_down_read_failed(struct rw_semaphore *sem) +@@ -202,8 +201,8 @@ rwsem_down_read_failed(struct rw_semaphore *sem) /* * wait for the write lock to be granted */ @@ -2038,7 +2053,7 @@ index 3e3365e..72eaba5 100644 { struct rwsem_waiter waiter; -@@ -216,7 +215,7 @@ rwsem_down_write_failed(struct rw_semaphore *sem) +@@ -217,7 +216,7 @@ rwsem_down_write_failed(struct rw_semaphore *sem) * handle waking up a waiter on the semaphore * - up_read/up_write has decremented the active part of count if we come here */ @@ -2047,7 +2062,7 @@ index 3e3365e..72eaba5 100644 { unsigned long flags; -@@ -236,7 +235,8 @@ asmregparm struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem) +@@ -237,7 +236,8 @@ asmregparm struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem) * - caller incremented waiting part of count and discovered it still negative * - just wake up any readers at the front of the queue */ @@ -2058,5 +2073,5 @@ index 3e3365e..72eaba5 100644 unsigned long flags; -- -1.7.1.1 +1.7.0.4 diff --git a/rwsem-Make-inner-lock-raw.patch b/rwsem-Make-inner-lock-raw.patch index 7060d09..2db2e34 100644 --- a/rwsem-Make-inner-lock-raw.patch +++ b/rwsem-Make-inner-lock-raw.patch @@ -1,4 +1,4 @@ -From f39f0efddad61d3a13f0a4e9807d8c1c927963f7 Mon Sep 17 00:00:00 2001 +From 31340e1a6db64ffb37841085952df9b974dca6f3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 24 Feb 2010 09:54:54 +0100 Subject: [PATCH] rwsem: Make inner lock raw @@ -12,6 +12,13 @@ ownerless variant) to a sleeping spinlock on -rt. Convert it to raw. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/powerpc/include/asm/rwsem.h | 8 ++++---- + arch/x86/include/asm/rwsem.h | 8 ++++---- + include/linux/rwsem-spinlock.h | 8 ++++---- + lib/rwsem-spinlock.c | 38 +++++++++++++++++++------------------- + lib/rwsem.c | 14 +++++++------- + 5 files changed, 38 insertions(+), 38 deletions(-) diff --git a/arch/powerpc/include/asm/rwsem.h b/arch/powerpc/include/asm/rwsem.h index c2494d4..accf580 100644 @@ -289,7 +296,7 @@ index dea1aea..26b7766 100644 } diff --git a/lib/rwsem.c b/lib/rwsem.c -index 72eaba5..47f5a75 100644 +index 091c561..e8b37db 100644 --- a/lib/rwsem.c +++ b/lib/rwsem.c @@ -22,7 +22,7 @@ void __init_anon_rwsem(struct rw_anon_semaphore *sem, const char *name, @@ -301,7 +308,7 @@ index 72eaba5..47f5a75 100644 INIT_LIST_HEAD(&sem->wait_list); } EXPORT_SYMBOL(__init_anon_rwsem); -@@ -155,7 +155,7 @@ rwsem_down_failed_common(struct rw_anon_semaphore *sem, +@@ -156,7 +156,7 @@ rwsem_down_failed_common(struct rw_anon_semaphore *sem, set_task_state(tsk, TASK_UNINTERRUPTIBLE); /* set up my own style of waitqueue */ @@ -310,7 +317,7 @@ index 72eaba5..47f5a75 100644 waiter->task = tsk; get_task_struct(tsk); -@@ -168,7 +168,7 @@ rwsem_down_failed_common(struct rw_anon_semaphore *sem, +@@ -169,7 +169,7 @@ rwsem_down_failed_common(struct rw_anon_semaphore *sem, if (!(count & RWSEM_ACTIVE_MASK)) sem = __rwsem_do_wake(sem, 0); @@ -319,7 +326,7 @@ index 72eaba5..47f5a75 100644 /* wait to be given the lock */ for (;;) { -@@ -219,13 +219,13 @@ asmregparm struct rw_anon_semaphore *rwsem_wake(struct rw_anon_semaphore *sem) +@@ -220,13 +220,13 @@ asmregparm struct rw_anon_semaphore *rwsem_wake(struct rw_anon_semaphore *sem) { unsigned long flags; @@ -335,7 +342,7 @@ index 72eaba5..47f5a75 100644 return sem; } -@@ -240,13 +240,13 @@ rwsem_downgrade_wake(struct rw_anon_semaphore *sem) +@@ -241,13 +241,13 @@ rwsem_downgrade_wake(struct rw_anon_semaphore *sem) { unsigned long flags; @@ -352,5 +359,5 @@ index 72eaba5..47f5a75 100644 return sem; } -- -1.7.4 +1.7.0.4 diff --git a/s2io-delete-unused-do_spin_lock-variable.patch b/s2io-delete-unused-do_spin_lock-variable.patch index 6e169d2..521d33d 100644 --- a/s2io-delete-unused-do_spin_lock-variable.patch +++ b/s2io-delete-unused-do_spin_lock-variable.patch @@ -1,4 +1,4 @@ -From 38817f6979fe5817056de8c1fade925831a7a0e6 Mon Sep 17 00:00:00 2001 +From 05573dc3b047be9deb4f873584121cbbaafb6922 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sat, 22 Jan 2011 18:57:43 -0500 Subject: [PATCH] s2io: delete unused do_spin_lock variable @@ -10,12 +10,15 @@ Found buried in one of tglx's RT merge commits. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Cc: Thomas Gleixner <tglx@linutronix.de> +--- + drivers/net/s2io.c | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c -index 9984903..3b40857 100644 +index 7e57dc4..c1eea6c 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c -@@ -4083,7 +4083,6 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) +@@ -4084,7 +4084,6 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) unsigned long flags = 0; u16 vlan_tag = 0; struct fifo_info *fifo = NULL; @@ -23,7 +26,7 @@ index 9984903..3b40857 100644 int offload_type; int enable_per_list_interrupt = 0; struct config_param *config = &sp->config; -@@ -4136,7 +4135,6 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) +@@ -4137,7 +4136,6 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev) queue += sp->udp_fifo_idx; if (skb->len > 1024) enable_per_list_interrupt = 1; @@ -32,5 +35,5 @@ index 9984903..3b40857 100644 } } -- -1.7.1.1 +1.7.0.4 diff --git a/s3c-hwmon.c-convert-semaphore-to-mutex.patch b/s3c-hwmon.c-convert-semaphore-to-mutex.patch index 30a6d70..29e5ef0 100644 --- a/s3c-hwmon.c-convert-semaphore-to-mutex.patch +++ b/s3c-hwmon.c-convert-semaphore-to-mutex.patch @@ -1,4 +1,4 @@ -From 503e0d2fd3bb5ab60b2354e3c6ee434807d5bf81 Mon Sep 17 00:00:00 2001 +From 99125a375a28e6f446a52a8188297d96b0ae6916 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 11:18:46 -0500 Subject: [PATCH] s3c-hwmon.c: convert semaphore to mutex @@ -29,6 +29,9 @@ 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> +--- + drivers/hwmon/s3c-hwmon.c | 8 ++++---- + 1 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/hwmon/s3c-hwmon.c b/drivers/hwmon/s3c-hwmon.c index 3f3f9a4..05248f2 100644 @@ -70,5 +73,5 @@ index 3f3f9a4..05248f2 100644 /* Register with the core ADC driver. */ -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Add-TASK_RUNNING_MUTEX-state.patch b/sched-Add-TASK_RUNNING_MUTEX-state.patch index 3e8de58..bdb1a83 100644 --- a/sched-Add-TASK_RUNNING_MUTEX-state.patch +++ b/sched-Add-TASK_RUNNING_MUTEX-state.patch @@ -1,4 +1,4 @@ -From fb20845c8dac0d4e5e6f692f6612841231578315 Mon Sep 17 00:00:00 2001 +From b847571c66989ec390e91e5eabf282f18f25c41c 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 @@ -9,12 +9,16 @@ Necessary for rt_mutex wakeups to preserve the state. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/proc/array.c | 26 ++++++++++++++++++++------ + include/linux/sched.h | 25 ++++++++++++++----------- + 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c -index 13b5d07..90dac9b 100644 +index 885ab55..423957e 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c -@@ -135,12 +135,13 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) +@@ -133,12 +133,13 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) */ static const char *task_state_array[] = { "R (running)", /* 0 */ @@ -62,7 +66,7 @@ index 13b5d07..90dac9b 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index ae42b44..bdd186d 100644 +index cb421c8..304c8c8 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) @@ -112,5 +116,5 @@ index ae42b44..bdd186d 100644 __TASK_TRACED) -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Add-lock_count-to-task-struct.patch b/sched-Add-lock_count-to-task-struct.patch index e68d4c3..1de6e54 100644 --- a/sched-Add-lock_count-to-task-struct.patch +++ b/sched-Add-lock_count-to-task-struct.patch @@ -1,4 +1,4 @@ -From 4428443fda5b0b1ed5cca81f06ff378d4d12250b Mon Sep 17 00:00:00 2001 +From 1d32d09a150e52c62a7cec3ac193752208394ceb 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 @@ -9,12 +9,16 @@ Debugging interface. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 20 ++++++++++++++++++++ + kernel/fork.c | 6 ++++++ + 2 files changed, 26 insertions(+), 0 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index bdd186d..dea1e05 100644 +index 304c8c8..0f0cc03 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1474,6 +1474,26 @@ struct task_struct { +@@ -1414,6 +1414,26 @@ struct task_struct { gfp_t lockdep_reclaim_gfp; #endif @@ -42,10 +46,10 @@ index bdd186d..dea1e05 100644 void *journal_info; diff --git a/kernel/fork.c b/kernel/fork.c -index 84507ab..8453327 100644 +index 1a3f641..f496dcf 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -943,6 +943,9 @@ static void rt_mutex_init_task(struct task_struct *p) +@@ -920,6 +920,9 @@ static void rt_mutex_init_task(struct task_struct *p) #ifdef CONFIG_RT_MUTEXES plist_head_init_raw(&p->pi_waiters, &p->pi_lock); p->pi_blocked_on = NULL; @@ -55,7 +59,7 @@ index 84507ab..8453327 100644 #endif } -@@ -1167,6 +1170,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1145,6 +1148,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; @@ -66,5 +70,5 @@ index 84507ab..8453327 100644 if (pid != &init_struct_pid) { retval = -ENOMEM; -- -1.7.1.1 +1.7.0.4 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 bb8fedd..e74378a 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 3d4ccca8d248e7d89507266a9aad7e005b19daef Mon Sep 17 00:00:00 2001 +From 708dbc824657476807e387253001204df09c25ee 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 @@ -11,12 +11,16 @@ commit 5d2740b70e7f6ad29104aec72956fb6e4d143809 in tip. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 4 ++++ + kernel/sched_fair.c | 18 ++++++++++++++++++ + 2 files changed, 22 insertions(+), 0 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 429d251..a196eb8 100644 +index 46869d9..e94915f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -813,7 +813,11 @@ late_initcall(sched_init_debug); +@@ -824,7 +824,11 @@ late_initcall(sched_init_debug); * Number of tasks to iterate in a single balance run. * Limited because this is done with IRQs disabled. */ @@ -29,7 +33,7 @@ index 429d251..a196eb8 100644 /* * ratelimit for updating the group shares. diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c -index 4c47b93..07132f0 100644 +index add5302..f776fff 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1954,6 +1954,10 @@ balance_tasks(struct rq *this_rq, int this_cpu, struct rq *busiest, @@ -65,5 +69,5 @@ index 4c47b93..07132f0 100644 rcu_read_unlock(); -- -1.7.1.1 +1.7.0.4 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 2cec9c2..6e59de5 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 55866a0fb283214e77dfdd6c5aab35971172f253 Mon Sep 17 00:00:00 2001 +From 5a748a9ec22fe92dfb4197b5b9d4c308a47c7d8c 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 @@ -6,12 +6,16 @@ Subject: [PATCH] sched: Convert cgroups release_list_lock to raw_spinlock commit 58814bae5de64d5291b813ea0a52192e4fa714ad in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/cgroup.c | 18 +++++++++--------- + 1 files changed, 9 insertions(+), 9 deletions(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c -index aa3bee5..11a8b34 100644 +index 6d870f2..c068178 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c -@@ -204,7 +204,7 @@ list_for_each_entry(_root, &roots, root_list) +@@ -258,7 +258,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 +24,7 @@ index aa3bee5..11a8b34 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); -@@ -3153,11 +3153,11 @@ again: +@@ -3535,11 +3535,11 @@ again: finish_wait(&cgroup_rmdir_waitq, &wait); clear_bit(CGRP_WAIT_ON_RMDIR, &cgrp->flags); @@ -34,7 +38,7 @@ index aa3bee5..11a8b34 100644 cgroup_lock_hierarchy(cgrp->root); /* delete this cgroup from parent->children */ -@@ -3693,13 +3693,13 @@ static void check_for_release(struct cgroup *cgrp) +@@ -4296,13 +4296,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 +54,7 @@ index aa3bee5..11a8b34 100644 if (need_schedule_work) schedule_work(&release_agent_work); } -@@ -3749,7 +3749,7 @@ static void cgroup_release_agent(struct work_struct *work) +@@ -4354,7 +4354,7 @@ static void cgroup_release_agent(struct work_struct *work) { BUG_ON(work != &release_agent_work); mutex_lock(&cgroup_mutex); @@ -59,7 +63,7 @@ index aa3bee5..11a8b34 100644 while (!list_empty(&release_list)) { char *argv[3], *envp[3]; int i; -@@ -3758,7 +3758,7 @@ static void cgroup_release_agent(struct work_struct *work) +@@ -4363,7 +4363,7 @@ static void cgroup_release_agent(struct work_struct *work) struct cgroup, release_list); list_del_init(&cgrp->release_list); @@ -68,7 +72,7 @@ index aa3bee5..11a8b34 100644 pathbuf = kmalloc(PAGE_SIZE, GFP_KERNEL); if (!pathbuf) goto continue_free; -@@ -3788,9 +3788,9 @@ static void cgroup_release_agent(struct work_struct *work) +@@ -4393,9 +4393,9 @@ static void cgroup_release_agent(struct work_struct *work) continue_free: kfree(pathbuf); kfree(agentbuf); @@ -81,5 +85,5 @@ index aa3bee5..11a8b34 100644 } -- -1.7.1.1 +1.7.0.4 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 36b876e..26f7958 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 80221fdbb9fd515ccd114825467c27841f9a8945 Mon Sep 17 00:00:00 2001 +From faf5a36c0f61e4441c779a659c7931211625f55c 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 @@ -7,6 +7,12 @@ commit a3f22fd7ae186a29b413ad959184f9b4c1d32173 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/init_task.h | 2 +- + include/linux/sched.h | 4 ++-- + kernel/posix-cpu-timers.c | 8 ++++---- + kernel/sched_stats.h | 12 ++++++------ + 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/include/linux/init_task.h b/include/linux/init_task.h index b1ed1cd..e13501e 100644 @@ -22,7 +28,7 @@ index b1ed1cd..e13501e 100644 } diff --git a/include/linux/sched.h b/include/linux/sched.h -index df60e1a..fbc74a0 100644 +index 58478ea..a993aa5 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -511,7 +511,7 @@ struct task_cputime { @@ -34,7 +40,7 @@ index df60e1a..fbc74a0 100644 }; /* -@@ -2402,7 +2402,7 @@ void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times); +@@ -2401,7 +2401,7 @@ void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times); static inline void thread_group_cputime_init(struct signal_struct *sig) { diff --git a/sched-Debug-missed-preemption-checks.patch b/sched-Debug-missed-preemption-checks.patch index 78064ac..f206048 100644 --- a/sched-Debug-missed-preemption-checks.patch +++ b/sched-Debug-missed-preemption-checks.patch @@ -1,4 +1,4 @@ -From 9af4a9aa9787a44ac3bbd8df0b5ae047b757e3dc Mon Sep 17 00:00:00 2001 +From 619d3ebee4886d39a0e8eb3a442a137861266dc8 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 @@ -22,6 +22,16 @@ Based on a previous patch from Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/preempt.h | 18 ++++++++++++++++-- + include/linux/spinlock_api_up.h | 2 +- + init/main.c | 3 +-- + kernel/mutex.c | 3 +-- + kernel/sched.c | 18 +++++++++++++++--- + kernel/signal.c | 3 +-- + kernel/softirq.c | 7 +++---- + lib/kernel_lock.c | 2 +- + 8 files changed, 39 insertions(+), 17 deletions(-) diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 2e681d9..5c7dba8 100644 @@ -85,10 +95,10 @@ index af1f472..d05112d 100644 #define __UNLOCK_IRQ(lock) \ diff --git a/init/main.c b/init/main.c -index 4cb47a1..edabbff 100644 +index 5c85402..136733a 100644 --- a/init/main.c +++ b/init/main.c -@@ -424,8 +424,7 @@ static noinline void __init_refok rest_init(void) +@@ -440,8 +440,7 @@ static noinline void __init_refok rest_init(void) * at least once to get things moving: */ init_idle_bootup_task(current); @@ -113,10 +123,10 @@ index 632f04c..90ed15f 100644 spin_lock_mutex(&lock->wait_lock, flags); } diff --git a/kernel/sched.c b/kernel/sched.c -index d6b9704..07bc2d2 100644 +index 07ab8fd..a2c158e 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5327,6 +5327,19 @@ notrace unsigned long get_parent_ip(unsigned long addr) +@@ -3544,6 +3544,19 @@ notrace unsigned long get_parent_ip(unsigned long addr) return addr; } @@ -136,7 +146,7 @@ index d6b9704..07bc2d2 100644 #if defined(CONFIG_PREEMPT) && (defined(CONFIG_DEBUG_PREEMPT) || \ defined(CONFIG_PREEMPT_TRACER)) -@@ -5547,7 +5560,7 @@ need_resched_nonpreemptible: +@@ -3764,7 +3777,7 @@ need_resched_nonpreemptible: goto need_resched_nonpreemptible; } @@ -145,7 +155,7 @@ index d6b9704..07bc2d2 100644 if (need_resched()) goto need_resched; } -@@ -6730,9 +6743,8 @@ SYSCALL_DEFINE0(sched_yield) +@@ -4953,9 +4966,8 @@ SYSCALL_DEFINE0(sched_yield) __release(rq->lock); spin_release(&rq->lock.dep_map, 1, _THIS_IP_); do_raw_spin_unlock(&rq->lock); @@ -157,10 +167,10 @@ index d6b9704..07bc2d2 100644 return 0; } diff --git a/kernel/signal.c b/kernel/signal.c -index 549df9d..b02ed64 100644 +index 5967e7c..1f90b68 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -1641,8 +1641,7 @@ static void ptrace_stop(int exit_code, int clear_code, siginfo_t *info) +@@ -1658,8 +1658,7 @@ static void ptrace_stop(int exit_code, int clear_code, siginfo_t *info) */ preempt_disable(); read_unlock(&tasklist_lock); @@ -216,5 +226,5 @@ index b135d04..5354922 100644 /* -- -1.7.1.1 +1.7.0.4 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 082d7f7..d8f1abb 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 993967ecc4b7685ee320b50fdc3d04267d9bd9a0 Mon Sep 17 00:00:00 2001 +From 45db8d4ffc7f7524d795dd92219ff1042188a959 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 @@ -12,12 +12,17 @@ Extend activate_task with a "head" argument and fix up all callers. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 17 +++++++++-------- + kernel/sched_fair.c | 2 +- + kernel/sched_rt.c | 4 ++-- + 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 5c260f0..abb9f14 100644 +index 56ad49c..9a25a5f 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -1967,12 +1967,13 @@ static void dequeue_task(struct rq *rq, struct task_struct *p, int sleep) +@@ -1978,12 +1978,13 @@ static void dequeue_task(struct rq *rq, struct task_struct *p, int sleep) /* * activate_task - move a task to the runqueue. */ @@ -33,7 +38,7 @@ index 5c260f0..abb9f14 100644 inc_nr_running(rq); } -@@ -2524,7 +2525,7 @@ out_activate: +@@ -2533,7 +2534,7 @@ out_activate: schedstat_inc(p, se.nr_wakeups_local); else schedstat_inc(p, se.nr_wakeups_remote); @@ -42,7 +47,7 @@ index 5c260f0..abb9f14 100644 success = 1; /* -@@ -2791,7 +2792,7 @@ void wake_up_new_task(struct task_struct *p, unsigned long clone_flags) +@@ -2800,7 +2801,7 @@ void wake_up_new_task(struct task_struct *p, unsigned long clone_flags) BUG_ON(p->state != TASK_WAKING); p->state = TASK_RUNNING; update_rq_clock(rq); @@ -51,7 +56,7 @@ index 5c260f0..abb9f14 100644 trace_sched_wakeup_new(rq, p, 1); check_preempt_curr(rq, p, WF_FORK); #ifdef CONFIG_SMP -@@ -4868,7 +4869,7 @@ recheck: +@@ -4877,7 +4878,7 @@ recheck: if (running) p->sched_class->set_curr_task(rq); if (on_rq) { @@ -60,7 +65,7 @@ index 5c260f0..abb9f14 100644 check_class_changed(rq, p, prev_class, oldprio, running); } -@@ -5781,7 +5782,7 @@ static int __migrate_task(struct task_struct *p, int src_cpu, int dest_cpu) +@@ -5794,7 +5795,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); @@ -69,7 +74,7 @@ index 5c260f0..abb9f14 100644 check_preempt_curr(rq_dest, p, 0); } done: -@@ -5949,7 +5950,7 @@ void sched_idle_next(void) +@@ -5962,7 +5963,7 @@ void sched_idle_next(void) __setscheduler(rq, p, SCHED_FIFO, MAX_RT_PRIO-1); update_rq_clock(rq); @@ -78,7 +83,7 @@ index 5c260f0..abb9f14 100644 raw_spin_unlock_irqrestore(&rq->lock, flags); } -@@ -8251,7 +8252,7 @@ static void normalize_task(struct rq *rq, struct task_struct *p) +@@ -8268,7 +8269,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) { @@ -88,7 +93,7 @@ index 5c260f0..abb9f14 100644 } } diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c -index 4881995..4c47b93 100644 +index b873769..add5302 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1828,7 +1828,7 @@ static void pull_task(struct rq *src_rq, struct task_struct *p, @@ -101,10 +106,10 @@ index 4881995..4c47b93 100644 } diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 365430c..216c101 100644 +index b2f6d2b..fdf667b 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -1424,7 +1424,7 @@ static int push_rt_task(struct rq *rq) +@@ -1429,7 +1429,7 @@ static int push_rt_task(struct rq *rq) deactivate_task(rq, next_task, 0); set_task_cpu(next_task, lowest_rq->cpu); @@ -113,7 +118,7 @@ index 365430c..216c101 100644 resched_task(lowest_rq->curr); -@@ -1507,7 +1507,7 @@ static int pull_rt_task(struct rq *this_rq) +@@ -1512,7 +1512,7 @@ static int pull_rt_task(struct rq *this_rq) deactivate_task(src_rq, p, 0); set_task_cpu(p, this_cpu); @@ -123,5 +128,5 @@ index 365430c..216c101 100644 * We continue with the search, just in * case there's an even higher prio task -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch b/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch index a1d488b..5cee086 100644 --- a/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch +++ b/sched-Fix-TASK_WAKING-vs-fork-deadlock.patch @@ -1,4 +1,4 @@ -From f99d3adda4c27c35c792a000e51dad1ca69e6b74 Mon Sep 17 00:00:00 2001 +From 7aedc2c3de1cf46956537c0052ae085abbd7370f 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 @@ -30,9 +30,16 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 3 +- + kernel/sched.c | 63 ++++++++++++++++------------------------------ + kernel/sched_fair.c | 8 ++++- + kernel/sched_idletask.c | 3 +- + kernel/sched_rt.c | 5 +-- + 5 files changed, 34 insertions(+), 48 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 452c4da..2c0b2bc 100644 +index 6d936b6..d733a51 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1110,7 +1110,8 @@ struct sched_class { @@ -46,10 +53,10 @@ index 452c4da..2c0b2bc 100644 void (*pre_schedule) (struct rq *this_rq, struct task_struct *task); void (*post_schedule) (struct rq *this_rq); diff --git a/kernel/sched.c b/kernel/sched.c -index 8498c3e..30a43dd 100644 +index 3afc9df..dd1fc16 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -982,14 +982,10 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) +@@ -993,14 +993,10 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) /* * Check whether the task is waking, we use this to synchronize against * ttwu() so that task_cpu() reports a stable number. @@ -65,7 +72,7 @@ index 8498c3e..30a43dd 100644 } /* -@@ -2388,9 +2384,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) +@@ -2397,9 +2393,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) * The caller (fork, wakeup) owns TASK_WAKING, ->cpus_allowed is stable. */ static inline @@ -77,7 +84,7 @@ index 8498c3e..30a43dd 100644 /* * In order not to call set_task_cpu() on a blocking task we need -@@ -2461,17 +2457,10 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, +@@ -2470,17 +2466,10 @@ static int try_to_wake_up(struct task_struct *p, unsigned int state, if (p->sched_class->task_waking) p->sched_class->task_waking(rq, p); @@ -98,7 +105,7 @@ index 8498c3e..30a43dd 100644 rq = cpu_rq(cpu); raw_spin_lock(&rq->lock); -@@ -2679,11 +2668,11 @@ void sched_fork(struct task_struct *p, int clone_flags) +@@ -2688,11 +2677,11 @@ void sched_fork(struct task_struct *p, int clone_flags) __sched_fork(p); /* @@ -112,7 +119,7 @@ index 8498c3e..30a43dd 100644 /* * Revert to default priority/policy on fork if requested. -@@ -2756,28 +2745,23 @@ void wake_up_new_task(struct task_struct *p, unsigned long clone_flags) +@@ -2765,28 +2754,23 @@ void wake_up_new_task(struct task_struct *p, unsigned long clone_flags) int cpu __maybe_unused = get_cpu(); #ifdef CONFIG_SMP @@ -149,7 +156,7 @@ index 8498c3e..30a43dd 100644 update_rq_clock(rq); activate_task(rq, p, 0, false); trace_sched_wakeup_new(rq, p, 1); -@@ -3261,19 +3245,15 @@ void sched_exec(void) +@@ -3270,19 +3254,15 @@ void sched_exec(void) { struct task_struct *p = current; struct migration_req req; @@ -174,7 +181,7 @@ index 8498c3e..30a43dd 100644 /* * select_task_rq() can race against ->cpus_allowed */ -@@ -3291,6 +3271,7 @@ void sched_exec(void) +@@ -3300,6 +3280,7 @@ void sched_exec(void) return; } diff --git a/sched-Fix-in_softirq-changes-fallout.patch b/sched-Fix-in_softirq-changes-fallout.patch index 807c745..5a2ab98 100644 --- a/sched-Fix-in_softirq-changes-fallout.patch +++ b/sched-Fix-in_softirq-changes-fallout.patch @@ -1,4 +1,4 @@ -From 6c6e1ac322662bcc2b3810ec6c05af3f398d41af Mon Sep 17 00:00:00 2001 +From 1e2f5030cc50af61dc804dafd4bf27cd16c1c481 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 @@ -9,12 +9,16 @@ WARNING: at kernel/sched.c:7158 cond_resched_softirq_context+0x37/0x86() triggers now. Shut it up. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 2c3d872..2119115 100644 +index 7917404..d524ac8 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7142,7 +7142,7 @@ EXPORT_SYMBOL(__cond_resched_softirq); +@@ -5323,7 +5323,7 @@ EXPORT_SYMBOL(__cond_resched_softirq); */ int __sched cond_resched_softirq_context(void) { @@ -24,5 +28,5 @@ index 2c3d872..2119115 100644 if (softirq_need_resched() && system_state == SYSTEM_RUNNING) { raw_local_irq_disable(); -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Fix-spurious-load-spikes.patch b/sched-Fix-spurious-load-spikes.patch index 4a3eee7..4c04ed6 100644 --- a/sched-Fix-spurious-load-spikes.patch +++ b/sched-Fix-spurious-load-spikes.patch @@ -1,4 +1,4 @@ -From d9087cc52a280af77fbc52a3f9581c56dca9a8e6 Mon Sep 17 00:00:00 2001 +From 736d081ecb434beb9c4d738fb6ec2a185f52196a 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 @@ -13,12 +13,16 @@ Fixes spurious system load spikes observed in /proc/loadavgrt, as described in: Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com>> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 0ebeac1..adc845c 100644 +index ff58409..17cef67 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -3153,6 +3153,13 @@ unsigned long nr_iowait(void) +@@ -3139,6 +3139,13 @@ unsigned long nr_iowait(void) for_each_possible_cpu(i) sum += atomic_read(&cpu_rq(i)->nr_iowait); @@ -33,5 +37,5 @@ index 0ebeac1..adc845c 100644 } -- -1.7.1.1 +1.7.0.4 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 f6062ea..926b9b9 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 acc955917ca0e374669aa52405e159cc6f7f2610 Mon Sep 17 00:00:00 2001 +From 6ad402ac5ca7d3ebcf79a52592523f5c70ced90b 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 @@ -46,12 +46,16 @@ Fixes spurious system load spikes observed in /proc/loadavgrt, as described in: Signed-off-by: Luis Claudio R. Goncalves <lclaudio@uudg.org> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched_rt.c | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 1497e35..40ca364 100644 +index 1996902..cbdaa6e 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -909,6 +909,13 @@ unsigned long rt_nr_uninterruptible(void) +@@ -918,6 +918,13 @@ unsigned long rt_nr_uninterruptible(void) for_each_online_cpu(i) sum += cpu_rq(i)->rt.rt_nr_uninterruptible; @@ -66,5 +70,5 @@ index 1497e35..40ca364 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Fix-taskstates-in-sched_switch-and-proc.patch b/sched-Fix-taskstates-in-sched_switch-and-proc.patch index f0e105e..93d6d3b 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 baf11f6734078890a646a7b62f73f805ede5bf69 Mon Sep 17 00:00:00 2001 +From 0608589edffefcd301dd5ecd6c2595c894d96928 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 @@ -19,12 +19,17 @@ should they ever need to be changed again. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/proc/array.c | 27 ++++++++++++++------------- + include/linux/sched.h | 42 ++++++++++++++++++++++++++++++++++++++++-- + include/trace/events/sched.h | 9 ++++++--- + 3 files changed, 60 insertions(+), 18 deletions(-) diff --git a/fs/proc/array.c b/fs/proc/array.c -index 382f0ff..768d3e2 100644 +index 423957e..4457974 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c -@@ -129,22 +129,23 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) +@@ -127,22 +127,23 @@ static inline void task_name(struct seq_file *m, struct task_struct *p) /* * The task state array is a strange "bitmap" of @@ -62,7 +67,7 @@ index 382f0ff..768d3e2 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 77166d7..18ae27a 100644 +index e4b6a93..2167a13 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -191,7 +191,9 @@ extern struct mutex kernel_sem; @@ -156,5 +161,5 @@ index 354e98f..ad2ae91 100644 ); -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Fix-wake_affine-vs-RT-tasks.patch b/sched-Fix-wake_affine-vs-RT-tasks.patch index 028a751..e323bc6 100644 --- a/sched-Fix-wake_affine-vs-RT-tasks.patch +++ b/sched-Fix-wake_affine-vs-RT-tasks.patch @@ -1,4 +1,4 @@ -From 7f5410541b8c89b285cbd28f8d66bd42caf9d81d Mon Sep 17 00:00:00 2001 +From ca5cc4ab86fbb30d310f2a2114fc13278684c36d 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 @@ -22,12 +22,16 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1275316109.27810.22969.camel@twins> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 24 ++++++------------------ + kernel/sched_fair.c | 22 ++++++++++++++++------ + 2 files changed, 22 insertions(+), 24 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index a196eb8..d6e9062 100644 +index e94915f..b4b529c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -555,6 +555,8 @@ struct rq { +@@ -566,6 +566,8 @@ struct rq { struct root_domain *rd; struct sched_domain *sd; @@ -36,7 +40,7 @@ index a196eb8..d6e9062 100644 unsigned char idle_at_tick; /* For active balancing */ int post_schedule; -@@ -1560,24 +1562,9 @@ static unsigned long target_load(int cpu, int type) +@@ -1571,24 +1573,9 @@ static unsigned long target_load(int cpu, int type) return max(rq->cpu_load[type-1], total); } @@ -62,7 +66,7 @@ index a196eb8..d6e9062 100644 } static int task_hot(struct task_struct *p, u64 now, struct sched_domain *sd); -@@ -1917,8 +1904,8 @@ static void dec_nr_running(struct rq *rq) +@@ -1928,8 +1915,8 @@ static void dec_nr_running(struct rq *rq) static void set_load_weight(struct task_struct *p) { if (task_has_rt_policy(p)) { @@ -73,7 +77,7 @@ index a196eb8..d6e9062 100644 return; } -@@ -8152,6 +8139,7 @@ void __init sched_init(void) +@@ -8169,6 +8156,7 @@ void __init sched_init(void) #ifdef CONFIG_SMP rq->sd = NULL; rq->rd = NULL; @@ -82,7 +86,7 @@ index a196eb8..d6e9062 100644 rq->active_balance = 0; rq->next_balance = jiffies; diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c -index 07132f0..1693baf 100644 +index f776fff..6e1786f 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -1248,7 +1248,6 @@ static int wake_affine(struct sched_domain *sd, struct task_struct *p, int sync) @@ -136,5 +140,5 @@ index 07132f0..1693baf 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Hack-to-make-prio-ceiling-posix-compliant.patch b/sched-Hack-to-make-prio-ceiling-posix-compliant.patch index 65b7762..883ccc2 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 ad02531b3d8d76144bdc5c13525da103981487e3 Mon Sep 17 00:00:00 2001 +From 70dc0c1cd19e2bd8e4d802bfa38c1b4488c2fca2 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 @@ -44,12 +44,16 @@ Fixing this in mainline needs more thoughts. Reported-by: Mathias Weber <mathias.weber.mw1@roche.com> Reported-by: Carsten Emde <cbe@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 20 +++++++++++++++++++- + 1 files changed, 19 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index a94db59..2c3d872 100644 +index 9a25a5f..7917404 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6701,7 +6701,25 @@ recheck: +@@ -4878,7 +4878,25 @@ recheck: if (running) p->sched_class->set_curr_task(rq); if (on_rq) { @@ -77,5 +81,5 @@ index a94db59..2c3d872 100644 check_class_changed(rq, p, prev_class, oldprio, running); } -- -1.7.1.1 +1.7.0.4 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 86731ea..8d6b5a0 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 68cb443d2a1b374b6b6e340f8043f35f646a0b36 Mon Sep 17 00:00:00 2001 +From 679fd13e52e5fa65048092957b6ac3bb143723ed 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 @@ -36,6 +36,12 @@ Signed-off-by: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100315091003.GA9123@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/cpuset.h | 13 ------------- + kernel/cpuset.c | 27 +-------------------------- + kernel/sched.c | 10 +++------- + 3 files changed, 4 insertions(+), 46 deletions(-) diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index a5740fc..eeaaee7 100644 @@ -83,10 +89,10 @@ index a5740fc..eeaaee7 100644 { return 0; diff --git a/kernel/cpuset.c b/kernel/cpuset.c -index ba401fa..4eb24cf 100644 +index d109467..9a747f5 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c -@@ -2140,19 +2140,10 @@ void __init cpuset_init_smp(void) +@@ -2182,19 +2182,10 @@ void __init cpuset_init_smp(void) void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) { mutex_lock(&callback_mutex); @@ -107,7 +113,7 @@ index ba401fa..4eb24cf 100644 } void cpuset_init_current_mems_allowed(void) -@@ -2341,22 +2332,6 @@ int __cpuset_node_allowed_hardwall(int node, gfp_t gfp_mask) +@@ -2383,22 +2374,6 @@ int __cpuset_node_allowed_hardwall(int node, gfp_t gfp_mask) } /** @@ -131,10 +137,10 @@ index ba401fa..4eb24cf 100644 * * Undo the lock taken in a previous cpuset_lock() call. diff --git a/kernel/sched.c b/kernel/sched.c -index 1319f8e..63ec635 100644 +index b4b529c..19a3afb 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2395,11 +2395,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) +@@ -2373,11 +2373,9 @@ static int select_fallback_rq(int cpu, struct task_struct *p) return dest_cpu; /* No more Mr. Nice Guy. */ @@ -149,7 +155,7 @@ index 1319f8e..63ec635 100644 /* * Don't tell them about moving exiting tasks or -@@ -8136,7 +8134,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) +@@ -6308,7 +6306,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) case CPU_DEAD: case CPU_DEAD_FROZEN: @@ -157,7 +163,7 @@ index 1319f8e..63ec635 100644 migrate_live_tasks(cpu); rq = cpu_rq(cpu); kthread_stop(rq->migration_thread); -@@ -8150,7 +8147,6 @@ migration_call(struct notifier_block *nfb, unsigned long action, void *hcpu) +@@ -6322,7 +6319,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); @@ -166,5 +172,5 @@ index 1319f8e..63ec635 100644 BUG_ON(rq->nr_running != 0); calc_global_load_remove(rq); -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Make-select_fallback_rq-cpuset-friendly.patch b/sched-Make-select_fallback_rq-cpuset-friendly.patch index b63bb9c..2ac0312 100644 --- a/sched-Make-select_fallback_rq-cpuset-friendly.patch +++ b/sched-Make-select_fallback_rq-cpuset-friendly.patch @@ -1,4 +1,4 @@ -From 9b66ef88fabba97473f4925cb1e18546c4ac8531 Mon Sep 17 00:00:00 2001 +From 927ab236ab46a6dc5d13a89b3c03aebc4f794f08 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 @@ -24,6 +24,12 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100315091027.GA9155@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/cpuset.h | 7 +++++++ + kernel/cpuset.c | 42 ++++++++++++++++++++++++++++++++++++++++++ + kernel/sched.c | 4 +--- + 3 files changed, 50 insertions(+), 3 deletions(-) diff --git a/include/linux/cpuset.h b/include/linux/cpuset.h index eeaaee7..a73454a 100644 @@ -51,10 +57,10 @@ index eeaaee7..a73454a 100644 { return node_possible_map; diff --git a/kernel/cpuset.c b/kernel/cpuset.c -index 4eb24cf..4a7676c 100644 +index 9a747f5..9a50c5f 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c -@@ -2146,6 +2146,48 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) +@@ -2188,6 +2188,48 @@ void cpuset_cpus_allowed(struct task_struct *tsk, struct cpumask *pmask) mutex_unlock(&callback_mutex); } @@ -104,10 +110,10 @@ index 4eb24cf..4a7676c 100644 { nodes_setall(current->mems_allowed); diff --git a/kernel/sched.c b/kernel/sched.c -index c38298d..c36457d 100644 +index 455c38c..3afc9df 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2399,9 +2399,7 @@ static int select_fallback_rq(int cpu, struct task_struct *p) +@@ -2377,9 +2377,7 @@ static int select_fallback_rq(int cpu, struct task_struct *p) /* No more Mr. Nice Guy. */ if (unlikely(dest_cpu >= nr_cpu_ids)) { @@ -119,5 +125,5 @@ index c38298d..c36457d 100644 * Don't tell them about moving exiting tasks or * kernel threads (both mm NULL), since they never -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Prevent-boosting-of-idle-task-on-rt.patch b/sched-Prevent-boosting-of-idle-task-on-rt.patch index c5003de..2155695 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 efbbf2f27cdbe06e184d352044469f94452b6001 Mon Sep 17 00:00:00 2001 +From a8db0bb752df20ffb153a442d228e09cab65968e 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 @@ -17,12 +17,16 @@ real need to boost. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 20 ++++++++++++++++++++ + 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index e96ac22..49feb1f 100644 +index d56e54d..29d4416 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6297,6 +6297,25 @@ void task_setprio(struct task_struct *p, int prio) +@@ -4474,6 +4474,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 +52,7 @@ index e96ac22..49feb1f 100644 update_rq_clock(rq); oldprio = p->prio; -@@ -6324,6 +6343,7 @@ void task_setprio(struct task_struct *p, int prio) +@@ -4502,6 +4521,7 @@ void task_setprio(struct task_struct *p, int prio) check_class_changed(rq, p, prev_class, oldprio, running); } @@ -57,5 +61,5 @@ index e96ac22..49feb1f 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Rename-rt_mutex_setprio-to-task_setprio.patch b/sched-Rename-rt_mutex_setprio-to-task_setprio.patch index f5652b4..3b600f8 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 22b76e0634406da3306f2529c6b1f3e2c468b8a4 Mon Sep 17 00:00:00 2001 +From d80d5e62f999e221359c5167298bfae47e28ba41 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 @@ -10,12 +10,17 @@ In RT we have multiple non-mutex users of this function. Rename it. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 7 ++++++- + kernel/sched.c | 12 +++++------- + 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 78efe7c..7d22297 100644 +index 2b7b81d..53e6ffe 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1965,9 +1965,14 @@ int sched_rt_handler(struct ctl_table *table, int write, +@@ -1904,9 +1904,14 @@ int sched_rt_handler(struct ctl_table *table, int write, extern unsigned int sysctl_sched_compat_yield; @@ -32,10 +37,10 @@ index 78efe7c..7d22297 100644 #else static inline int rt_mutex_getprio(struct task_struct *p) diff --git a/kernel/sched.c b/kernel/sched.c -index 3a8fb30..d6b9704 100644 +index 3c2a54f..07ab8fd 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6037,19 +6037,19 @@ long __sched sleep_on_timeout(wait_queue_head_t *q, long timeout) +@@ -4254,19 +4254,19 @@ long __sched sleep_on_timeout(wait_queue_head_t *q, long timeout) } EXPORT_SYMBOL(sleep_on_timeout); @@ -60,7 +65,7 @@ index 3a8fb30..d6b9704 100644 { unsigned long flags; int oldprio, on_rq, running; -@@ -6086,8 +6086,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio) +@@ -4304,8 +4304,6 @@ void rt_mutex_setprio(struct task_struct *p, int prio) task_rq_unlock(rq, &flags); } @@ -70,5 +75,5 @@ index 3a8fb30..d6b9704 100644 { int old_prio, delta, on_rq; -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Run-task-on-same-cpu-if-idle-and-allowed.patch b/sched-Run-task-on-same-cpu-if-idle-and-allowed.patch index 3432323..632dc46 100644 --- a/sched-Run-task-on-same-cpu-if-idle-and-allowed.patch +++ b/sched-Run-task-on-same-cpu-if-idle-and-allowed.patch @@ -1,4 +1,4 @@ -From 1954630a0637ad1ec2dcfe0324a36cd243f018ee Mon Sep 17 00:00:00 2001 +From 3add58474f5f67c3c53a75aa60ae1d1ee78326e1 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Mon, 15 Feb 2010 22:30:34 +0100 Subject: [PATCH] sched: Run task on same cpu if idle and allowed @@ -17,12 +17,16 @@ if it Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched_rt.c | 11 +++++++++++ + 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 7a27ef6..9de5f18 100644 +index fdf667b..a1791d7 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -1030,6 +1030,17 @@ static int select_task_rq_rt(struct task_struct *p, int sd_flag, int flags) +@@ -1036,6 +1036,17 @@ static int select_task_rq_rt(struct task_struct *p, int sd_flag, int flags) } /* @@ -41,5 +45,5 @@ index 7a27ef6..9de5f18 100644 * post-schedule router will push the preempted task away */ -- -1.7.1.1 +1.7.0.4 diff --git a/sched-Warn-on-rt-throttling.patch b/sched-Warn-on-rt-throttling.patch index 20a7d18..e007360 100644 --- a/sched-Warn-on-rt-throttling.patch +++ b/sched-Warn-on-rt-throttling.patch @@ -1,4 +1,4 @@ -From 4b40e94233914642735b0a366cee9d0634224430 Mon Sep 17 00:00:00 2001 +From 53d8b3e798d7bb049a93a4ee97a2298241bda77f Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 2 May 2010 20:55:06 +0200 Subject: [PATCH] sched: Warn on rt throttling @@ -9,12 +9,16 @@ The default rt-throttling is a source of never ending questions. Warn once when we go into throttling so folks have that info in dmesg. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched_rt.c | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 6a0029a..0e4b15d 100644 +index a1791d7..4d7521f 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -580,6 +580,7 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) +@@ -586,6 +586,7 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) if (rt_rq->rt_time > runtime) { rt_rq->rt_throttled = 1; @@ -23,5 +27,5 @@ index 6a0029a..0e4b15d 100644 sched_rt_rq_dequeue(rt_rq); return 1; -- -1.7.1.1 +1.7.0.4 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 59c9b60..497ea42 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 4975da0b15e3f087b00c8b2e8a15b95161c3cb90 Mon Sep 17 00:00:00 2001 +From b17cda7addbd9839befc7af655083a245307656b 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 @@ -22,12 +22,18 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100315091023.GA9148@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 1 + + kernel/cpu.c | 18 ++++++------------ + kernel/sched.c | 2 +- + 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 18ae27a..01d8b97 100644 +index 2167a13..6d936b6 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2032,6 +2032,7 @@ extern void sched_clock_idle_sleep_event(void); +@@ -1970,6 +1970,7 @@ extern void sched_clock_idle_sleep_event(void); extern void sched_clock_idle_wakeup_event(u64 delta_ns); #ifdef CONFIG_HOTPLUG_CPU @@ -36,10 +42,10 @@ index 18ae27a..01d8b97 100644 #else static inline void idle_task_exit(void) {} diff --git a/kernel/cpu.c b/kernel/cpu.c -index 677f253..48b916e 100644 +index 25bba73..914aedc 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c -@@ -163,6 +163,7 @@ static inline void check_for_tasks(int cpu) +@@ -164,6 +164,7 @@ static inline void check_for_tasks(int cpu) } struct take_cpu_down_param { @@ -47,7 +53,7 @@ index 677f253..48b916e 100644 unsigned long mod; void *hcpu; }; -@@ -171,6 +172,7 @@ struct take_cpu_down_param { +@@ -172,6 +173,7 @@ struct take_cpu_down_param { static int __ref take_cpu_down(void *_param) { struct take_cpu_down_param *param = _param; @@ -55,7 +61,7 @@ index 677f253..48b916e 100644 int err; /* Ensure this CPU doesn't handle any more interrupts. */ -@@ -181,6 +183,8 @@ static int __ref take_cpu_down(void *_param) +@@ -182,6 +184,8 @@ static int __ref take_cpu_down(void *_param) raw_notifier_call_chain(&cpu_chain, CPU_DYING | param->mod, param->hcpu); @@ -64,7 +70,7 @@ index 677f253..48b916e 100644 /* Force idle task to run as soon as we yield: it should immediately notice cpu is offline and die quickly. */ sched_idle_next(); -@@ -191,10 +195,10 @@ static int __ref take_cpu_down(void *_param) +@@ -192,10 +196,10 @@ static int __ref take_cpu_down(void *_param) static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) { int err, nr_calls = 0; @@ -76,7 +82,7 @@ index 677f253..48b916e 100644 .mod = mod, .hcpu = hcpu, }; -@@ -205,9 +209,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) +@@ -206,9 +210,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) if (!cpu_online(cpu)) return -EINVAL; @@ -86,7 +92,7 @@ index 677f253..48b916e 100644 cpu_hotplug_begin(); set_cpu_active(cpu, false); err = __raw_notifier_call_chain(&cpu_chain, CPU_DOWN_PREPARE | mod, -@@ -224,10 +225,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) +@@ -225,10 +226,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) goto out_release; } @@ -97,7 +103,7 @@ index 677f253..48b916e 100644 err = __stop_machine(take_cpu_down, &tcd_param, cpumask_of(cpu)); if (err) { set_cpu_active(cpu, true); -@@ -236,7 +233,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) +@@ -237,7 +234,7 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) hcpu) == NOTIFY_BAD) BUG(); @@ -106,7 +112,7 @@ index 677f253..48b916e 100644 } BUG_ON(cpu_online(cpu)); -@@ -254,8 +251,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) +@@ -255,8 +252,6 @@ static int __ref _cpu_down(unsigned int cpu, int tasks_frozen) check_for_tasks(cpu); @@ -115,7 +121,7 @@ index 677f253..48b916e 100644 out_release: cpu_hotplug_done(); if (!err) { -@@ -263,7 +258,6 @@ out_release: +@@ -264,7 +259,6 @@ out_release: hcpu) == NOTIFY_BAD) BUG(); } @@ -124,10 +130,10 @@ index 677f253..48b916e 100644 } diff --git a/kernel/sched.c b/kernel/sched.c -index adad328..c38298d 100644 +index ee8b5f5..455c38c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7706,7 +7706,7 @@ static int migration_thread(void *data) +@@ -5878,7 +5878,7 @@ static int migration_thread(void *data) /* * Figure out where task on dead CPU should go, use force if necessary. */ @@ -137,5 +143,5 @@ index adad328..c38298d 100644 struct rq *rq = cpu_rq(dead_cpu); int needs_cpu, uninitialized_var(dest_cpu); -- -1.7.1.1 +1.7.0.4 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 32692ed..d5fbd46 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 9b96462de6efcdbbc7fb0c14c41444093de1c8ff Mon Sep 17 00:00:00 2001 +From 8d7c1164552fa4034e68a850574bb2a852647703 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 @@ -28,12 +28,15 @@ 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> +--- + kernel/sched.c | 6 +++++- + 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 50e6608..a4c9f95 100644 +index c642081..80bc0cf 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -10083,7 +10083,11 @@ void __init sched_init(void) +@@ -8218,7 +8218,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) { @@ -47,5 +50,5 @@ index 50e6608..a4c9f95 100644 return (nested == PREEMPT_INATOMIC_BASE + preempt_offset); } -- -1.7.1.1 +1.7.0.4 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 0b413a4..9578242 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 85caba618f2b4b4d9bbafed11dc4c78c24c87222 Mon Sep 17 00:00:00 2001 +From cdfb5263a0695e9fe0a6ebaa5ea6fa39492c96c3 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() @@ -28,12 +28,15 @@ 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> +--- + kernel/sched.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index a4c9f95..29349e0 100644 +index 80bc0cf..56ad49c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -10108,7 +10108,8 @@ void __might_sleep(char *file, int line, int preempt_offset) +@@ -8243,7 +8243,8 @@ void __might_sleep(const char *file, int line, int preempt_offset) "BUG: sleeping function called from invalid context at %s:%d\n", file, line); printk(KERN_ERR @@ -44,5 +47,5 @@ index a4c9f95..29349e0 100644 current->pid, current->comm); -- -1.7.1.1 +1.7.0.4 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 b99c81e..cfdcf27 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 fbc1b32eba3097d88dbd7b4dbd558e4d5b510652 Mon Sep 17 00:00:00 2001 +From 77b8b33c220d948edbe743181a3df705becddab9 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 @@ -10,12 +10,16 @@ to a possible IPI call. Make the preempt-rt version behave the same way as mainline. Signed-off-by: Thomas Gleixner <tgxl@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 9 +++++++++ + 1 files changed, 9 insertions(+), 0 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 9d1c4cf..2e9167b 100644 +index a194f62..a39592e 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2853,8 +2853,17 @@ static void fire_sched_in_preempt_notifiers(struct task_struct *curr) +@@ -2833,8 +2833,17 @@ static void fire_sched_in_preempt_notifiers(struct task_struct *curr) struct preempt_notifier *notifier; struct hlist_node *node; @@ -34,5 +38,5 @@ index 9d1c4cf..2e9167b 100644 static void -- -1.7.1.1 +1.7.0.4 diff --git a/sched-fix-dequeued-race.patch b/sched-fix-dequeued-race.patch index 9c1dcd9..9a15e3b 100644 --- a/sched-fix-dequeued-race.patch +++ b/sched-fix-dequeued-race.patch @@ -1,4 +1,4 @@ -From 346478ac572d231272f99d042355cd6f85e3f6a8 Mon Sep 17 00:00:00 2001 +From cc8e003f3cd7e0a5c14fbaecd8efdfe88115e905 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 @@ -8,12 +8,15 @@ commit 8002ed49acefff365937de2a05f8392dfe044e0e in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index fe8d8d3..fa83e6f 100644 +index a39592e..ff58409 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5496,7 +5496,8 @@ void scheduler_tick(void) +@@ -3662,7 +3662,8 @@ void scheduler_tick(void) raw_spin_lock(&rq->lock); update_rq_clock(rq); update_cpu_load(rq); @@ -24,5 +27,5 @@ index fe8d8d3..fa83e6f 100644 perf_event_task_tick(curr); -- -1.7.1 +1.7.0.4 diff --git a/sched-fix-rt-stats-output.patch b/sched-fix-rt-stats-output.patch index 2a4ba5c..ccbac70 100644 --- a/sched-fix-rt-stats-output.patch +++ b/sched-fix-rt-stats-output.patch @@ -1,4 +1,4 @@ -From ff4ccb3ffa372d9cbbd40bd55188ddc3f06f5168 Mon Sep 17 00:00:00 2001 +From 7500f1628b34132a85a2311f3e10402ab290084f 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 @@ -15,12 +15,16 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> -- kernel/sched_debug.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched_debug.c | 13 +++++++++++++ + 1 files changed, 13 insertions(+), 0 deletions(-) diff --git a/kernel/sched_debug.c b/kernel/sched_debug.c -index 67f95aa..966e925 100644 +index 19be00b..ea8c653 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) +@@ -282,6 +282,19 @@ static void print_cpu(struct seq_file *m, int cpu) P(cpu_load[2]); P(cpu_load[3]); P(cpu_load[4]); @@ -41,5 +45,5 @@ index 67f95aa..966e925 100644 #undef PN -- -1.7.1.1 +1.7.0.4 diff --git a/sched-implement-wake-functions-for-the-priority-boos.patch b/sched-implement-wake-functions-for-the-priority-boos.patch index 612852e..09e58da 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 81f81b2d16edd6716fbc21d7feff5d848ed2a5ab Mon Sep 17 00:00:00 2001 +From 799fcf4ba0a279c3bc66c89d08635dc4ec5a344e 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 @@ -7,12 +7,16 @@ commit 2b56f06587c2fc6a093271e95bd8151059e719a3 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 3 +++ + kernel/sched.c | 46 +++++++++++++++++++++++++++++++++++----------- + 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index dea1e05..9dd2ede 100644 +index 0f0cc03..2ef88d7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2093,6 +2093,9 @@ extern void do_timer(unsigned long ticks); +@@ -2032,6 +2032,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,10 +27,10 @@ index dea1e05..9dd2ede 100644 unsigned long clone_flags); #ifdef CONFIG_SMP diff --git a/kernel/sched.c b/kernel/sched.c -index 05bafd4..a5ffe46 100644 +index b611e03..b962381 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) +@@ -2368,8 +2368,9 @@ int select_task_rq(struct task_struct *p, int sd_flags, int wake_flags) * * returns failure only if the task is already active. */ @@ -38,7 +42,7 @@ index 05bafd4..a5ffe46 100644 { int cpu, orig_cpu, this_cpu, success = 0; unsigned long flags; -@@ -2469,7 +2470,10 @@ out_running: +@@ -2483,7 +2484,10 @@ out_running: trace_sched_wakeup(rq, p, success); check_preempt_curr(rq, p, wake_flags); @@ -50,7 +54,7 @@ index 05bafd4..a5ffe46 100644 #ifdef CONFIG_SMP if (p->sched_class->task_woken) p->sched_class->task_woken(rq, p); -@@ -2505,13 +2509,31 @@ out: +@@ -2519,13 +2523,31 @@ out: */ int wake_up_process(struct task_struct *p) { @@ -84,7 +88,7 @@ index 05bafd4..a5ffe46 100644 } /* -@@ -5520,7 +5542,8 @@ need_resched_nonpreemptible: +@@ -3737,7 +3759,8 @@ need_resched_nonpreemptible: update_rq_clock(rq); clear_tsk_need_resched(prev); @@ -94,7 +98,7 @@ index 05bafd4..a5ffe46 100644 if (unlikely(signal_pending_state(prev->state, prev))) prev->state = TASK_RUNNING; else -@@ -5721,7 +5744,8 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -3938,7 +3961,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 +108,7 @@ index 05bafd4..a5ffe46 100644 } EXPORT_SYMBOL(default_wake_function); -@@ -5764,7 +5788,7 @@ void __wake_up(wait_queue_head_t *q, unsigned int mode, +@@ -3981,7 +4005,7 @@ void __wake_up(wait_queue_head_t *q, unsigned int mode, unsigned long flags; spin_lock_irqsave(&q->lock, flags); @@ -113,7 +117,7 @@ index 05bafd4..a5ffe46 100644 spin_unlock_irqrestore(&q->lock, flags); } EXPORT_SYMBOL(__wake_up); -@@ -5844,7 +5868,7 @@ void complete(struct completion *x) +@@ -4061,7 +4085,7 @@ void complete(struct completion *x) spin_lock_irqsave(&x->wait.lock, flags); x->done++; @@ -122,7 +126,7 @@ index 05bafd4..a5ffe46 100644 spin_unlock_irqrestore(&x->wait.lock, flags); } EXPORT_SYMBOL(complete); -@@ -5864,7 +5888,7 @@ void complete_all(struct completion *x) +@@ -4081,7 +4105,7 @@ void complete_all(struct completion *x) spin_lock_irqsave(&x->wait.lock, flags); x->done += UINT_MAX/2; @@ -131,7 +135,7 @@ index 05bafd4..a5ffe46 100644 spin_unlock_irqrestore(&x->wait.lock, flags); } EXPORT_SYMBOL(complete_all); -@@ -7173,7 +7197,7 @@ static inline void sched_init_granularity(void) +@@ -5396,7 +5420,7 @@ static inline void sched_init_granularity(void) update_sysctl(); } @@ -141,5 +145,5 @@ index 05bafd4..a5ffe46 100644 * This is how migration works: * -- -1.7.1.1 +1.7.0.4 diff --git a/sched-make-task-oncpu-available-in-all-configuration.patch b/sched-make-task-oncpu-available-in-all-configuration.patch index 046089d..5f48a87 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 89f3f6e92b72f07991b7f1e716ea3f97ccd5b2ba Mon Sep 17 00:00:00 2001 +From 3596f1f405fd4f6edca51cdf44bb639191b7bb99 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 @@ -14,12 +14,16 @@ Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 11 +++++++---- + kernel/sched.c | 37 ++++++++++++++++++++++++++----------- + 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index f342f61..f743779 100644 +index 5dfd465..898f7f1 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1287,10 +1287,8 @@ struct task_struct { +@@ -1225,10 +1225,8 @@ struct task_struct { int lock_depth; /* BKL lock depth */ #ifdef CONFIG_SMP @@ -30,7 +34,7 @@ index f342f61..f743779 100644 int prio, static_prio, normal_prio; unsigned int rt_priority; -@@ -2084,6 +2082,13 @@ extern void set_curr_task(int cpu, struct task_struct *p); +@@ -2023,6 +2021,13 @@ extern void set_curr_task(int cpu, struct task_struct *p); void yield(void); void __yield(void); @@ -44,7 +48,7 @@ index f342f61..f743779 100644 /* * The default (Linux) execution domain. */ -@@ -2742,8 +2747,6 @@ static inline unsigned long rlimit_max(unsigned int limit) +@@ -2675,8 +2680,6 @@ static inline unsigned long rlimit_max(unsigned int limit) return task_rlimit_max(current, limit); } @@ -54,10 +58,10 @@ index f342f61..f743779 100644 #endif diff --git a/kernel/sched.c b/kernel/sched.c -index c486ea2..9d1c4cf 100644 +index 90b4b39..a194f62 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -697,10 +697,12 @@ inline void update_rq_clock(struct rq *rq) +@@ -670,10 +670,12 @@ inline void update_rq_clock(struct rq *rq) rq->clock = sched_clock_cpu(cpu_of(rq)); } @@ -70,7 +74,7 @@ index c486ea2..9d1c4cf 100644 /* * Tunables that become constants when CONFIG_SCHED_DEBUG is off: -@@ -918,18 +920,39 @@ static inline int task_current(struct rq *rq, struct task_struct *p) +@@ -891,18 +893,39 @@ static inline int task_current(struct rq *rq, struct task_struct *p) return rq->curr == p; } @@ -111,7 +115,7 @@ index c486ea2..9d1c4cf 100644 #ifdef CONFIG_DEBUG_SPINLOCK /* this is a valid case when another task releases the spinlock */ rq->lock.owner = current; -@@ -945,14 +968,6 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) +@@ -918,14 +941,6 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) } #else /* __ARCH_WANT_UNLOCKED_CTXSW */ @@ -126,7 +130,7 @@ index c486ea2..9d1c4cf 100644 static inline void prepare_lock_switch(struct rq *rq, struct task_struct *next) { -@@ -2751,7 +2766,7 @@ void sched_fork(struct task_struct *p, int clone_flags) +@@ -2731,7 +2746,7 @@ void sched_fork(struct task_struct *p, int clone_flags) if (likely(sched_info_on())) memset(&p->sched_info, 0, sizeof(p->sched_info)); #endif @@ -135,7 +139,7 @@ index c486ea2..9d1c4cf 100644 p->oncpu = 0; #endif #ifdef CONFIG_PREEMPT -@@ -7380,7 +7395,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) +@@ -5563,7 +5578,7 @@ void __cpuinit init_idle(struct task_struct *idle, int cpu) __set_task_cpu(idle, cpu); rq->curr = rq->idle = idle; @@ -145,5 +149,5 @@ index c486ea2..9d1c4cf 100644 #endif raw_spin_unlock_irqrestore(&rq->lock, flags); -- -1.7.1.1 +1.7.0.4 diff --git a/sched-mmdrop-needs-to-be-delayed-on-rt.patch b/sched-mmdrop-needs-to-be-delayed-on-rt.patch index dbe2401..eaccc59 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 1ca54bbe52de08550e773961d2b0cbbd012870d5 Mon Sep 17 00:00:00 2001 +From e2e7c2098d3618e9952a38282d8115dc59db08c4 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 @@ -12,6 +12,12 @@ commit 5b6e135f5e1e9e5586ad69e35c96494a4b413a00 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/mm_types.h | 3 + + include/linux/sched.h | 8 +++ + kernel/fork.c | 154 ++++++++++++++++++++++++++++++++++++++++++++++ + kernel/sched.c | 10 +++- + 4 files changed, 174 insertions(+), 1 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index b8bb9a6..a977b30 100644 @@ -28,10 +34,10 @@ index b8bb9a6..a977b30 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 e645994..6035a1b 100644 +index 5c73160..5dfd465 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2177,12 +2177,20 @@ extern struct mm_struct * mm_alloc(void); +@@ -2176,12 +2176,20 @@ extern struct mm_struct * mm_alloc(void); /* mmdrop drops the mm and the page tables */ extern void __mmdrop(struct mm_struct *); @@ -53,7 +59,7 @@ index e645994..6035a1b 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 0a4f17f..12f9c64 100644 +index f2fac69..c4a9e7b 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -38,6 +38,7 @@ @@ -115,7 +121,7 @@ index 0a4f17f..12f9c64 100644 mm->free_area_cache = oldmm->mmap_base; mm->cached_hole_size = ~0UL; mm->map_count = 0; -@@ -1278,7 +1295,9 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1279,7 +1296,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); @@ -125,7 +131,7 @@ index 0a4f17f..12f9c64 100644 } attach_pid(p, PIDTYPE_PID, pid); nr_threads++; -@@ -1752,3 +1771,138 @@ int unshare_files(struct files_struct **displaced) +@@ -1753,3 +1772,138 @@ int unshare_files(struct files_struct **displaced) task_unlock(task); return 0; } @@ -265,10 +271,10 @@ index 0a4f17f..12f9c64 100644 + return 0; +} diff --git a/kernel/sched.c b/kernel/sched.c -index 987e4c3..7cb260b 100644 +index c41e84c..d56e54d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2906,8 +2906,12 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) +@@ -2915,8 +2915,12 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) finish_lock_switch(rq, prev); fire_sched_in_preempt_notifiers(current); @@ -282,7 +288,7 @@ index 987e4c3..7cb260b 100644 if (unlikely(prev_state == TASK_DEAD)) { /* * Remove function-return probe instances associated with this -@@ -5903,7 +5907,11 @@ void idle_task_exit(void) +@@ -5916,7 +5920,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 0921edc..a2eb3f9 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 88c62d921bbb9b93c431e920e0719473e9bfca42 Mon Sep 17 00:00:00 2001 +From b421b140e1845ca99e022f3a17140cc9a6c39e32 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 @@ -27,12 +27,15 @@ LKML-Reference: <20100315091014.GA9138@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 13 ++++++------- + 1 files changed, 6 insertions(+), 7 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 30e59b6..dfc2d66 100644 +index b52b84d..b973944 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7720,7 +7720,7 @@ static void move_task_off_dead_cpu(int dead_cpu, struct task_struct *p) +@@ -5892,7 +5892,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; @@ -41,7 +44,7 @@ index 30e59b6..dfc2d66 100644 local_irq_save(flags); raw_spin_lock(&rq->lock); -@@ -7728,14 +7728,13 @@ again: +@@ -5900,14 +5900,13 @@ again: if (needs_cpu) dest_cpu = select_fallback_rq(dead_cpu, p); raw_spin_unlock(&rq->lock); @@ -62,5 +65,5 @@ index 30e59b6..dfc2d66 100644 /* -- -1.7.1.1 +1.7.0.4 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 6e6702b..d3d1c6c 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 2d6fb6e20ccd6c87ae5ea6bb740d3531de9d7a4a Mon Sep 17 00:00:00 2001 +From 423a08783aa7403f22ce998b169d3daa8ac1ff2e 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() @@ -31,12 +31,16 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100315091010.GA9131@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 30 +++++++++++++++--------------- + 1 files changed, 15 insertions(+), 15 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 63ec635..30e59b6 100644 +index 19a3afb..b52b84d 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -7712,29 +7712,29 @@ static int migration_thread(void *data) +@@ -5884,29 +5884,29 @@ static int migration_thread(void *data) } #ifdef CONFIG_HOTPLUG_CPU @@ -82,5 +86,5 @@ index 63ec635..30e59b6 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/sched-preempt-rt-support.patch b/sched-preempt-rt-support.patch index cc3c7a9..4362458 100644 --- a/sched-preempt-rt-support.patch +++ b/sched-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From 98ae47a16979743117c70c753b088cfe71208c8e Mon Sep 17 00:00:00 2001 +From f028827ac82420d6ef5d751562e3244f6dbac723 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 @@ -14,6 +14,15 @@ commit 0a930ce98838ed0a03530fd4960eb3423c9b55bc in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/hardirq.h | 7 +- + include/linux/sched.h | 49 ++++++++ + kernel/mutex.c | 7 +- + kernel/sched.c | 297 ++++++++++++++++++++++++++++++++++++++--------- + kernel/sched_fair.c | 6 +- + kernel/sched_rt.c | 54 ++++++++- + lib/kernel_lock.c | 1 - + 7 files changed, 361 insertions(+), 60 deletions(-) diff --git a/include/linux/hardirq.h b/include/linux/hardirq.h index 5d79504..cee2da4 100644 @@ -48,7 +57,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 3d3578d..8618c20 100644 +index 379fec4..5c73160 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -102,6 +102,17 @@ struct fs_struct; @@ -98,7 +107,7 @@ index 3d3578d..8618c20 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 -@@ -367,6 +400,11 @@ extern signed long schedule_timeout_killable(signed long timeout); +@@ -371,6 +404,11 @@ extern signed long schedule_timeout_killable(signed long timeout); extern signed long schedule_timeout_uninterruptible(signed long timeout); asmlinkage void schedule(void); extern int mutex_spin_on_owner(struct mutex *lock, struct thread_info *owner); @@ -110,7 +119,7 @@ index 3d3578d..8618c20 100644 struct nsproxy; struct user_namespace; -@@ -1761,6 +1799,15 @@ extern struct pid *cad_pid; +@@ -1712,6 +1750,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) @@ -126,7 +135,7 @@ index 3d3578d..8618c20 100644 extern void __put_task_struct(struct task_struct *t); static inline void put_task_struct(struct task_struct *t) -@@ -1768,6 +1815,7 @@ static inline void put_task_struct(struct task_struct *t) +@@ -1719,6 +1766,7 @@ static inline void put_task_struct(struct task_struct *t) if (atomic_dec_and_test(&t->usage)) __put_task_struct(t); } @@ -134,7 +143,7 @@ index 3d3578d..8618c20 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); -@@ -2022,6 +2070,7 @@ extern struct task_struct *curr_task(int cpu); +@@ -1973,6 +2021,7 @@ extern struct task_struct *curr_task(int cpu); extern void set_curr_task(int cpu, struct task_struct *p); void yield(void); @@ -162,7 +171,7 @@ index 90ed15f..432607a 100644 } diff --git a/kernel/sched.c b/kernel/sched.c -index 6e35bc6..f6fd507 100644 +index 094cb0c..c41e84c 100644 --- a/kernel/sched.c +++ b/kernel/sched.c @@ -4,6 +4,7 @@ @@ -189,7 +198,7 @@ index 6e35bc6..f6fd507 100644 #include <linux/tsacct_kern.h> #include <linux/kprobes.h> #include <linux/delayacct.h> -@@ -106,6 +109,20 @@ +@@ -107,6 +110,20 @@ #define NICE_0_LOAD SCHED_LOAD_SCALE #define NICE_0_SHIFT SCHED_LOAD_SHIFT @@ -210,7 +219,7 @@ index 6e35bc6..f6fd507 100644 /* * These are the 'tuning knobs' of the scheduler: * -@@ -131,6 +148,9 @@ static inline int task_has_rt_policy(struct task_struct *p) +@@ -132,6 +149,9 @@ static inline int task_has_rt_policy(struct task_struct *p) return rt_policy(p->policy); } @@ -220,7 +229,7 @@ index 6e35bc6..f6fd507 100644 /* * This is the priority-queue data structure of the RT scheduling class: */ -@@ -347,6 +367,7 @@ static inline struct task_group *task_group(struct task_struct *p) +@@ -358,6 +378,7 @@ static inline struct task_group *task_group(struct task_struct *p) struct cfs_rq { struct load_weight load; unsigned long nr_running; @@ -228,7 +237,7 @@ index 6e35bc6..f6fd507 100644 u64 exec_clock; u64 min_vruntime; -@@ -424,6 +445,7 @@ struct rt_rq { +@@ -435,6 +456,7 @@ struct rt_rq { int overloaded; struct plist_head pushable_tasks; #endif @@ -236,7 +245,7 @@ index 6e35bc6..f6fd507 100644 int rt_throttled; u64 rt_time; u64 rt_runtime; -@@ -518,6 +540,8 @@ struct rq { +@@ -529,6 +551,8 @@ struct rq { */ unsigned long nr_uninterruptible; @@ -245,7 +254,7 @@ index 6e35bc6..f6fd507 100644 struct task_struct *curr, *idle; unsigned long next_balance; struct mm_struct *prev_mm; -@@ -582,6 +606,13 @@ struct rq { +@@ -593,6 +617,13 @@ struct rq { /* BKL stats */ unsigned int bkl_count; @@ -259,7 +268,7 @@ index 6e35bc6..f6fd507 100644 #endif }; -@@ -825,11 +856,23 @@ static inline u64 global_rt_runtime(void) +@@ -836,11 +867,23 @@ static inline u64 global_rt_runtime(void) return (u64)sysctl_sched_rt_runtime * NSEC_PER_USEC; } @@ -284,7 +293,7 @@ index 6e35bc6..f6fd507 100644 #endif static inline int task_current(struct rq *rq, struct task_struct *p) -@@ -860,7 +903,7 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) +@@ -871,7 +914,7 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) */ spin_acquire(&rq->lock.dep_map, 0, 0, _THIS_IP_); @@ -293,7 +302,7 @@ index 6e35bc6..f6fd507 100644 } #else /* __ARCH_WANT_UNLOCKED_CTXSW */ -@@ -901,8 +944,8 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) +@@ -912,8 +955,8 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) smp_wmb(); prev->oncpu = 0; #endif @@ -304,7 +313,7 @@ index 6e35bc6..f6fd507 100644 #endif } #endif /* __ARCH_WANT_UNLOCKED_CTXSW */ -@@ -917,7 +960,7 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) +@@ -928,7 +971,7 @@ static inline void finish_lock_switch(struct rq *rq, struct task_struct *prev) */ static inline int task_is_waking(struct task_struct *p) { @@ -313,7 +322,7 @@ index 6e35bc6..f6fd507 100644 } /* -@@ -2029,13 +2074,20 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd) +@@ -2040,13 +2083,20 @@ task_hot(struct task_struct *p, u64 now, struct sched_domain *sd) void set_task_cpu(struct task_struct *p, unsigned int new_cpu) { @@ -337,7 +346,7 @@ index 6e35bc6..f6fd507 100644 #endif trace_sched_migrate_task(p, new_cpu); -@@ -2362,8 +2414,7 @@ int select_task_rq(struct task_struct *p, int sd_flags, int wake_flags) +@@ -2373,8 +2423,7 @@ int select_task_rq(struct task_struct *p, int sd_flags, int wake_flags) * * returns failure only if the task is already active. */ @@ -347,7 +356,7 @@ index 6e35bc6..f6fd507 100644 int wake_flags, int mutex) { int cpu, orig_cpu, this_cpu, success = 0; -@@ -2394,12 +2445,8 @@ try_to_wake_up(struct task_struct *p, unsigned int state, +@@ -2405,12 +2454,8 @@ try_to_wake_up(struct task_struct *p, unsigned int state, /* * In order to handle concurrent wakeups and release the rq->lock * we put the task in TASK_WAKING state. @@ -361,7 +370,7 @@ index 6e35bc6..f6fd507 100644 if (p->sched_class->task_waking) p->sched_class->task_waking(rq, p); -@@ -2427,7 +2474,7 @@ try_to_wake_up(struct task_struct *p, unsigned int state, +@@ -2438,7 +2483,7 @@ try_to_wake_up(struct task_struct *p, unsigned int state, * cpu we just moved it to. */ WARN_ON(task_cpu(p) != cpu); @@ -370,7 +379,7 @@ index 6e35bc6..f6fd507 100644 #ifdef CONFIG_SCHEDSTATS schedstat_inc(rq, ttwu_count); -@@ -2486,10 +2533,12 @@ out_running: +@@ -2497,10 +2542,12 @@ out_running: * here. The waiter is serialized by the mutex lock and nobody * else can fiddle with p->state as we hold rq lock. */ @@ -383,7 +392,7 @@ index 6e35bc6..f6fd507 100644 #ifdef CONFIG_SMP if (p->sched_class->task_woken) p->sched_class->task_woken(rq, p); -@@ -2616,7 +2665,7 @@ static void __sched_fork(struct task_struct *p) +@@ -2627,7 +2674,7 @@ static void __sched_fork(struct task_struct *p) */ void sched_fork(struct task_struct *p, int clone_flags) { @@ -392,7 +401,7 @@ index 6e35bc6..f6fd507 100644 __sched_fork(p); /* -@@ -2656,11 +2705,19 @@ void sched_fork(struct task_struct *p, int clone_flags) +@@ -2667,11 +2714,19 @@ void sched_fork(struct task_struct *p, int clone_flags) if (!rt_prio(p->prio)) p->sched_class = &fair_sched_class; @@ -412,7 +421,7 @@ index 6e35bc6..f6fd507 100644 #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) if (likely(sched_info_on())) memset(&p->sched_info, 0, sizeof(p->sched_info)); -@@ -2673,8 +2730,6 @@ void sched_fork(struct task_struct *p, int clone_flags) +@@ -2684,8 +2739,6 @@ void sched_fork(struct task_struct *p, int clone_flags) task_thread_info(p)->preempt_count = 1; #endif plist_node_init(&p->pushable_tasks, MAX_PRIO); @@ -421,7 +430,7 @@ index 6e35bc6..f6fd507 100644 } /* -@@ -2840,7 +2895,7 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) +@@ -2851,7 +2904,7 @@ static void finish_task_switch(struct rq *rq, struct task_struct *prev) * Manfred Spraul <manfred@colorfullife.com> */ prev_state = prev->state; @@ -430,7 +439,7 @@ index 6e35bc6..f6fd507 100644 #ifdef __ARCH_WANT_INTERRUPTS_ON_CTXSW local_irq_disable(); #endif /* __ARCH_WANT_INTERRUPTS_ON_CTXSW */ -@@ -2906,8 +2961,10 @@ static inline void post_schedule(struct rq *rq) +@@ -2917,8 +2970,10 @@ static inline void post_schedule(struct rq *rq) asmlinkage void schedule_tail(struct task_struct *prev) __releases(rq->lock) { @@ -442,7 +451,7 @@ index 6e35bc6..f6fd507 100644 finish_task_switch(rq, prev); /* -@@ -2916,9 +2973,14 @@ asmlinkage void schedule_tail(struct task_struct *prev) +@@ -2927,9 +2982,14 @@ asmlinkage void schedule_tail(struct task_struct *prev) */ post_schedule(rq); @@ -457,7 +466,7 @@ index 6e35bc6..f6fd507 100644 #endif if (current->set_child_tid) put_user(task_pid_vnr(current), current->set_child_tid); -@@ -2966,6 +3028,11 @@ context_switch(struct rq *rq, struct task_struct *prev, +@@ -2977,6 +3037,11 @@ context_switch(struct rq *rq, struct task_struct *prev, spin_release(&rq->lock.dep_map, 1, _THIS_IP_); #endif @@ -469,7 +478,7 @@ index 6e35bc6..f6fd507 100644 /* Here we just switch the register state and the stack. */ switch_to(prev, next, prev); -@@ -3012,6 +3079,11 @@ unsigned long nr_uninterruptible(void) +@@ -3023,6 +3088,11 @@ unsigned long nr_uninterruptible(void) return sum; } @@ -481,7 +490,7 @@ index 6e35bc6..f6fd507 100644 unsigned long long nr_context_switches(void) { int i; -@@ -3548,6 +3620,8 @@ void scheduler_tick(void) +@@ -3559,6 +3629,8 @@ void scheduler_tick(void) sched_clock_tick(); @@ -490,7 +499,7 @@ index 6e35bc6..f6fd507 100644 raw_spin_lock(&rq->lock); update_rq_clock(rq); update_cpu_load(rq); -@@ -3641,8 +3715,8 @@ static noinline void __schedule_bug(struct task_struct *prev) +@@ -3652,8 +3724,8 @@ static noinline void __schedule_bug(struct task_struct *prev) { struct pt_regs *regs = get_irq_regs(); @@ -501,7 +510,7 @@ index 6e35bc6..f6fd507 100644 debug_show_held_locks(prev); print_modules(); -@@ -3660,12 +3734,14 @@ static noinline void __schedule_bug(struct task_struct *prev) +@@ -3671,12 +3743,14 @@ static noinline void __schedule_bug(struct task_struct *prev) */ static inline void schedule_debug(struct task_struct *prev) { @@ -517,7 +526,7 @@ index 6e35bc6..f6fd507 100644 __schedule_bug(prev); profile_hit(SCHED_PROFILING, __builtin_return_address(0)); -@@ -3750,10 +3826,11 @@ asmlinkage void __sched __schedule(void) +@@ -3761,10 +3835,11 @@ asmlinkage void __sched __schedule(void) switch_count = &prev->nivcsw; release_kernel_lock(prev); @@ -530,7 +539,7 @@ index 6e35bc6..f6fd507 100644 if (sched_feat(HRTICK)) hrtick_clear(rq); -@@ -3793,30 +3870,29 @@ need_resched_nonpreemptible: +@@ -3804,30 +3879,29 @@ need_resched_nonpreemptible: */ cpu = smp_processor_id(); rq = cpu_rq(cpu); @@ -570,7 +579,7 @@ index 6e35bc6..f6fd507 100644 /* * Look out! "owner" is an entirely speculative pointer * access and not reliable. -@@ -3878,6 +3954,35 @@ out: +@@ -3889,6 +3963,35 @@ int mutex_spin_on_owner(struct mutex *lock, struct thread_info *owner) #endif #ifdef CONFIG_PREEMPT @@ -606,7 +615,7 @@ index 6e35bc6..f6fd507 100644 /* * this is the entry point to schedule() from in-kernel preemption * off of preempt_enable. Kernel preemptions off return from interrupt -@@ -3889,6 +3994,8 @@ asmlinkage void __sched preempt_schedule(void) +@@ -3900,6 +4003,8 @@ asmlinkage void __sched preempt_schedule(void) struct task_struct *task = current; int saved_lock_depth; @@ -615,7 +624,7 @@ index 6e35bc6..f6fd507 100644 /* * If there is a non-zero preempt_count or interrupts are disabled, * we do not want to preempt the current task. Just return.. -@@ -3897,6 +4004,7 @@ asmlinkage void __sched preempt_schedule(void) +@@ -3908,6 +4013,7 @@ asmlinkage void __sched preempt_schedule(void) return; do { @@ -623,7 +632,7 @@ index 6e35bc6..f6fd507 100644 add_preempt_count(PREEMPT_ACTIVE); /* -@@ -3906,10 +4014,13 @@ asmlinkage void __sched preempt_schedule(void) +@@ -3917,10 +4023,13 @@ asmlinkage void __sched preempt_schedule(void) */ saved_lock_depth = task->lock_depth; task->lock_depth = -1; @@ -638,7 +647,7 @@ index 6e35bc6..f6fd507 100644 /* * Check again in case we missed a preemption opportunity * between schedule and now. -@@ -3920,10 +4031,10 @@ asmlinkage void __sched preempt_schedule(void) +@@ -3931,10 +4040,10 @@ asmlinkage void __sched preempt_schedule(void) EXPORT_SYMBOL(preempt_schedule); /* @@ -653,7 +662,7 @@ index 6e35bc6..f6fd507 100644 */ asmlinkage void __sched preempt_schedule_irq(void) { -@@ -3931,10 +4042,17 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -3942,10 +4051,17 @@ asmlinkage void __sched preempt_schedule_irq(void) struct task_struct *task = current; int saved_lock_depth; @@ -673,7 +682,7 @@ index 6e35bc6..f6fd507 100644 add_preempt_count(PREEMPT_ACTIVE); /* -@@ -3944,9 +4062,8 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -3955,9 +4071,8 @@ asmlinkage void __sched preempt_schedule_irq(void) */ saved_lock_depth = task->lock_depth; task->lock_depth = -1; @@ -685,7 +694,7 @@ index 6e35bc6..f6fd507 100644 task->lock_depth = saved_lock_depth; sub_preempt_count(PREEMPT_ACTIVE); -@@ -4371,6 +4488,7 @@ void task_setprio(struct task_struct *p, int prio) +@@ -4382,6 +4497,7 @@ void task_setprio(struct task_struct *p, int prio) check_class_changed(rq, p, prev_class, oldprio, running); } @@ -693,7 +702,7 @@ index 6e35bc6..f6fd507 100644 task_rq_unlock(rq, &flags); } -@@ -5019,6 +5137,7 @@ SYSCALL_DEFINE0(sched_yield) +@@ -5034,6 +5150,7 @@ SYSCALL_DEFINE0(sched_yield) __release(rq->lock); spin_release(&rq->lock.dep_map, 1, _THIS_IP_); do_raw_spin_unlock(&rq->lock); @@ -701,7 +710,7 @@ index 6e35bc6..f6fd507 100644 preempt_enable_and_schedule(); -@@ -5032,9 +5151,18 @@ static inline int should_resched(void) +@@ -5047,9 +5164,18 @@ static inline int should_resched(void) static void __cond_resched(void) { @@ -723,7 +732,7 @@ index 6e35bc6..f6fd507 100644 } int __sched _cond_resched(void) -@@ -5080,8 +5208,11 @@ EXPORT_SYMBOL(__cond_resched_lock); +@@ -5095,8 +5221,11 @@ EXPORT_SYMBOL(__cond_resched_lock); */ int __sched __cond_resched_softirq(void) { @@ -736,7 +745,7 @@ index 6e35bc6..f6fd507 100644 if (should_resched()) { local_bh_enable(); __cond_resched(); -@@ -5111,17 +5242,56 @@ int __sched cond_resched_softirq_context(void) +@@ -5126,17 +5255,56 @@ int __sched cond_resched_softirq_context(void) } EXPORT_SYMBOL(cond_resched_softirq_context); @@ -794,7 +803,7 @@ index 6e35bc6..f6fd507 100644 EXPORT_SYMBOL(yield); /* -@@ -5285,6 +5455,7 @@ void sched_show_task(struct task_struct *p) +@@ -5300,6 +5468,7 @@ void sched_show_task(struct task_struct *p) void show_state_filter(unsigned long state_filter) { struct task_struct *g, *p; @@ -802,7 +811,7 @@ index 6e35bc6..f6fd507 100644 #if BITS_PER_LONG == 32 printk(KERN_INFO -@@ -5293,7 +5464,16 @@ void show_state_filter(unsigned long state_filter) +@@ -5308,7 +5477,16 @@ void show_state_filter(unsigned long state_filter) printk(KERN_INFO " task PC stack pid father\n"); #endif @@ -819,7 +828,7 @@ index 6e35bc6..f6fd507 100644 do_each_thread(g, p) { /* * reset the NMI-timeout, listing all files on a slow -@@ -5309,7 +5489,8 @@ void show_state_filter(unsigned long state_filter) +@@ -5324,7 +5502,8 @@ void show_state_filter(unsigned long state_filter) #ifdef CONFIG_SCHED_DEBUG sysrq_sched_debug_show(); #endif @@ -829,7 +838,7 @@ index 6e35bc6..f6fd507 100644 /* * Only show locks if all tasks are dumped: */ -@@ -5417,7 +5598,7 @@ static inline void sched_init_granularity(void) +@@ -5432,7 +5611,7 @@ static inline void sched_init_granularity(void) update_sysctl(); } @@ -838,7 +847,7 @@ index 6e35bc6..f6fd507 100644 /* * This is how migration works: * -@@ -5507,11 +5688,18 @@ EXPORT_SYMBOL_GPL(set_cpus_allowed_ptr); +@@ -5522,11 +5701,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; @@ -857,7 +866,7 @@ index 6e35bc6..f6fd507 100644 rq_src = cpu_rq(src_cpu); rq_dest = cpu_rq(dest_cpu); -@@ -5537,6 +5725,8 @@ done: +@@ -5552,6 +5738,8 @@ done: ret = 1; fail: double_rq_unlock(rq_src, rq_dest); @@ -866,7 +875,7 @@ index 6e35bc6..f6fd507 100644 return ret; } -@@ -7906,6 +8096,9 @@ void __init sched_init(void) +@@ -7925,6 +8113,9 @@ void __init sched_init(void) atomic_inc(&init_mm.mm_count); enter_lazy_tlb(&init_mm, current); @@ -876,7 +885,7 @@ index 6e35bc6..f6fd507 100644 /* * Make us the idle thread. Technically, schedule() should not be * called from this thread, however somewhere below it might be, -@@ -7938,7 +8131,7 @@ void __init sched_init(void) +@@ -7957,7 +8148,7 @@ void __init sched_init(void) scheduler_running = 1; } @@ -886,7 +895,7 @@ index 6e35bc6..f6fd507 100644 { int nested = (preempt_count() & ~PREEMPT_ACTIVE) + rcu_preempt_depth(); diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c -index 3e1fd96..d5a267d 100644 +index 5a5ea2c..b944efc 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -360,6 +360,8 @@ static void __enqueue_entity(struct cfs_rq *cfs_rq, struct sched_entity *se) @@ -917,7 +926,7 @@ index 3e1fd96..d5a267d 100644 for_each_sched_entity(se) { diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index bf3e38f..3dfc072 100644 +index b5b920a..1996902 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -884,6 +884,48 @@ static void dequeue_rt_entity(struct sched_rt_entity *rt_se) @@ -990,7 +999,7 @@ index bf3e38f..3dfc072 100644 dequeue_rt_entity(rt_se); dequeue_pushable_task(rq, p); -@@ -1469,8 +1518,10 @@ static int pull_rt_task(struct rq *this_rq) +@@ -1474,8 +1523,10 @@ static int pull_rt_task(struct rq *this_rq) static void pre_schedule_rt(struct rq *rq, struct task_struct *prev) { /* Try to pull RT tasks here if we lower this rq's prio */ @@ -1002,7 +1011,7 @@ index bf3e38f..3dfc072 100644 } static void post_schedule_rt(struct rq *rq) -@@ -1520,7 +1571,6 @@ static void set_cpus_allowed_rt(struct task_struct *p, +@@ -1525,7 +1576,6 @@ static void set_cpus_allowed_rt(struct task_struct *p, */ if (weight > 1) enqueue_pushable_task(rq, p); @@ -1023,5 +1032,5 @@ index e495acf..79f9fac 100644 current->lock_depth = saved_lock_depth; -- -1.7.1.1 +1.7.0.4 diff --git a/sched-revert-schedule-__schedule-changes.patch b/sched-revert-schedule-__schedule-changes.patch index 3016c40..b6a9ddd 100644 --- a/sched-revert-schedule-__schedule-changes.patch +++ b/sched-revert-schedule-__schedule-changes.patch @@ -1,4 +1,4 @@ -From 7cfffe7744fa6487c883f17e9b3aa0a6894fd4d7 Mon Sep 17 00:00:00 2001 +From 290e5349b6b1b9b0fbaca36577ee221b6f69e4ef 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 @@ -9,12 +9,15 @@ RT wants that disctinction for now. We need to revisit this. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 10 +++++++--- + 1 files changed, 7 insertions(+), 3 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index d5034c3..1c5f49d 100644 +index 1c38248..13dfb38 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5494,15 +5494,13 @@ pick_next_task(struct rq *rq) +@@ -3711,15 +3711,13 @@ pick_next_task(struct rq *rq) /* * schedule() is the main scheduler function. */ @@ -31,7 +34,7 @@ index d5034c3..1c5f49d 100644 cpu = smp_processor_id(); rq = cpu_rq(cpu); rcu_sched_qs(cpu); -@@ -5562,7 +5560,13 @@ need_resched_nonpreemptible: +@@ -3779,7 +3777,13 @@ need_resched_nonpreemptible: switch_count = &prev->nivcsw; goto need_resched_nonpreemptible; } @@ -46,5 +49,5 @@ index d5034c3..1c5f49d 100644 if (need_resched()) goto need_resched; -- -1.7.1.1 +1.7.0.4 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 dcde58e..d194ded 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 1c6ed13f6a3016de8e8ed05bf96c684aac51fea9 Mon Sep 17 00:00:00 2001 +From 030d9174086546e5e279371c6298176df481dd66 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 @@ -29,12 +29,16 @@ Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <20100315091019.GA9141@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 25 ++++++++----------------- + 1 files changed, 8 insertions(+), 17 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index dfc2d66..adad328 100644 +index b973944..ee8b5f5 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -2379,6 +2379,9 @@ void task_oncpu_function_call(struct task_struct *p, +@@ -2357,6 +2357,9 @@ void task_oncpu_function_call(struct task_struct *p, } #ifdef CONFIG_SMP @@ -44,7 +48,7 @@ index dfc2d66..adad328 100644 static int select_fallback_rq(int cpu, struct task_struct *p) { int dest_cpu; -@@ -2415,12 +2418,7 @@ static int select_fallback_rq(int cpu, struct task_struct *p) +@@ -2393,12 +2396,7 @@ static int select_fallback_rq(int cpu, struct task_struct *p) } /* @@ -58,7 +62,7 @@ index dfc2d66..adad328 100644 */ static inline int select_task_rq(struct task_struct *p, int sd_flags, int wake_flags) -@@ -3338,9 +3336,8 @@ void sched_exec(void) +@@ -3278,9 +3276,8 @@ void sched_exec(void) unsigned long flags; struct rq *rq; @@ -69,7 +73,7 @@ index dfc2d66..adad328 100644 if (dest_cpu == this_cpu) { put_cpu(); return; -@@ -3348,18 +3345,12 @@ again: +@@ -3288,18 +3285,12 @@ again: rq = task_rq_lock(p, &flags); put_cpu(); @@ -92,5 +96,5 @@ index dfc2d66..adad328 100644 struct task_struct *mt = rq->migration_thread; -- -1.7.1.1 +1.7.0.4 diff --git a/sched-wake_up_idle_cpu-rt-fix.patch b/sched-wake_up_idle_cpu-rt-fix.patch index c56d207..b632634 100644 --- a/sched-wake_up_idle_cpu-rt-fix.patch +++ b/sched-wake_up_idle_cpu-rt-fix.patch @@ -1,4 +1,4 @@ -From 4617d7b64e5aab45b09a5f8498f9076a362f1712 Mon Sep 17 00:00:00 2001 +From fff1f67c3ec62954c6a5aa53ed3aacd4865103e0 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 @@ -7,12 +7,16 @@ commit 23ebb33f115b0413ea7d0424c72bfa17fc4627bd in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/sched.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/sched.c b/kernel/sched.c -index 49feb1f..c486ea2 100644 +index 29d4416..90b4b39 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -1289,7 +1289,7 @@ void wake_up_idle_cpu(int cpu) +@@ -1262,7 +1262,7 @@ void wake_up_idle_cpu(int cpu) { struct rq *rq = cpu_rq(cpu); @@ -22,5 +26,5 @@ index 49feb1f..c486ea2 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/sched.h-delete-extraneous-junk.patch b/sched.h-delete-extraneous-junk.patch index 93142f6..55bfe9e 100644 --- a/sched.h-delete-extraneous-junk.patch +++ b/sched.h-delete-extraneous-junk.patch @@ -1,4 +1,4 @@ -From 96743b8f470d4301c29b5aa7ceec7b68732b4fb9 Mon Sep 17 00:00:00 2001 +From 4823d42bf23a87b33b7ec376a80654bac4dc03e1 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 @@ -23,9 +23,12 @@ 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> +--- + include/linux/sched.h | 16 ---------------- + 1 files changed, 0 insertions(+), 16 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index e10621e..ae05c57 100644 +index 1a7d4b7..79a17ba 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -246,28 +246,12 @@ extern char ___assert_task_state[1 - 2*!!( @@ -58,5 +61,5 @@ index e10621e..ae05c57 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 -- -1.7.1.1 +1.7.0.4 diff --git a/sched.h-make-kernel_sem-a-mutex.patch b/sched.h-make-kernel_sem-a-mutex.patch index 1b4733a..17812fb 100644 --- a/sched.h-make-kernel_sem-a-mutex.patch +++ b/sched.h-make-kernel_sem-a-mutex.patch @@ -1,4 +1,4 @@ -From 8dde83ed152651291b07f7b7cd86d89e5b9ddeef Mon Sep 17 00:00:00 2001 +From 267ce968b183a0144e4864b84db7c0e36c7eb4d5 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 @@ -33,9 +33,14 @@ 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> +--- + include/linux/sched.h | 3 ++- + kernel/rtmutex.c | 4 ++-- + lib/kernel_lock.c | 12 ++++++------ + 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index e07e7ef..98b705f 100644 +index b515f13..e4b6a93 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) @@ -129,5 +134,5 @@ index a77306a..bc62ed8 100644 trace_unlock_kernel(func, file, line); } -- -1.7.1.1 +1.7.0.4 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 f8c183a..508d332 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 596f507f99c4286e37720c399c2137379ecb284b Mon Sep 17 00:00:00 2001 +From 8d2b6e95ca15400d0671fb5074c33eba37abcb4b 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 @@ -28,12 +28,15 @@ 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> +--- + kernel/sched_rt.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c -index 40ca364..9204fe1 100644 +index cbdaa6e..b2f6d2b 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c -@@ -783,7 +783,7 @@ void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) +@@ -789,7 +789,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 +45,7 @@ index 40ca364..9204fe1 100644 rt_rq->rt_nr_running++; inc_rt_prio(rt_rq, prio); -@@ -794,7 +794,7 @@ void inc_rt_tasks(struct sched_rt_entity *rt_se, struct rt_rq *rt_rq) +@@ -800,7 +800,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) { @@ -52,5 +55,5 @@ index 40ca364..9204fe1 100644 rt_rq->rt_nr_running--; -- -1.7.1.1 +1.7.0.4 diff --git a/scsi-aacraid-semaphore-cleanup.patch b/scsi-aacraid-semaphore-cleanup.patch index b5bef07..be2f31f 100644 --- a/scsi-aacraid-semaphore-cleanup.patch +++ b/scsi-aacraid-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From b01376dd4acaafa4f76dcbe1df8d7165b400c881 Mon Sep 17 00:00:00 2001 +From a332ba0fa81dbb3b04ea098400b6ac5d56b7af79 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 @@ -10,6 +10,11 @@ in some places. Make it them semaphores. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/scsi/aacraid/commctrl.c | 2 +- + drivers/scsi/aacraid/commsup.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/aacraid/commctrl.c b/drivers/scsi/aacraid/commctrl.c index 9c0c911..7be331d 100644 @@ -38,5 +43,5 @@ index 94d2954..a1de995 100644 hw_fib->header.XferState = cpu_to_le32(0xffffffff); hw_fib->header.SenderSize = cpu_to_le16(dev->max_fib_size); -- -1.7.1.1 +1.7.0.4 diff --git a/security-Fix-invalid-rcu-assumptions-in-comments.patch b/security-Fix-invalid-rcu-assumptions-in-comments.patch index 41ae222..5c2c76a 100644 --- a/security-Fix-invalid-rcu-assumptions-in-comments.patch +++ b/security-Fix-invalid-rcu-assumptions-in-comments.patch @@ -1,4 +1,4 @@ -From 0fe4f5edc70f432565bfbc4bb10b1d7b2222fd48 Mon Sep 17 00:00:00 2001 +From b610206717f2191b9f90685e893ceffdfcd3405b Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 10 Dec 2009 00:14:13 +0100 Subject: [PATCH] security: Fix invalid rcu assumptions in comments @@ -13,6 +13,11 @@ commit 0fe4f5edc70f432565bfbc4bb10b1d7b2222fd48 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: James Morris <jmorris@namei.org> Cc: linux-security-module@vger.kernel.org +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + security/keys/permission.c | 3 +-- + security/keys/proc.c | 2 -- + 2 files changed, 1 insertions(+), 4 deletions(-) diff --git a/security/keys/permission.c b/security/keys/permission.c index 0ed802c..5d16a18 100644 @@ -29,10 +34,10 @@ index 0ed802c..5d16a18 100644 int key_task_permission(const key_ref_t key_ref, const struct cred *cred, key_perm_t perm) diff --git a/security/keys/proc.c b/security/keys/proc.c -index 9d01021..55eeba4 100644 +index 706d63f..fb0a124 100644 --- a/security/keys/proc.c +++ b/security/keys/proc.c -@@ -194,8 +194,6 @@ static int proc_keys_show(struct seq_file *m, void *v) +@@ -193,8 +193,6 @@ static int proc_keys_show(struct seq_file *m, void *v) /* check whether the current task is allowed to view the key (assuming * non-possession) @@ -42,5 +47,5 @@ index 9d01021..55eeba4 100644 rc = key_task_permission(make_key_ref(key, 0), current_cred(), KEY_VIEW); -- -1.7.1.1 +1.7.0.4 diff --git a/semaphore-Add-DEFINE_SEMAPHORE.patch b/semaphore-Add-DEFINE_SEMAPHORE.patch index 0bbe524..aa45d1c 100644 --- a/semaphore-Add-DEFINE_SEMAPHORE.patch +++ b/semaphore-Add-DEFINE_SEMAPHORE.patch @@ -1,4 +1,4 @@ -From 8f63d975e850d7294619799d0775f0b033e07fca Mon Sep 17 00:00:00 2001 +From 8496469ab4c117058f60b6780d6924b65bd07d2a 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 @@ -11,6 +11,9 @@ The rest of a33fb added temporary semaphore_init shims to handle legacy code that wasn't cleaned up yet. They are no longer required. Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/semaphore.h | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/include/linux/semaphore.h b/include/linux/semaphore.h index 7415839..b3669e8 100644 @@ -27,5 +30,5 @@ index 7415839..b3669e8 100644 struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1) -- -1.7.1.1 +1.7.0.4 diff --git a/semaphore-Make-inner-lock-raw.patch b/semaphore-Make-inner-lock-raw.patch index 6caf8d7..8414f62 100644 --- a/semaphore-Make-inner-lock-raw.patch +++ b/semaphore-Make-inner-lock-raw.patch @@ -1,4 +1,4 @@ -From 0f9bf4a4ba679e35a7c9490a05e781b0b8481ae4 Mon Sep 17 00:00:00 2001 +From 01a4e62b4993c099678425e8ff456094b8be0bee 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,6 +12,10 @@ 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 @@ -140,5 +144,5 @@ index 94a62c0..d831841 100644 return 0; } -- -1.7.1.1 +1.7.0.4 diff --git a/semaphore-Remove-mutex-emulation.patch b/semaphore-Remove-mutex-emulation.patch index b36087c..ffe5dfa 100644 --- a/semaphore-Remove-mutex-emulation.patch +++ b/semaphore-Remove-mutex-emulation.patch @@ -1,4 +1,4 @@ -From 1f9dda3f32289a4763f8f2233e62835cc6dab152 Mon Sep 17 00:00:00 2001 +From bee91fcc02677b731017a1dee12a1da826cf2cc2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sun, 26 Jul 2009 00:36:48 +0200 Subject: [PATCH] semaphore: Remove mutex emulation @@ -10,6 +10,11 @@ all users are either converted to real semaphores or to mutexes remove the cruft. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/semaphore.h | 6 ------ + scripts/checkpatch.pl | 9 +++------ + 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/include/linux/semaphore.h b/include/linux/semaphore.h index b3669e8..aaeced9 100644 @@ -36,10 +41,10 @@ index b3669e8..aaeced9 100644 extern int __must_check down_interruptible(struct semaphore *sem); extern int __must_check down_killable(struct semaphore *sem); diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl -index 3257d3d..46f47ac 100755 +index a4d7434..244e975 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl -@@ -2618,14 +2618,11 @@ sub process { +@@ -2649,14 +2649,11 @@ sub process { WARN("__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr); } @@ -58,5 +63,5 @@ index 3257d3d..46f47ac 100755 if ($line =~ /\bsimple_(strto.*?)\s*\(/) { WARN("consider using strict_$1 in preference to simple_$1\n" . $herecurr); -- -1.7.1.1 +1.7.0.4 diff --git a/seqlock-Create-raw_seqlock.patch b/seqlock-Create-raw_seqlock.patch index 0bf594c..58456d6 100644 --- a/seqlock-Create-raw_seqlock.patch +++ b/seqlock-Create-raw_seqlock.patch @@ -1,4 +1,4 @@ -From 476818bd158a83f8188fa9880184b4ab97b05563 Mon Sep 17 00:00:00 2001 +From 20220836b053750eb69436535a96978fde58fd3e 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 @@ -9,6 +9,10 @@ raw_seqlock_t will be used to annotate seqlocks which can not be converted to sleeping locks in preempt-rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/seqlock.h | 86 ++++++++++++++++++++++++++++++++++++++++++++-- + 1 files changed, 82 insertions(+), 4 deletions(-) diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h index 632205c..0c38f7c 100644 @@ -163,5 +167,5 @@ index 632205c..0c38f7c 100644 #define write_sequnlock_irqrestore(lock, flags) \ do { write_sequnlock(lock); local_irq_restore(flags); } while(0) -- -1.7.1.1 +1.7.0.4 diff --git a/seqlock-serialize-against-writers.patch b/seqlock-serialize-against-writers.patch index fef430a..f66335c 100644 --- a/seqlock-serialize-against-writers.patch +++ b/seqlock-serialize-against-writers.patch @@ -1,4 +1,4 @@ -From 6e204123c49ca166b4227fa64c36a32ac0091a96 Mon Sep 17 00:00:00 2001 +From 6e33137eec7d753ddf1aea380ebe1851367f4324 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 @@ -45,6 +45,10 @@ from releasing the lock (i.e. problem 1). Signed-off-by: Gregory Haskins <ghaskins@novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/seqlock.h | 36 ++++++++++++++++++++++++------------ + 1 files changed, 24 insertions(+), 12 deletions(-) diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h index 0c38f7c..a6de405 100644 @@ -156,5 +160,5 @@ index 0c38f7c..a6de405 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/serial-console-rt-support-fixup.patch b/serial-console-rt-support-fixup.patch index ae6d6c4..c222b7c 100644 --- a/serial-console-rt-support-fixup.patch +++ b/serial-console-rt-support-fixup.patch @@ -1,4 +1,4 @@ -From 4464d05a258b6c76ed019479cf606e1f4495da78 Mon Sep 17 00:00:00 2001 +From b533b311dd8e97870f70b3c48515ed720288f13c 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 @@ -11,12 +11,16 @@ of only taking the lock if we can, on PREEMPT_RT. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/serial/8250.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c -index 708b6d9..ea995f4 100644 +index c1d31e4..cfa2703 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c -@@ -2740,7 +2740,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) +@@ -2771,7 +2771,7 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) touch_nmi_watchdog(); @@ -26,5 +30,5 @@ index 708b6d9..ea995f4 100644 else spin_lock_irqsave(&up->port.lock, flags); -- -1.7.1.1 +1.7.0.4 diff --git a/signals-Do-not-wakeup-self.patch b/signals-Do-not-wakeup-self.patch index 06ca22b..9843d55 100644 --- a/signals-Do-not-wakeup-self.patch +++ b/signals-Do-not-wakeup-self.patch @@ -1,4 +1,4 @@ -From 5b7ab64ba8e33ae73e5abb0fe5443ec35a4ba1d7 Mon Sep 17 00:00:00 2001 +From 79159b5b411d47d02fb7541b694f8c5ab977704c 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 @@ -9,12 +9,16 @@ Signals which are delivered by current to current can do without waking up current :) Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/signal.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/kernel/signal.c b/kernel/signal.c -index 934ae5e..549df9d 100644 +index dbd7fe0..5967e7c 100644 --- a/kernel/signal.c +++ b/kernel/signal.c -@@ -542,6 +542,9 @@ void signal_wake_up(struct task_struct *t, int resume) +@@ -559,6 +559,9 @@ void signal_wake_up(struct task_struct *t, int resume) set_tsk_thread_flag(t, TIF_SIGPENDING); @@ -25,5 +29,5 @@ index 934ae5e..549df9d 100644 * For SIGKILL, we want to wake it up in the stopped/traced/killable * case. We don't check t->state here because there is a race with it -- -1.7.1.1 +1.7.0.4 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 2f1ef03..11ac87d 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 43a32d239e6e03df54ce14f52b7251ba0b402643 Mon Sep 17 00:00:00 2001 +From 5ae356b46f80b37482bcd338ab6eec56682f0470 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 @@ -9,12 +9,19 @@ To avoid allocation allow rt tasks to cache on sigqueue struct. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/sched.h | 1 + + include/linux/signal.h | 1 + + kernel/exit.c | 2 +- + kernel/fork.c | 1 + + kernel/signal.c | 85 +++++++++++++++++++++++++++++++++++++++++++++-- + 5 files changed, 85 insertions(+), 5 deletions(-) diff --git a/include/linux/sched.h b/include/linux/sched.h -index 87a1484..9636af8 100644 +index bdcdabd..58478ea 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -1331,6 +1331,7 @@ struct task_struct { +@@ -1336,6 +1336,7 @@ struct task_struct { /* signal handlers */ struct signal_struct *signal; struct sighand_struct *sighand; @@ -23,10 +30,10 @@ index 87a1484..9636af8 100644 sigset_t blocked, real_blocked; sigset_t saved_sigmask; /* restored if set_restore_sigmask() was used */ diff --git a/include/linux/signal.h b/include/linux/signal.h -index ab9272c..0518172 100644 +index fcd2b14..427753c 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h -@@ -225,6 +225,7 @@ static inline void init_sigpending(struct sigpending *sig) +@@ -227,6 +227,7 @@ static inline void init_sigpending(struct sigpending *sig) } extern void flush_sigqueue(struct sigpending *queue); @@ -35,7 +42,7 @@ index ab9272c..0518172 100644 /* Test if 'sig' is valid signal. Use this instead of testing _NSIG directly */ static inline int valid_signal(unsigned long sig) diff --git a/kernel/exit.c b/kernel/exit.c -index ce1e48c..a84fbb1 100644 +index 7f2683a..4b94bd4 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -133,7 +133,7 @@ static void __exit_signal(struct task_struct *tsk) @@ -48,10 +55,10 @@ index ce1e48c..a84fbb1 100644 tsk->signal = NULL; tsk->sighand = NULL; diff --git a/kernel/fork.c b/kernel/fork.c -index 7415ab0..7f4e5eb 100644 +index 0a1b8d1..1a3f641 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -1071,6 +1071,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, +@@ -1042,6 +1042,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, spin_lock_init(&p->alloc_lock); init_sigpending(&p->pending); @@ -211,5 +218,5 @@ index 1f90b68..9ecee0f 100644 if (q) q->flags |= SIGQUEUE_PREALLOC; -- -1.7.1.1 +1.7.0.4 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 e65ea4b..7a3956f 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 df30315681197e7d080af69ee7e4bf2961f8374e Mon Sep 17 00:00:00 2001 +From 310e159afdae3fad4bc490fb8d10a632821eb5a4 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 @@ -11,9 +11,12 @@ which we did to slab. Fix that. Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + mm/slab.c | 38 +++++++++++++++++++++++++++++--------- + 1 files changed, 29 insertions(+), 9 deletions(-) diff --git a/mm/slab.c b/mm/slab.c -index 4641c47..985c67b 100644 +index e939a38..ba49047 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) @@ -53,7 +56,7 @@ index 4641c47..985c67b 100644 # define slab_spin_lock_irqsave(lock, flags, cpu) \ do { slab_irq_disable(cpu); spin_lock_irqsave(lock, flags); } while (0) # define slab_spin_unlock_irqrestore(lock, flags, cpu) \ -@@ -1075,7 +1094,7 @@ static int transfer_objects(struct array_cache *to, +@@ -1074,7 +1093,7 @@ static int transfer_objects(struct array_cache *to, #ifndef CONFIG_NUMA #define drain_alien_cache(cachep, alien) do { } while (0) @@ -62,7 +65,7 @@ index 4641c47..985c67b 100644 static inline struct array_cache **alloc_alien_cache(int node, int limit, gfp_t gfp) { -@@ -1172,17 +1191,18 @@ static void __drain_alien_cache(struct kmem_cache *cachep, +@@ -1169,17 +1188,18 @@ static void __drain_alien_cache(struct kmem_cache *cachep, /* * Called from cache_reap() to regularly drain alien caches round robin. */ @@ -87,7 +90,7 @@ index 4641c47..985c67b 100644 return 1; } } -@@ -4293,7 +4313,7 @@ int drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, +@@ -4281,7 +4301,7 @@ int drain_array(struct kmem_cache *cachep, struct kmem_list3 *l3, */ static void cache_reap(struct work_struct *w) { @@ -96,7 +99,7 @@ index 4641c47..985c67b 100644 struct kmem_cache *searchp; struct kmem_list3 *l3; struct delayed_work *work = to_delayed_work(w); -@@ -4313,7 +4333,7 @@ static void cache_reap(struct work_struct *w) +@@ -4301,7 +4321,7 @@ static void cache_reap(struct work_struct *w) */ l3 = searchp->nodelists[node]; @@ -106,5 +109,5 @@ index 4641c47..985c67b 100644 node = cpu_to_node(this_cpu); -- -1.7.1.1 +1.7.0.4 diff --git a/smbfs-Convert-server-sem-to-mutex.patch b/smbfs-Convert-server-sem-to-mutex.patch index d781651..6c535ae 100644 --- a/smbfs-Convert-server-sem-to-mutex.patch +++ b/smbfs-Convert-server-sem-to-mutex.patch @@ -1,4 +1,4 @@ -From e6e2f32c229c5958744df77153c6a9dc539c7975 Mon Sep 17 00:00:00 2001 +From 42e087f9aee9050681ea7c756eac5d2ed32bb23a 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 @@ -9,12 +9,17 @@ server->sem is used as mutex so make it a mutex. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Al Viro <viro@zeniv.linux.org.uk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/smbfs/inode.c | 2 +- + include/linux/smb_fs_sb.h | 8 ++++---- + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c -index 1c4c8f0..6d68729 100644 +index dfa1d67..90805c6 100644 --- a/fs/smbfs/inode.c +++ b/fs/smbfs/inode.c -@@ -530,7 +530,7 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent) +@@ -536,7 +536,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); @@ -24,10 +29,10 @@ index 1c4c8f0..6d68729 100644 INIT_LIST_HEAD(&server->xmitq); INIT_LIST_HEAD(&server->recvq); diff --git a/include/linux/smb_fs_sb.h b/include/linux/smb_fs_sb.h -index 8a060a7..41c69a4 100644 +index bb947dd..af5db58 100644 --- a/include/linux/smb_fs_sb.h +++ b/include/linux/smb_fs_sb.h -@@ -57,7 +57,7 @@ struct smb_sb_info { +@@ -58,7 +58,7 @@ struct smb_sb_info { struct smb_conn_opt opt; wait_queue_head_t conn_wq; int conn_complete; @@ -36,7 +41,7 @@ index 8a060a7..41c69a4 100644 unsigned char header[SMB_HEADER_LEN + 20*2 + 2]; u32 header_len; -@@ -79,19 +79,19 @@ struct smb_sb_info { +@@ -82,19 +82,19 @@ struct smb_sb_info { static inline int smb_lock_server_interruptible(struct smb_sb_info *server) { @@ -60,5 +65,5 @@ index 8a060a7..41c69a4 100644 #endif -- -1.7.1.1 +1.7.0.4 diff --git a/smp-processor-id-fixups-for-rt.patch b/smp-processor-id-fixups-for-rt.patch index 8a4f9cd..146cdcb 100644 --- a/smp-processor-id-fixups-for-rt.patch +++ b/smp-processor-id-fixups-for-rt.patch @@ -1,4 +1,4 @@ -From d38cd54db18d1094d9ecfa22a148f4905ec79cf0 Mon Sep 17 00:00:00 2001 +From 6f0cf734b4a7afc08daf079b68ff38ccbc219f64 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 @@ -7,12 +7,17 @@ commit 5f6b01fb42386d9f33b2a759e59551d923a976ee in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/netpoll.h | 2 +- + kernel/workqueue.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/netpoll.h b/include/linux/netpoll.h -index 2524267..838405c 100644 +index a765ea8..ffc738c 100644 --- a/include/linux/netpoll.h +++ b/include/linux/netpoll.h -@@ -84,7 +84,7 @@ static inline void *netpoll_poll_lock(struct napi_struct *napi) +@@ -89,7 +89,7 @@ static inline void *netpoll_poll_lock(struct napi_struct *napi) rcu_read_lock(); /* deal with race on ->npinfo */ if (dev && dev->npinfo) { spin_lock(&napi->poll_lock); @@ -22,7 +27,7 @@ index 2524267..838405c 100644 } return NULL; diff --git a/kernel/workqueue.c b/kernel/workqueue.c -index fb74031..26b8839 100644 +index 9f2f34d..abc7af1 100644 --- a/kernel/workqueue.c +++ b/kernel/workqueue.c @@ -317,7 +317,7 @@ static void delayed_work_timer_fn(unsigned long __data) @@ -35,5 +40,5 @@ index fb74031..26b8839 100644 /** -- -1.7.1.1 +1.7.0.4 diff --git a/softirq-Full-preempt-rt-support.patch b/softirq-Full-preempt-rt-support.patch index 9c6b9c7..8d86433 100644 --- a/softirq-Full-preempt-rt-support.patch +++ b/softirq-Full-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From 7e2fa9cd6d154a4e75b8fa9c34c72af94153182c Mon Sep 17 00:00:00 2001 +From 2d988cb07b8c7db1df7a941a50ebc00436ded6fc Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:08 -0500 Subject: [PATCH] softirq: Full preempt-rt support @@ -8,6 +8,9 @@ commit c2a1643b7646b1c5bf0ae953da41d6aebc4a7a91 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/softirq.c | 222 ++++++++++++++++++++++++++++++++++++++--------------- + 1 files changed, 159 insertions(+), 63 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index b021c2d..b4b1819 100644 @@ -392,5 +395,5 @@ index b021c2d..b4b1819 100644 } takeover_tasklets(hotcpu); -- -1.7.1.1 +1.7.0.4 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 95b7df1..0f22558 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 0cbab6c6470a425dd67b5533d8a3e083a074b946 Mon Sep 17 00:00:00 2001 +From 8757535ad72b1ed3fc9f83ae1a9a37e87425ec3d 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 @@ -10,6 +10,10 @@ when CONFIG_HIGH_RES_TIMERS is off. That results in a softirq-NULL name for the thread. The thread is needed on -rt Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/softirq.c | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index f0b863e..533b72c 100644 @@ -26,5 +30,5 @@ index f0b863e..533b72c 100644 }; -- -1.7.1.1 +1.7.0.4 diff --git a/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch b/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch index ca19857..3c333c5 100644 --- a/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch +++ b/softirq-Sanitize-softirq-pending-for-NOHZ-RT.patch @@ -1,4 +1,4 @@ -From 62d3301d1f68a084ff40f564f34ae7411214b352 Mon Sep 17 00:00:00 2001 +From 0016728c7248109eabf7e73f03e20b12ca332c40 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 @@ -7,6 +7,11 @@ commit 1b5c1881af922ba4a3c793ec9afb240885293370 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 1 + + kernel/softirq.c | 68 +++++++++++++++++++++++++++++++++++++++++++++ + kernel/time/tick-sched.c | 8 +---- + 3 files changed, 70 insertions(+), 7 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 0fd5b27..9f6580a 100644 @@ -119,5 +124,5 @@ index a85776e..a521150 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/softirq-per-cpu-assumptions-fixes.patch b/softirq-per-cpu-assumptions-fixes.patch index 73e6c3d..026db6f 100644 --- a/softirq-per-cpu-assumptions-fixes.patch +++ b/softirq-per-cpu-assumptions-fixes.patch @@ -1,4 +1,4 @@ -From acc91991542212f243d7e8293530aa224a98f77f Mon Sep 17 00:00:00 2001 +From 3e69feb2525a857452ab975ee369be685faaa1d4 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 @@ -8,6 +8,11 @@ commit 33fe41da821c6c542bcaa612a46695425525fdc6 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/hrtimer.c | 45 ++++++++++++++++++++++++++------------------- + kernel/sched_fair.c | 2 +- + kernel/timer.c | 2 +- + 3 files changed, 28 insertions(+), 21 deletions(-) diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index c586357..82efa41 100644 @@ -154,7 +159,7 @@ index c586357..82efa41 100644 for (index = 0; index < HRTIMER_MAX_CLOCK_BASES; index++) { diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c -index d5a267d..4881995 100644 +index b944efc..b873769 100644 --- a/kernel/sched_fair.c +++ b/kernel/sched_fair.c @@ -3438,7 +3438,7 @@ out: @@ -167,10 +172,10 @@ index d5a267d..4881995 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 f0d478a..8f29bd0 100644 +index c9820fa..f793f67 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1274,7 +1274,7 @@ void update_process_times(int user_tick) +@@ -1276,7 +1276,7 @@ void update_process_times(int user_tick) */ static void run_timer_softirq(struct softirq_action *h) { @@ -180,5 +185,5 @@ index f0d478a..8f29bd0 100644 printk_tick(); hrtimer_run_pending(); -- -1.7.1.1 +1.7.0.4 diff --git a/softirq-provide-rt-api-variants.patch b/softirq-provide-rt-api-variants.patch index 9bfa924..4d5cbfe 100644 --- a/softirq-provide-rt-api-variants.patch +++ b/softirq-provide-rt-api-variants.patch @@ -1,4 +1,4 @@ -From 35316f6a0207c2a0491d07494d81b1094a26a889 Mon Sep 17 00:00:00 2001 +From b8e6649031d8592ad7e588d5bc6602dd4933c913 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:36 -0500 Subject: [PATCH] softirq: provide rt api variants @@ -12,6 +12,10 @@ on non-PREEMPT_RT. 1 file changed, 8 insertions(+) Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/bottom_half.h | 8 ++++++++ + 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/include/linux/bottom_half.h b/include/linux/bottom_half.h index 27b1bcf..2e0e961 100644 @@ -36,5 +40,5 @@ index 27b1bcf..2e0e961 100644 #endif /* _LINUX_BH_H */ -- -1.7.1.1 +1.7.0.4 diff --git a/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch b/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch index f6c0060..a34df7c 100644 --- a/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch +++ b/softirqs-Add-missing-preemption-point-in-ksoftirqd.patch @@ -1,4 +1,4 @@ -From 2240b2b55191947323dda3331ef6046c10373be0 Mon Sep 17 00:00:00 2001 +From 9aaab4177c82e5ccd961eb6e22691c31ca4b82ce 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 @@ -29,6 +29,10 @@ preempt_check_resched(), just after (4). Signed-off-by: Jupyung Lee <jupyung@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/softirq.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/softirq.c b/kernel/softirq.c index 533b72c..c35f72b 100644 @@ -47,5 +51,5 @@ index 533b72c..c35f72b 100644 h = &softirq_vec[data->nr]; if (h) -- -1.7.1.1 +1.7.0.4 diff --git a/softirqs-Make-wakeup_softirqd-static.patch b/softirqs-Make-wakeup_softirqd-static.patch index 3c6f1a2..682ec2b 100644 --- a/softirqs-Make-wakeup_softirqd-static.patch +++ b/softirqs-Make-wakeup_softirqd-static.patch @@ -1,4 +1,4 @@ -From 735af2f2fed70bba85803d81518c65e5c94eb6a2 Mon Sep 17 00:00:00 2001 +From 82805552eb4e927557dacf6879e9bd9e5bd681f2 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 @@ -8,6 +8,11 @@ commit 842eaa3dc8f62d33165ef7f858bd8dff9540cf68 in tip. No users outside of kernel/softirq.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 1 - + kernel/softirq.c | 2 +- + 2 files changed, 1 insertions(+), 2 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 75f3f00..2d574fb 100644 @@ -35,5 +40,5 @@ index 7c1a67e..55cf435 100644 /* Interrupts are disabled: no need to stop preemption */ struct task_struct *tsk = __get_cpu_var(ksoftirqd); -- -1.7.1.1 +1.7.0.4 diff --git a/softirqs-forced-threading-of-softirqs.patch b/softirqs-forced-threading-of-softirqs.patch index 825c287..b12e40e 100644 --- a/softirqs-forced-threading-of-softirqs.patch +++ b/softirqs-forced-threading-of-softirqs.patch @@ -1,4 +1,4 @@ -From 8acdcc8d9d0a296b89756eb9b76289ff311f6962 Mon Sep 17 00:00:00 2001 +From e830683c9f220fae2917c3cffe51350a17e4ff3c 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 @@ -13,6 +13,13 @@ Split them into separate threads. One for each softirq Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 7 +- + include/linux/sched.h | 19 ++++ + kernel/Kconfig.preempt | 15 +++ + kernel/sched.c | 28 +++++- + kernel/softirq.c | 217 +++++++++++++++++++++++++++++++++++---------- + 5 files changed, 233 insertions(+), 53 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 54c9394..f89e357 100644 @@ -51,7 +58,7 @@ index 54c9394..f89e357 100644 struct tasklet_hrtimer { struct hrtimer timer; diff --git a/include/linux/sched.h b/include/linux/sched.h -index c916409..4807851 100644 +index a993aa5..6a9d432 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -102,6 +102,12 @@ struct fs_struct; @@ -67,7 +74,7 @@ index c916409..4807851 100644 /* * List of flags we want to share for kernel threads, * if only because they are not used by them anyway. -@@ -1234,6 +1240,7 @@ struct task_struct { +@@ -1172,6 +1178,7 @@ struct task_struct { void *stack; atomic_t usage; unsigned int flags; /* per process flags, defined below */ @@ -75,7 +82,7 @@ index c916409..4807851 100644 unsigned int ptrace; int lock_depth; /* BKL lock depth */ -@@ -1788,6 +1795,9 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t * +@@ -1727,6 +1734,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 +92,7 @@ index c916409..4807851 100644 /* * Only the _current_ task can read/write to tsk->flags, but other * tasks can access tsk->flags in readonly mode for example -@@ -2440,6 +2450,8 @@ extern int __cond_resched_softirq(void); +@@ -2379,6 +2389,8 @@ extern int __cond_resched_softirq(void); __cond_resched_softirq(); \ }) @@ -94,7 +101,7 @@ index c916409..4807851 100644 /* * Does a critical section need to be broken due to another * task waiting?: (technically does not depend on CONFIG_PREEMPT, -@@ -2471,6 +2483,13 @@ static inline void thread_group_cputime_free(struct signal_struct *sig) +@@ -2408,6 +2420,13 @@ static inline void thread_group_cputime_free(struct signal_struct *sig) { } @@ -132,10 +139,10 @@ index bf987b9..2ff1834 100644 + + Say N if you are unsure. diff --git a/kernel/sched.c b/kernel/sched.c -index 1c5f49d..b059d2f 100644 +index 13dfb38..86aeeb6 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -5125,7 +5125,7 @@ void account_system_time(struct task_struct *p, int hardirq_offset, +@@ -3342,7 +3342,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 +151,7 @@ index 1c5f49d..b059d2f 100644 cpustat->softirq = cputime64_add(cpustat->softirq, tmp); else cpustat->system = cputime64_add(cpustat->system, tmp); -@@ -5689,7 +5689,7 @@ asmlinkage void __sched preempt_schedule_irq(void) +@@ -3906,7 +3906,7 @@ asmlinkage void __sched preempt_schedule_irq(void) int saved_lock_depth; /* Catch callers which need to be fixed */ @@ -153,7 +160,7 @@ index 1c5f49d..b059d2f 100644 do { add_preempt_count(PREEMPT_ACTIVE); -@@ -6830,9 +6830,12 @@ int __cond_resched_lock(spinlock_t *lock) +@@ -5053,9 +5053,12 @@ int __cond_resched_lock(spinlock_t *lock) } EXPORT_SYMBOL(__cond_resched_lock); @@ -167,7 +174,7 @@ index 1c5f49d..b059d2f 100644 if (should_resched()) { local_bh_enable(); -@@ -6844,6 +6847,25 @@ int __sched __cond_resched_softirq(void) +@@ -5067,6 +5070,25 @@ int __sched __cond_resched_softirq(void) } EXPORT_SYMBOL(__cond_resched_softirq); @@ -575,5 +582,5 @@ index 19ef218..eda9c66 100644 /* * Call a function on all processors -- -1.7.1.1 +1.7.0.4 diff --git a/softlockup-Convert-to-raw_spinlock.patch b/softlockup-Convert-to-raw_spinlock.patch index 3a4a0b9..a2b9fef 100644 --- a/softlockup-Convert-to-raw_spinlock.patch +++ b/softlockup-Convert-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From fb17c12de1f8411244cbfaa7bfd21ea7337f517f Mon Sep 17 00:00:00 2001 +From c1c31167201a0bc58f2a0cf52b4a47f74107c9e8 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 @@ -7,9 +7,12 @@ commit b20de918527a9c1558b3e8a02f935cf4cb53e3ba in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/softlockup.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/softlockup.c b/kernel/softlockup.c -index 0d4c789..bbaeac5 100644 +index 4b493f6..2d80020 100644 --- a/kernel/softlockup.c +++ b/kernel/softlockup.c @@ -20,7 +20,7 @@ @@ -40,5 +43,5 @@ index 0d4c789..bbaeac5 100644 if (softlockup_panic) panic("softlockup: hung tasks"); -- -1.7.1.1 +1.7.0.4 diff --git a/sparc-Prepare-decoupling-of-page-fault-logic-from-pr.patch b/sparc-Prepare-decoupling-of-page-fault-logic-from-pr.patch index 0f3d272..4c6c9d9 100644 --- a/sparc-Prepare-decoupling-of-page-fault-logic-from-pr.patch +++ b/sparc-Prepare-decoupling-of-page-fault-logic-from-pr.patch @@ -1,4 +1,4 @@ -From ab70f1d5819af93e041cbd88dcd310f60b5d83ba Mon Sep 17 00:00:00 2001 +From 681b3db2848619e907fc478bf32f95547cee9e0b 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] sparc: Prepare decoupling of page-fault logic from preempt-count @@ -17,6 +17,10 @@ Make this explicit now - so that we can change pagefault_disable(). Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/sparc/mm/highmem.c | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/sparc/mm/highmem.c b/arch/sparc/mm/highmem.c index 7916feb..a9f414c 100644 @@ -48,5 +52,5 @@ index 7916feb..a9f414c 100644 EXPORT_SYMBOL(kunmap_atomic); -- -1.7.1.1 +1.7.0.4 diff --git a/sparc-devtree_lock-as-raw.patch b/sparc-devtree_lock-as-raw.patch index d29ea7e..b528b19 100644 --- a/sparc-devtree_lock-as-raw.patch +++ b/sparc-devtree_lock-as-raw.patch @@ -1,4 +1,4 @@ -From 986730aa7012a52adaca67662075cd07e8256ed6 Mon Sep 17 00:00:00 2001 +From abe35b29b7922a5174e2b9fcfee36a123f9a9751 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 16 Jan 2011 19:11:35 -0500 Subject: [PATCH] sparc: devtree_lock as raw. @@ -23,6 +23,9 @@ 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> +--- + arch/sparc/kernel/prom_common.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/sparc/kernel/prom_common.c b/arch/sparc/kernel/prom_common.c index 57ac9e2..2e0a1d5 100644 @@ -47,5 +50,5 @@ index 57ac9e2..2e0a1d5 100644 /* XXX Upate procfs if necessary... */ -- -1.7.1.1 +1.7.0.4 diff --git a/sparc-dont-use-SPIN_LOCK_UNLOCKED-in-rwsem-init.patch b/sparc-dont-use-SPIN_LOCK_UNLOCKED-in-rwsem-init.patch index 7b67c95..4d2961d 100644 --- a/sparc-dont-use-SPIN_LOCK_UNLOCKED-in-rwsem-init.patch +++ b/sparc-dont-use-SPIN_LOCK_UNLOCKED-in-rwsem-init.patch @@ -1,4 +1,4 @@ -From dc25471c35016a69093a90a75d72db8c3542d7f7 Mon Sep 17 00:00:00 2001 +From 38f2b83ed0a52200cdbe5e4e38685b76b2c0f1b6 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 12:54:23 -0500 Subject: [PATCH] sparc: dont use SPIN_LOCK_UNLOCKED in rwsem init @@ -31,6 +31,9 @@ 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> +--- + arch/sparc/include/asm/rwsem.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/sparc/include/asm/rwsem.h b/arch/sparc/include/asm/rwsem.h index 7a90aa2..663e48b 100644 @@ -48,5 +51,5 @@ index 7a90aa2..663e48b 100644 #define DECLARE_RWSEM(name) \ struct rw_semaphore name = __RWSEM_INITIALIZER(name) -- -1.7.1.1 +1.7.0.4 diff --git a/spinlock-fix-compile-failures-for-PREEMPT_RT.patch b/spinlock-fix-compile-failures-for-PREEMPT_RT.patch index 05b8d70..4c9a53d 100644 --- a/spinlock-fix-compile-failures-for-PREEMPT_RT.patch +++ b/spinlock-fix-compile-failures-for-PREEMPT_RT.patch @@ -1,4 +1,4 @@ -From 3c02eea98100ae3da3f838536fab56df8f849e40 Mon Sep 17 00:00:00 2001 +From 9c51b4d3cc13cb79f1473a1dd176681f2ca4dbc3 Mon Sep 17 00:00:00 2001 From: Paul Gortmaker <paul.gortmaker@windriver.com> Date: Sun, 23 Jan 2011 15:27:40 -0500 Subject: [PATCH] spinlock: fix compile failures for !PREEMPT_RT @@ -29,6 +29,10 @@ 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> +--- + include/linux/spinlock_api_smp.h | 2 ++ + kernel/spinlock.c | 7 +++++++ + 2 files changed, 9 insertions(+), 0 deletions(-) diff --git a/include/linux/spinlock_api_smp.h b/include/linux/spinlock_api_smp.h index e253ccd..efe395f 100644 @@ -78,5 +82,5 @@ index be6517f..e1d9b78 100644 void __lockfunc _raw_spin_lock_nested(raw_spinlock_t *lock, int subclass) -- -1.7.1.1 +1.7.0.4 diff --git a/stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch b/stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch index 3ca9b74..211a025 100644 --- a/stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch +++ b/stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch @@ -1,4 +1,4 @@ -From f9d9cfe4fa444b93238d7c3cf07af2dd85b151e8 Mon Sep 17 00:00:00 2001 +From 19f56bcae5b8955b0882f0f63a2d0f916563fd39 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:27 -0500 Subject: [PATCH] stop_machine: convert stop_machine_run() to PREEMPT_RT @@ -11,9 +11,13 @@ well. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/stop_machine.c | 26 +++++++++++++++++++++----- + 1 files changed, 21 insertions(+), 5 deletions(-) diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c -index 912823e..22d1d77 100644 +index 9bb9fb1..72592cc 100644 --- a/kernel/stop_machine.c +++ b/kernel/stop_machine.c @@ -40,6 +40,8 @@ static atomic_t thread_ack; @@ -69,5 +73,5 @@ index 912823e..22d1d77 100644 ret = active.fnret; mutex_unlock(&lock); -- -1.7.1.1 +1.7.0.4 diff --git a/suspend-Prevent-might-sleep-splats.patch b/suspend-Prevent-might-sleep-splats.patch index c6b7ca0..2b1d4f2 100644 --- a/suspend-Prevent-might-sleep-splats.patch +++ b/suspend-Prevent-might-sleep-splats.patch @@ -1,4 +1,4 @@ -From 60f778fcfc89524ece9fedbd8ae3eecd58adb221 Mon Sep 17 00:00:00 2001 +From bf887addbb3fd6dc0ec6bfbe8fbfe45009eb11af Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 15 Jul 2010 10:29:00 +0200 Subject: [PATCH] suspend: Prevent might sleep splats @@ -19,12 +19,18 @@ and restoring it to SYSTEM_RUNNING afer sysdev_resume(). Needs to be revisited. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/kernel.h | 2 +- + kernel/power/hibernate.c | 6 ++++++ + kernel/power/suspend.c | 4 ++++ + 3 files changed, 11 insertions(+), 1 deletions(-) diff --git a/include/linux/kernel.h b/include/linux/kernel.h -index 45894a4..3f7145e 100644 +index 5215fbe..f5fe8b6 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h -@@ -326,7 +326,7 @@ extern enum system_states { +@@ -337,7 +337,7 @@ extern enum system_states { SYSTEM_HALT, SYSTEM_POWER_OFF, SYSTEM_RESTART, @@ -34,10 +40,10 @@ index 45894a4..3f7145e 100644 #define TAINT_PROPRIETARY_MODULE 0 diff --git a/kernel/power/hibernate.c b/kernel/power/hibernate.c -index bbfe472..18ffa7e 100644 +index aa9e916..295ad3d 100644 --- a/kernel/power/hibernate.c +++ b/kernel/power/hibernate.c -@@ -269,6 +269,8 @@ static int create_image(int platform_mode) +@@ -270,6 +270,8 @@ static int create_image(int platform_mode) local_irq_disable(); @@ -46,7 +52,7 @@ index bbfe472..18ffa7e 100644 error = sysdev_suspend(PMSG_FREEZE); if (error) { printk(KERN_ERR "PM: Some system devices failed to power down, " -@@ -297,6 +299,7 @@ static int create_image(int platform_mode) +@@ -298,6 +300,7 @@ static int create_image(int platform_mode) */ Enable_irqs: @@ -54,7 +60,7 @@ index bbfe472..18ffa7e 100644 local_irq_enable(); Enable_cpus: -@@ -389,6 +392,7 @@ static int resume_target_kernel(bool platform_mode) +@@ -393,6 +396,7 @@ static int resume_target_kernel(bool platform_mode) goto Enable_cpus; local_irq_disable(); @@ -62,7 +68,7 @@ index bbfe472..18ffa7e 100644 error = sysdev_suspend(PMSG_QUIESCE); if (error) -@@ -420,6 +424,7 @@ static int resume_target_kernel(bool platform_mode) +@@ -424,6 +428,7 @@ static int resume_target_kernel(bool platform_mode) sysdev_resume(); Enable_irqs: @@ -70,7 +76,7 @@ index bbfe472..18ffa7e 100644 local_irq_enable(); Enable_cpus: -@@ -501,6 +506,7 @@ int hibernation_platform_enter(void) +@@ -510,6 +515,7 @@ int hibernation_platform_enter(void) goto Platform_finish; local_irq_disable(); @@ -79,10 +85,10 @@ index bbfe472..18ffa7e 100644 hibernation_ops->enter(); /* We should never get here */ diff --git a/kernel/power/suspend.c b/kernel/power/suspend.c -index 6f10dfc..72fb4f2 100644 +index 56e7dbb..5570a49 100644 --- a/kernel/power/suspend.c +++ b/kernel/power/suspend.c -@@ -154,6 +154,8 @@ static int suspend_enter(suspend_state_t state) +@@ -155,6 +155,8 @@ static int suspend_enter(suspend_state_t state) arch_suspend_disable_irqs(); BUG_ON(!irqs_disabled()); @@ -91,7 +97,7 @@ index 6f10dfc..72fb4f2 100644 error = sysdev_suspend(PMSG_SUSPEND); if (!error) { if (!suspend_test(TEST_CORE)) -@@ -161,6 +163,8 @@ static int suspend_enter(suspend_state_t state) +@@ -162,6 +164,8 @@ static int suspend_enter(suspend_state_t state) sysdev_resume(); } @@ -101,5 +107,5 @@ index 6f10dfc..72fb4f2 100644 BUG_ON(irqs_disabled()); -- -1.7.1.1 +1.7.0.4 diff --git a/tasklet-busy-loop-workaround.patch b/tasklet-busy-loop-workaround.patch index e79f715..8dbc3b7 100644 --- a/tasklet-busy-loop-workaround.patch +++ b/tasklet-busy-loop-workaround.patch @@ -1,4 +1,4 @@ -From 9f2e31ae6e796e5262f03975a3782e50f64321de Mon Sep 17 00:00:00 2001 +From da82e59adf9d0fd1e813f220da62c4804c2e1b7b 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 @@ -8,6 +8,10 @@ commit 4bd0125629790076941e1b663234cdbb22524421 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 6 ++---- + kernel/softirq.c | 18 ++++++++++++++++++ + 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 86cf03e..0fd5b27 100644 @@ -63,5 +67,5 @@ index 1be5ff4..31db011 100644 { /* Priority needs to be below hardirqs */ -- -1.7.1.1 +1.7.0.4 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 dc316a7..3cec6d9 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 20f932344f39d498fa68c212eb069c2ad5fccf3e Mon Sep 17 00:00:00 2001 +From f526b11c8c27f046fa6154f6e76c2d986cc324c1 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. @@ -12,6 +12,11 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de> include/linux/interrupt.h | 33 ++++---- kernel/softirq.c | 184 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 149 insertions(+), 68 deletions(-) +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/interrupt.h | 33 +++++---- + kernel/softirq.c | 184 ++++++++++++++++++++++++++++++++------------- + 2 files changed, 149 insertions(+), 68 deletions(-) diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h index 563f51e..86cf03e 100644 @@ -323,5 +328,5 @@ index eda9c66..1be5ff4 100644 -- -1.7.1.1 +1.7.0.4 diff --git a/tclib-Default-to-tclib-timer-for-RT.patch b/tclib-Default-to-tclib-timer-for-RT.patch index c7e95c4..aae60e0 100644 --- a/tclib-Default-to-tclib-timer-for-RT.patch +++ b/tclib-Default-to-tclib-timer-for-RT.patch @@ -1,4 +1,4 @@ -From edf9d4b5c6aaf33e195e04ee8f25a03064d1d6e2 Mon Sep 17 00:00:00 2001 +From f3dbcb93a6c2a41adc47719b5b14c591eb928025 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 1 May 2010 18:29:35 +0200 Subject: [PATCH] tclib: Default to tclib timer for RT @@ -9,9 +9,13 @@ RT is not too happy about the shared timer interrupt in AT91 devices. Default to tclib timer for RT. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/misc/Kconfig | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig -index 3f3a4c8..693a9f9 100644 +index 652af64..5691f8b 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -39,6 +39,7 @@ config ATMEL_PWM @@ -32,5 +36,5 @@ index 3f3a4c8..693a9f9 100644 Select this to use 32 KiHz base clock rate as TC block clock source for clock events. -- -1.7.1.1 +1.7.0.4 diff --git a/tg3-fix-extra-arg-in-netif_tx_lock.patch b/tg3-fix-extra-arg-in-netif_tx_lock.patch index 9809cc7..33fe310 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 4346a80a4d56867b6849a0c5ae5e0ddb28f07883 Mon Sep 17 00:00:00 2001 +From 29580212460b6567954e0143eaf598faf688dbca 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 @@ -23,12 +23,15 @@ 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> +--- + drivers/net/tg3.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c -index 7f82b02..5cdbe0c 100644 +index ecc41cf..fdc31d9 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c -@@ -4410,7 +4410,7 @@ static void tg3_tx(struct tg3_napi *tnapi) +@@ -4417,7 +4417,7 @@ static void tg3_tx(struct tg3_napi *tnapi) if (unlikely(netif_tx_queue_stopped(txq) && (tg3_tx_avail(tnapi) > TG3_TX_WAKEUP_THRESH(tnapi)))) { @@ -38,5 +41,5 @@ index 7f82b02..5cdbe0c 100644 (tg3_tx_avail(tnapi) > TG3_TX_WAKEUP_THRESH(tnapi))) netif_tx_wake_queue(txq); -- -1.7.1.1 +1.7.0.4 diff --git a/timer-delay-waking-softirqs-from-the-jiffy-tick.patch b/timer-delay-waking-softirqs-from-the-jiffy-tick.patch index b9c35ae..e40911c 100644 --- a/timer-delay-waking-softirqs-from-the-jiffy-tick.patch +++ b/timer-delay-waking-softirqs-from-the-jiffy-tick.patch @@ -1,4 +1,4 @@ -From 8cc90562209997e79805163f82c9d70eccc216e6 Mon Sep 17 00:00:00 2001 +From f363fac345756e98d3c9e4911e54a077afa3e0eb Mon Sep 17 00:00:00 2001 From: Peter Zijlstra <peterz@infradead.org> Date: Fri, 21 Aug 2009 11:56:45 +0200 Subject: [PATCH] timer: delay waking softirqs from the jiffy tick @@ -55,12 +55,15 @@ behaviour. Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/timer.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/timer.c b/kernel/timer.c -index 8f29bd0..f4978ac 100644 +index f793f67..7fcbfd7 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1262,10 +1262,10 @@ void update_process_times(int user_tick) +@@ -1264,10 +1264,10 @@ void update_process_times(int user_tick) /* Note: this timer irq context must be accounted for as well. */ account_process_tick(p, user_tick); @@ -73,5 +76,5 @@ index 8f29bd0..f4978ac 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/timer_stats-Convert-table_lock-to-raw_spin_lock.patch b/timer_stats-Convert-table_lock-to-raw_spin_lock.patch index 5d37482..724d428 100644 --- a/timer_stats-Convert-table_lock-to-raw_spin_lock.patch +++ b/timer_stats-Convert-table_lock-to-raw_spin_lock.patch @@ -1,4 +1,4 @@ -From faf35813f204901f85dd0c6b3c5092e0064c6c2f Mon Sep 17 00:00:00 2001 +From 6896b410d75a1fa668417b264fea7d55f320bcc2 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 16 Jun 2010 16:58:34 +0200 Subject: [PATCH] timer_stats: Convert table_lock to raw_spin_lock @@ -11,6 +11,10 @@ converted to a sleeping spinlock on rt. Make it raw. Reported-by: Andreas Sundebo <kernel@sundebo.dk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Andreas Sundebo <kernel@sundebo.dk> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/time/timer_stats.c | 6 +++--- + 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/time/timer_stats.c b/kernel/time/timer_stats.c index 2f3b585..30cb955 100644 @@ -44,5 +48,5 @@ index 2f3b585..30cb955 100644 return curr; } -- -1.7.1.1 +1.7.0.4 diff --git a/timers-fix-timer-hotplug-on-rt.patch b/timers-fix-timer-hotplug-on-rt.patch index bbd8ac4..4955faf 100644 --- a/timers-fix-timer-hotplug-on-rt.patch +++ b/timers-fix-timer-hotplug-on-rt.patch @@ -1,4 +1,4 @@ -From 140de0542b255923d9276f6621b69b4e32507369 Mon Sep 17 00:00:00 2001 +From f335bcc4033fef31042428ecf989027d9d9b65d8 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 @@ -10,12 +10,16 @@ enable interrupts. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/timer.c | 12 +++++++++--- + 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/kernel/timer.c b/kernel/timer.c -index 9f1a662..47ff839 100644 +index e342eef..a081803 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1653,6 +1653,7 @@ static void __cpuinit migrate_timers(int cpu) +@@ -1655,6 +1655,7 @@ static void __cpuinit migrate_timers(int cpu) { struct tvec_base *old_base; struct tvec_base *new_base; @@ -23,7 +27,7 @@ index 9f1a662..47ff839 100644 int i; BUG_ON(cpu_online(cpu)); -@@ -1662,8 +1663,11 @@ static void __cpuinit migrate_timers(int cpu) +@@ -1664,8 +1665,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 +41,7 @@ index 9f1a662..47ff839 100644 BUG_ON(old_base->running_timer); -@@ -1677,7 +1681,9 @@ static void __cpuinit migrate_timers(int cpu) +@@ -1679,7 +1683,9 @@ static void __cpuinit migrate_timers(int cpu) } spin_unlock(&old_base->lock); @@ -49,5 +53,5 @@ index 9f1a662..47ff839 100644 } #endif /* CONFIG_HOTPLUG_CPU */ -- -1.7.1.1 +1.7.0.4 diff --git a/timers-mov-printk_tick-to-soft-interrupt.patch b/timers-mov-printk_tick-to-soft-interrupt.patch index fbbf781..d33aefc 100644 --- a/timers-mov-printk_tick-to-soft-interrupt.patch +++ b/timers-mov-printk_tick-to-soft-interrupt.patch @@ -1,4 +1,4 @@ -From d68cf2626668a9aa2409fcd48a716a949088b9ce Mon Sep 17 00:00:00 2001 +From 5e4e0284fc30e46101344c15adf8618da478643d 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 @@ -8,12 +8,15 @@ commit 0dfa3e7ed99d0ccc679c1ed048c88cc18cedc59c in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/timer.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/timer.c b/kernel/timer.c -index 47ff839..f0d478a 100644 +index a081803..c9820fa 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1264,7 +1264,6 @@ void update_process_times(int user_tick) +@@ -1266,7 +1266,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 +24,7 @@ index 47ff839..f0d478a 100644 perf_event_do_pending(); scheduler_tick(); run_posix_cpu_timers(p); -@@ -1277,6 +1276,7 @@ static void run_timer_softirq(struct softirq_action *h) +@@ -1279,6 +1278,7 @@ static void run_timer_softirq(struct softirq_action *h) { struct tvec_base *base = __get_cpu_var(tvec_bases); @@ -30,5 +33,5 @@ index 47ff839..f0d478a 100644 if (time_after_eq(jiffies, base->timer_jiffies)) -- -1.7.1.1 +1.7.0.4 diff --git a/timers-preempt-rt-support.patch b/timers-preempt-rt-support.patch index b2ec326..a2b3b88 100644 --- a/timers-preempt-rt-support.patch +++ b/timers-preempt-rt-support.patch @@ -1,4 +1,4 @@ -From d766bacb28e2ac29f6facd1c7995289b177b366c Mon Sep 17 00:00:00 2001 +From 7e6bc9b077c1cfeddbc84d278b1a275eea2682e9 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 @@ -8,12 +8,15 @@ commit c90fc5b4462b0291bfce50ddf31e142471dc4803 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/timer.c | 33 ++++++++++++++------------------- + 1 files changed, 14 insertions(+), 19 deletions(-) diff --git a/kernel/timer.c b/kernel/timer.c -index fc3a98c..9f1a662 100644 +index e368fe7..e342eef 100644 --- a/kernel/timer.c +++ b/kernel/timer.c -@@ -1226,6 +1226,18 @@ unsigned long get_next_timer_interrupt(unsigned long now) +@@ -1228,6 +1228,18 @@ unsigned long get_next_timer_interrupt(unsigned long now) struct tvec_base *base = __get_cpu_var(tvec_bases); unsigned long expires; @@ -32,7 +35,7 @@ index fc3a98c..9f1a662 100644 spin_lock(&base->lock); if (time_before_eq(base->next_timer, base->timer_jiffies)) base->next_timer = __next_timer_interrupt(base); -@@ -1234,7 +1246,7 @@ unsigned long get_next_timer_interrupt(unsigned long now) +@@ -1236,7 +1248,7 @@ unsigned long get_next_timer_interrupt(unsigned long now) if (time_before_eq(expires, now)) return now; @@ -41,7 +44,7 @@ index fc3a98c..9f1a662 100644 return cmp_next_hrtimer_event(now, expires); } #endif -@@ -1259,30 +1271,12 @@ void update_process_times(int user_tick) +@@ -1261,30 +1273,12 @@ void update_process_times(int user_tick) } /* @@ -72,7 +75,7 @@ index fc3a98c..9f1a662 100644 hrtimer_run_pending(); if (time_after_eq(jiffies, base->timer_jiffies)) -@@ -1308,6 +1302,7 @@ void run_local_timers(void) +@@ -1310,6 +1304,7 @@ void run_local_timers(void) void do_timer(unsigned long ticks) { jiffies_64 += ticks; @@ -81,5 +84,5 @@ index fc3a98c..9f1a662 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/timers-prepare-for-full-preemption.patch b/timers-prepare-for-full-preemption.patch index bf27eaa..20ea12e 100644 --- a/timers-prepare-for-full-preemption.patch +++ b/timers-prepare-for-full-preemption.patch @@ -1,4 +1,4 @@ -From b18f75c721d3461c0c21bc9d3bb709a4735070a4 Mon Sep 17 00:00:00 2001 +From 2bdbdf64f5a227572c323d485f9fcf24f022e971 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:29:34 -0500 Subject: [PATCH] timers: prepare for full preemption @@ -12,6 +12,10 @@ callback. Add a waitqueue to resolve that. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/linux/timer.h | 4 ++- + kernel/timer.c | 97 +++++++++++++++++++++++++++++++++++++++++++------ + 2 files changed, 88 insertions(+), 13 deletions(-) diff --git a/include/linux/timer.h b/include/linux/timer.h index a2d1eb6..af92a91 100644 @@ -32,7 +36,7 @@ index a2d1eb6..af92a91 100644 # define del_timer_sync(t) del_timer(t) #endif diff --git a/kernel/timer.c b/kernel/timer.c -index c61a794..fc3a98c 100644 +index aeb6a54..e368fe7 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -34,6 +34,7 @@ @@ -43,7 +47,7 @@ index c61a794..fc3a98c 100644 #include <linux/delay.h> #include <linux/tick.h> #include <linux/kallsyms.h> -@@ -74,6 +75,7 @@ struct tvec_root { +@@ -75,6 +76,7 @@ struct tvec_root { struct tvec_base { spinlock_t lock; struct timer_list *running_timer; @@ -51,7 +55,7 @@ index c61a794..fc3a98c 100644 unsigned long timer_jiffies; unsigned long next_timer; struct tvec_root tv1; -@@ -322,9 +324,7 @@ EXPORT_SYMBOL_GPL(round_jiffies_up_relative); +@@ -323,9 +325,7 @@ EXPORT_SYMBOL_GPL(round_jiffies_up_relative); static inline void set_running_timer(struct tvec_base *base, struct timer_list *timer) { @@ -61,7 +65,7 @@ index c61a794..fc3a98c 100644 } static void internal_add_timer(struct tvec_base *base, struct timer_list *timer) -@@ -656,6 +656,7 @@ __mod_timer(struct timer_list *timer, unsigned long expires, +@@ -657,6 +657,7 @@ __mod_timer(struct timer_list *timer, unsigned long expires, debug_activate(timer, expires); @@ -69,7 +73,7 @@ index c61a794..fc3a98c 100644 cpu = smp_processor_id(); #if defined(CONFIG_NO_HZ) && defined(CONFIG_SMP) -@@ -666,6 +667,8 @@ __mod_timer(struct timer_list *timer, unsigned long expires, +@@ -667,6 +668,8 @@ __mod_timer(struct timer_list *timer, unsigned long expires, cpu = preferred_cpu; } #endif @@ -78,7 +82,7 @@ index c61a794..fc3a98c 100644 new_base = per_cpu(tvec_bases, cpu); if (base != new_base) { -@@ -825,6 +828,18 @@ void add_timer_on(struct timer_list *timer, int cpu) +@@ -826,6 +829,18 @@ void add_timer_on(struct timer_list *timer, int cpu) } EXPORT_SYMBOL_GPL(add_timer_on); @@ -97,7 +101,7 @@ index c61a794..fc3a98c 100644 /** * del_timer - deactive a timer. * @timer: the timer to be deactivated -@@ -859,7 +874,34 @@ int del_timer(struct timer_list *timer) +@@ -860,7 +875,34 @@ int del_timer(struct timer_list *timer) } EXPORT_SYMBOL(del_timer); @@ -133,7 +137,7 @@ index c61a794..fc3a98c 100644 /** * try_to_del_timer_sync - Try to deactivate a timer * @timer: timer do del -@@ -927,7 +969,7 @@ int del_timer_sync(struct timer_list *timer) +@@ -929,7 +971,7 @@ int del_timer_sync(struct timer_list *timer) int ret = try_to_del_timer_sync(timer); if (ret >= 0) return ret; @@ -142,7 +146,7 @@ index c61a794..fc3a98c 100644 } } EXPORT_SYMBOL(del_timer_sync); -@@ -972,6 +1014,20 @@ static inline void __run_timers(struct tvec_base *base) +@@ -974,6 +1016,20 @@ static inline void __run_timers(struct tvec_base *base) struct list_head *head = &work_list; int index = base->timer_jiffies & TVR_MASK; @@ -163,7 +167,7 @@ index c61a794..fc3a98c 100644 /* * Cascade timers: */ -@@ -1027,18 +1083,17 @@ static inline void __run_timers(struct tvec_base *base) +@@ -1029,18 +1085,17 @@ static inline void __run_timers(struct tvec_base *base) lock_map_release(&lockdep_map); if (preempt_count != preempt_count()) { @@ -188,7 +192,7 @@ index c61a794..fc3a98c 100644 spin_unlock_irq(&base->lock); } -@@ -1204,12 +1259,30 @@ void update_process_times(int user_tick) +@@ -1206,12 +1261,30 @@ void update_process_times(int user_tick) } /* @@ -219,7 +223,7 @@ index c61a794..fc3a98c 100644 hrtimer_run_pending(); if (time_after_eq(jiffies, base->timer_jiffies)) -@@ -1235,7 +1308,6 @@ void run_local_timers(void) +@@ -1237,7 +1310,6 @@ void run_local_timers(void) void do_timer(unsigned long ticks) { jiffies_64 += ticks; @@ -227,7 +231,7 @@ index c61a794..fc3a98c 100644 calc_global_load(); } -@@ -1550,6 +1622,7 @@ static int __cpuinit init_timers_cpu(int cpu) +@@ -1552,6 +1624,7 @@ static int __cpuinit init_timers_cpu(int cpu) } spin_lock_init(&base->lock); @@ -236,5 +240,5 @@ index c61a794..fc3a98c 100644 for (j = 0; j < TVN_SIZE; j++) { INIT_LIST_HEAD(base->tv5.vec + j); -- -1.7.1.1 +1.7.0.4 diff --git a/trace-Convert-various-locks-to-raw_spinlock.patch b/trace-Convert-various-locks-to-raw_spinlock.patch index 183bf6c..194b60c 100644 --- a/trace-Convert-various-locks-to-raw_spinlock.patch +++ b/trace-Convert-various-locks-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From b825dd15fe085ff18e8fb99dc36c79e8c0a8f702 Mon Sep 17 00:00:00 2001 +From dadece9250e75aa2248fb0af2a740f636632df85 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 17:13:33 +0200 Subject: [PATCH] trace: Convert various locks to raw_spinlock @@ -7,12 +7,17 @@ commit 87654a70523a8c5baadcbbc07d80cbae8f912837 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/ring_buffer.c | 44 +++++++++++++++++++++--------------------- + kernel/trace/trace.c | 10 ++++---- + kernel/trace/trace_irqsoff.c | 6 ++-- + 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 05a9f83..1a926e8 100644 +index 41ca394..30cd3c9 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c -@@ -423,7 +423,7 @@ int ring_buffer_print_page_header(struct trace_seq *s) +@@ -432,7 +432,7 @@ int ring_buffer_print_page_header(struct trace_seq *s) struct ring_buffer_per_cpu { int cpu; struct ring_buffer *buffer; @@ -21,7 +26,7 @@ index 05a9f83..1a926e8 100644 arch_spinlock_t lock; struct lock_class_key lock_key; struct list_head *pages; -@@ -999,7 +999,7 @@ rb_allocate_cpu_buffer(struct ring_buffer *buffer, int cpu) +@@ -1008,7 +1008,7 @@ rb_allocate_cpu_buffer(struct ring_buffer *buffer, int cpu) cpu_buffer->cpu = cpu; cpu_buffer->buffer = buffer; @@ -30,7 +35,7 @@ index 05a9f83..1a926e8 100644 lockdep_set_class(&cpu_buffer->reader_lock, buffer->reader_lock_key); cpu_buffer->lock = (arch_spinlock_t)__ARCH_SPIN_LOCK_UNLOCKED; -@@ -2740,9 +2740,9 @@ void ring_buffer_iter_reset(struct ring_buffer_iter *iter) +@@ -2751,9 +2751,9 @@ void ring_buffer_iter_reset(struct ring_buffer_iter *iter) cpu_buffer = iter->cpu_buffer; @@ -42,7 +47,7 @@ index 05a9f83..1a926e8 100644 } EXPORT_SYMBOL_GPL(ring_buffer_iter_reset); -@@ -3176,12 +3176,12 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts) +@@ -3187,12 +3187,12 @@ ring_buffer_peek(struct ring_buffer *buffer, int cpu, u64 *ts) again: local_irq_save(flags); if (dolock) @@ -57,7 +62,7 @@ index 05a9f83..1a926e8 100644 local_irq_restore(flags); if (event && event->type_len == RINGBUF_TYPE_PADDING) -@@ -3206,9 +3206,9 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts) +@@ -3217,9 +3217,9 @@ ring_buffer_iter_peek(struct ring_buffer_iter *iter, u64 *ts) unsigned long flags; again: @@ -69,7 +74,7 @@ index 05a9f83..1a926e8 100644 if (event && event->type_len == RINGBUF_TYPE_PADDING) goto again; -@@ -3244,14 +3244,14 @@ ring_buffer_consume(struct ring_buffer *buffer, int cpu, u64 *ts) +@@ -3255,14 +3255,14 @@ ring_buffer_consume(struct ring_buffer *buffer, int cpu, u64 *ts) cpu_buffer = buffer->buffers[cpu]; local_irq_save(flags); if (dolock) @@ -86,7 +91,7 @@ index 05a9f83..1a926e8 100644 local_irq_restore(flags); out: -@@ -3297,11 +3297,11 @@ ring_buffer_read_start(struct ring_buffer *buffer, int cpu) +@@ -3308,11 +3308,11 @@ ring_buffer_read_start(struct ring_buffer *buffer, int cpu) atomic_inc(&cpu_buffer->record_disabled); synchronize_sched(); @@ -100,7 +105,7 @@ index 05a9f83..1a926e8 100644 return iter; } -@@ -3338,7 +3338,7 @@ ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts) +@@ -3349,7 +3349,7 @@ ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts) struct ring_buffer_per_cpu *cpu_buffer = iter->cpu_buffer; unsigned long flags; @@ -109,7 +114,7 @@ index 05a9f83..1a926e8 100644 again: event = rb_iter_peek(iter, ts); if (!event) -@@ -3349,7 +3349,7 @@ ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts) +@@ -3360,7 +3360,7 @@ ring_buffer_read(struct ring_buffer_iter *iter, u64 *ts) rb_advance_iter(iter); out: @@ -118,7 +123,7 @@ index 05a9f83..1a926e8 100644 return event; } -@@ -3415,7 +3415,7 @@ void ring_buffer_reset_cpu(struct ring_buffer *buffer, int cpu) +@@ -3426,7 +3426,7 @@ void ring_buffer_reset_cpu(struct ring_buffer *buffer, int cpu) atomic_inc(&cpu_buffer->record_disabled); @@ -127,7 +132,7 @@ index 05a9f83..1a926e8 100644 if (RB_WARN_ON(cpu_buffer, local_read(&cpu_buffer->committing))) goto out; -@@ -3427,7 +3427,7 @@ void ring_buffer_reset_cpu(struct ring_buffer *buffer, int cpu) +@@ -3438,7 +3438,7 @@ void ring_buffer_reset_cpu(struct ring_buffer *buffer, int cpu) arch_spin_unlock(&cpu_buffer->lock); out: @@ -136,7 +141,7 @@ index 05a9f83..1a926e8 100644 atomic_dec(&cpu_buffer->record_disabled); } -@@ -3465,10 +3465,10 @@ int ring_buffer_empty(struct ring_buffer *buffer) +@@ -3476,10 +3476,10 @@ int ring_buffer_empty(struct ring_buffer *buffer) cpu_buffer = buffer->buffers[cpu]; local_irq_save(flags); if (dolock) @@ -149,7 +154,7 @@ index 05a9f83..1a926e8 100644 local_irq_restore(flags); if (!ret) -@@ -3499,10 +3499,10 @@ int ring_buffer_empty_cpu(struct ring_buffer *buffer, int cpu) +@@ -3510,10 +3510,10 @@ int ring_buffer_empty_cpu(struct ring_buffer *buffer, int cpu) cpu_buffer = buffer->buffers[cpu]; local_irq_save(flags); if (dolock) @@ -162,7 +167,7 @@ index 05a9f83..1a926e8 100644 local_irq_restore(flags); return ret; -@@ -3697,7 +3697,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer, +@@ -3708,7 +3708,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer, if (!bpage) goto out; @@ -171,7 +176,7 @@ index 05a9f83..1a926e8 100644 reader = rb_get_reader_page(cpu_buffer); if (!reader) -@@ -3772,7 +3772,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer, +@@ -3783,7 +3783,7 @@ int ring_buffer_read_page(struct ring_buffer *buffer, ret = read; out_unlock: @@ -181,7 +186,7 @@ index 05a9f83..1a926e8 100644 out: return ret; diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index 3ec2ee6..9058eab 100644 +index 44f916a..a35bb70 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -335,7 +335,7 @@ unsigned long trace_flags = TRACE_ITER_PRINT_PARENT | TRACE_ITER_PRINTK | diff --git a/trace-add-tracepoint-to-rtmutex_setprio.patch b/trace-add-tracepoint-to-rtmutex_setprio.patch index 3bdfde8..2baf2d4 100644 --- a/trace-add-tracepoint-to-rtmutex_setprio.patch +++ b/trace-add-tracepoint-to-rtmutex_setprio.patch @@ -1,4 +1,4 @@ -From e95c36b00d47bb9f0b11527fb22fbdbb7eeaff5f Mon Sep 17 00:00:00 2001 +From 4c1c8df584a5a9acc7c75a71d40aca830b97d37b 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() @@ -7,6 +7,10 @@ commit 189b7ee6374b0c1ff0a49c4de055aec5d8303dbd in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + include/trace/events/sched.h | 31 +++++++++++++++++++++++++++++++ + kernel/sched.c | 2 ++ + 2 files changed, 33 insertions(+), 0 deletions(-) diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h index cfceb0b..354e98f 100644 @@ -51,10 +55,10 @@ index cfceb0b..354e98f 100644 */ TRACE_EVENT(sched_process_wait, diff --git a/kernel/sched.c b/kernel/sched.c -index 07bc2d2..c19ddb3 100644 +index a2c158e..bb47604 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -6089,6 +6089,8 @@ void task_setprio(struct task_struct *p, int prio) +@@ -4307,6 +4307,8 @@ void task_setprio(struct task_struct *p, int prio) p->prio = prio; @@ -64,5 +68,5 @@ index 07bc2d2..c19ddb3 100644 p->sched_class->set_curr_task(rq); if (on_rq) { -- -1.7.1.1 +1.7.0.4 diff --git a/trace-bundle-uprev-parts-from-merges.patch b/trace-bundle-uprev-parts-from-merges.patch index 39053df..bd8508f 100644 --- a/trace-bundle-uprev-parts-from-merges.patch +++ b/trace-bundle-uprev-parts-from-merges.patch @@ -1,4 +1,4 @@ -From 4031ea4537276ecfd1a4ca63fa75df7086b5c725 Mon Sep 17 00:00:00 2001 +From d9ccd6f8336155d79573ac1c4eb616474ad58bd6 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. @@ -28,6 +28,13 @@ 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> +--- + Documentation/trace/ftrace.txt | 9 +- + Documentation/trace/histograms.txt | 112 ++++-------- + include/trace/events/hist.h | 19 ++- + kernel/trace/latency_hist.c | 385 ++++++++++++++++++++---------------- + kernel/trace/ring_buffer.c | 21 ++- + 5 files changed, 277 insertions(+), 269 deletions(-) diff --git a/Documentation/trace/ftrace.txt b/Documentation/trace/ftrace.txt index 14cc034..03485bf 100644 @@ -964,10 +971,10 @@ index 83d8d2f..8300929 100644 return 0; } diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c -index 855c81c..12dff6c 100644 +index 30cd3c9..f96c9ec 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c -@@ -1200,11 +1200,12 @@ static void rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer); +@@ -1201,11 +1201,12 @@ static void rb_reset_cpu(struct ring_buffer_per_cpu *cpu_buffer); static void rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages) { @@ -982,7 +989,7 @@ index 855c81c..12dff6c 100644 rb_head_page_deactivate(cpu_buffer); for (i = 0; i < nr_pages; i++) { -@@ -1212,8 +1213,8 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages) +@@ -1213,8 +1214,8 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages) goto out; p = cpu_buffer->pages->next; bpage = list_entry(p, struct buffer_page, list); @@ -993,7 +1000,7 @@ index 855c81c..12dff6c 100644 } if (RB_WARN_ON(cpu_buffer, list_empty(cpu_buffer->pages))) goto out; -@@ -1222,7 +1223,13 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages) +@@ -1223,7 +1224,13 @@ rb_remove_pages(struct ring_buffer_per_cpu *cpu_buffer, unsigned nr_pages) rb_check_pages(cpu_buffer); out: @@ -1008,7 +1015,7 @@ index 855c81c..12dff6c 100644 } static void -@@ -1233,7 +1240,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer, +@@ -1234,7 +1241,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer, struct list_head *p; unsigned i; @@ -1017,7 +1024,7 @@ index 855c81c..12dff6c 100644 rb_head_page_deactivate(cpu_buffer); for (i = 0; i < nr_pages; i++) { -@@ -1248,7 +1255,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer, +@@ -1249,7 +1256,7 @@ rb_insert_pages(struct ring_buffer_per_cpu *cpu_buffer, rb_check_pages(cpu_buffer); out: @@ -1027,5 +1034,5 @@ index 855c81c..12dff6c 100644 /** -- -1.7.1.1 +1.7.0.4 diff --git a/trace-disable-hw-branch-tracer-on-rt.patch b/trace-disable-hw-branch-tracer-on-rt.patch index 09c7155..a5b0ecf 100644 --- a/trace-disable-hw-branch-tracer-on-rt.patch +++ b/trace-disable-hw-branch-tracer-on-rt.patch @@ -1,4 +1,4 @@ -From 94d2496b859a49815186a25ef079dc2190fc30e1 Mon Sep 17 00:00:00 2001 +From a3f896a2276fdd3dc34daab478aa9859ccc1ea6e 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 @@ -6,12 +6,16 @@ Subject: [PATCH] trace: disable hw-branch tracer on -rt commit 520d22385df681e3417065185b86065e2532f928 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/Kconfig | 1 + + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index 6929bc7..abb64c5 100644 +index 43fe88c..5807cff 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig -@@ -385,6 +385,7 @@ config STACK_TRACER +@@ -376,6 +376,7 @@ config STACK_TRACER config HW_BRANCH_TRACER depends on HAVE_HW_BRANCH_TRACER @@ -20,5 +24,5 @@ index 6929bc7..abb64c5 100644 select GENERIC_TRACER help -- -1.7.1.1 +1.7.0.4 diff --git a/trace-disable-workqueue-tracer-on-RT.patch b/trace-disable-workqueue-tracer-on-RT.patch index 0468482..f41eea0 100644 --- a/trace-disable-workqueue-tracer-on-RT.patch +++ b/trace-disable-workqueue-tracer-on-RT.patch @@ -1,4 +1,4 @@ -From 6ecafa8ec329a7891d96a0cc5a9091cf69491ea6 Mon Sep 17 00:00:00 2001 +From 69cb6bfa637d238a481d2727a6363ecb4c51d352 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:30:32 -0500 Subject: [PATCH] trace: disable workqueue tracer on RT @@ -51,12 +51,15 @@ Call Trace: Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/Kconfig | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index 60e2ce0..6929bc7 100644 +index 13e13d4..43fe88c 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig -@@ -412,7 +412,7 @@ config KMEMTRACE +@@ -403,7 +403,7 @@ config KMEMTRACE If unsure, say N. config WORKQUEUE_TRACER @@ -66,5 +69,5 @@ index 60e2ce0..6929bc7 100644 help The workqueue tracer provides some statistical information -- -1.7.1.1 +1.7.0.4 diff --git a/trace-fix-erroneous-histogram-stop-WARN_ON-messages.patch b/trace-fix-erroneous-histogram-stop-WARN_ON-messages.patch index efbd8c7..5ef24ce 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 013a5f1c93f785c733f2cf9647ef9042ae085514 Mon Sep 17 00:00:00 2001 +From 40f3bac4ebbda745849004652c0ecb59eb8ec8dd 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 @@ -16,6 +16,10 @@ histogram processing. Tested-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/timer.h | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/include/asm/timer.h b/arch/x86/include/asm/timer.h index 5469630..3d20117 100644 @@ -34,5 +38,5 @@ index 5469630..3d20117 100644 return ns; } -- -1.7.1.1 +1.7.0.4 diff --git a/trace-function-profiler-band-aid.patch b/trace-function-profiler-band-aid.patch index 0fff1cd..56b492a 100644 --- a/trace-function-profiler-band-aid.patch +++ b/trace-function-profiler-band-aid.patch @@ -1,4 +1,4 @@ -From d0c4e140d4d2bb517517aca54c221836e9b72483 Mon Sep 17 00:00:00 2001 +From cc5585a60d6c094bb15a1a748174d96699d296c4 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 @@ -26,9 +26,14 @@ where the panic could originate from. Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/ftrace.c | 3 ++- + kernel/trace/trace_functions_graph.c | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index 1e6640f..a6d0ebe 100644 +index 2404b59..a05e769 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -392,7 +392,8 @@ static int function_stat_show(struct seq_file *m, void *v) @@ -42,10 +47,10 @@ index 1e6640f..a6d0ebe 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 b1342c5..c2eef67 100644 +index 9aed1a5..974bc47 100644 --- a/kernel/trace/trace_functions_graph.c +++ b/kernel/trace/trace_functions_graph.c -@@ -608,7 +608,7 @@ trace_print_graph_duration(unsigned long long duration, struct trace_seq *s) +@@ -628,7 +628,7 @@ trace_print_graph_duration(unsigned long long duration, struct trace_seq *s) int ret, len; int i; @@ -55,5 +60,5 @@ index b1342c5..c2eef67 100644 /* Print msecs */ ret = trace_seq_printf(s, "%s", msecs_str); -- -1.7.1.1 +1.7.0.4 diff --git a/trace-rt-support.patch b/trace-rt-support.patch index b6a20f6..27d791b 100644 --- a/trace-rt-support.patch +++ b/trace-rt-support.patch @@ -1,4 +1,4 @@ -From 9e7b2269c526f2118b9c24849f9c29bba61dedd2 Mon Sep 17 00:00:00 2001 +From a0d1f9452492b073d02c1b9004bb9bf2c57c2518 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 @@ -8,12 +8,15 @@ commit 46c4efb391333eef9c2ce9aef0cba903da787601 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/trace.c | 5 +++++ + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c -index e599a03..4af5b21 100644 +index a35bb70..13ef88e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c -@@ -272,6 +272,11 @@ void trace_wake_up(void) +@@ -349,6 +349,11 @@ void trace_wake_up(void) if (trace_flags & TRACE_ITER_BLOCK) return; @@ -26,5 +29,5 @@ index e599a03..4af5b21 100644 * The runqueue_is_locked() can fail, but this is the best we * have for now: -- -1.7.1.1 +1.7.0.4 diff --git a/tracing-Add-combined-timer-and-wakeup-latency-histog.patch b/tracing-Add-combined-timer-and-wakeup-latency-histog.patch index b79a58a..ca6d18e 100644 --- a/tracing-Add-combined-timer-and-wakeup-latency-histog.patch +++ b/tracing-Add-combined-timer-and-wakeup-latency-histog.patch @@ -1,4 +1,4 @@ -From 0f4a6b445721feb10ca8e12c164c4889ccbf74c6 Mon Sep 17 00:00:00 2001 +From 1ce09df80e40c1c17c2be8cec33c388857a42385 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Mon, 18 Oct 2010 22:53:08 +0100 Subject: [PATCH] tracing: Add combined timer and wakeup latency histogram @@ -38,6 +38,13 @@ configured, but must be enabled separately at run-time. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + Documentation/trace/histograms.txt | 36 +++++++++----- + include/linux/sched.h | 3 + + kernel/trace/Kconfig | 30 +++++++++++- + kernel/trace/latency_hist.c | 92 ++++++++++++++++++++++++++++++++++-- + 4 files changed, 142 insertions(+), 19 deletions(-) diff --git a/Documentation/trace/histograms.txt b/Documentation/trace/histograms.txt index 6645057..0528201 100644 @@ -121,7 +128,7 @@ index 6645057..0528201 100644 PIDs are not considered, if this variable is set to 0. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 7041cc9..595a960 100644 +index f52ece2..07756f7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h @@ -1592,6 +1592,9 @@ struct task_struct { @@ -375,5 +382,5 @@ index 7c26615..43dba1e 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/tracing-Add-histograms-of-potential-and-effective-wa.patch b/tracing-Add-histograms-of-potential-and-effective-wa.patch index 418eb76..fc03f54 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 e4dbb65eed75b4b081ad8fd53c181f51d14d28f1 Mon Sep 17 00:00:00 2001 +From 6573d6c36ebf6c1bc1af787619f3a9910b42181f 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 @@ -23,6 +23,22 @@ Cc: Steven Rostedt <rostedt@goodmis.org> LKML-Reference: <4AAEDDD5.4040505@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + Documentation/trace/histograms.txt | 156 +++++++ + include/linux/sched.h | 1 + + include/trace/events/hist.h | 37 ++ + include/trace/events/latency_hist.h | 29 ++ + init/main.c | 10 +- + kernel/sched.c | 5 + + kernel/trace/Kconfig | 54 ++- + kernel/trace/Makefile | 3 + + kernel/trace/latency_hist.c | 822 +++++++++++++++++++++++++++++++++++ + kernel/trace/trace_irqsoff.c | 11 + + 10 files changed, 1119 insertions(+), 9 deletions(-) + create mode 100644 Documentation/trace/histograms.txt + create mode 100644 include/trace/events/hist.h + create mode 100644 include/trace/events/latency_hist.h + create mode 100644 kernel/trace/latency_hist.c diff --git a/Documentation/trace/histograms.txt b/Documentation/trace/histograms.txt new file mode 100644 @@ -187,10 +203,10 @@ index 0000000..78df495 + +These data are also reset when the wakeup histogram is reset. diff --git a/include/linux/sched.h b/include/linux/sched.h -index 5ceabb5..d1d4df4 100644 +index 6b6a43f..b34b9a7 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h -@@ -2092,6 +2092,7 @@ extern int sched_setscheduler_nocheck(struct task_struct *, int, +@@ -2031,6 +2031,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); @@ -277,10 +293,10 @@ index 0000000..7f70794 + +#endif /* _LATENCY_HIST_H */ diff --git a/init/main.c b/init/main.c -index ed4c511..b90180a 100644 +index 3cc95fd..6859102 100644 --- a/init/main.c +++ b/init/main.c -@@ -899,7 +899,7 @@ static int __init kernel_init(void * unused) +@@ -917,7 +917,7 @@ static int __init kernel_init(void * unused) WARN_ON(irqs_disabled()); #endif @@ -289,7 +305,7 @@ index ed4c511..b90180a 100644 #if DEBUG_COUNT > 0 printk(KERN_ERR "*****************************************************************************\n"); -@@ -919,9 +919,15 @@ static int __init kernel_init(void * unused) +@@ -937,9 +937,15 @@ static int __init kernel_init(void * unused) #ifdef CONFIG_PREEMPT_TRACER printk(KERN_ERR "* CONFIG_PREEMPT_TRACER *\n"); #endif @@ -307,10 +323,10 @@ index ed4c511..b90180a 100644 printk(KERN_ERR "* CONFIG_WAKEUP_LATENCY_HIST *\n"); #endif diff --git a/kernel/sched.c b/kernel/sched.c -index 9676d63..50e6608 100644 +index 00237e3..c642081 100644 --- a/kernel/sched.c +++ b/kernel/sched.c -@@ -660,6 +660,11 @@ struct rq { +@@ -628,6 +628,11 @@ struct rq { #endif }; @@ -323,7 +339,7 @@ index 9676d63..50e6608 100644 static inline diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig -index abb64c5..f5051d2 100644 +index 5807cff..a9ebe27 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig @@ -175,6 +175,21 @@ config IRQSOFF_TRACER @@ -403,7 +419,7 @@ index abb64c5..f5051d2 100644 bool "Trace process context switches and events" depends on !GENERIC_TRACER diff --git a/kernel/trace/Makefile b/kernel/trace/Makefile -index cd9ecd8..04e959d 100644 +index 78edc64..0603f2e 100644 --- a/kernel/trace/Makefile +++ b/kernel/trace/Makefile @@ -35,6 +35,9 @@ obj-$(CONFIG_FUNCTION_TRACER) += trace_functions.o @@ -1332,5 +1348,5 @@ index 60ba58e..4896b88 100644 start_critical_timing(a0, a1); } -- -1.7.1.1 +1.7.0.4 diff --git a/tracing-Define-pid-functions-for-all-config-combinat.patch b/tracing-Define-pid-functions-for-all-config-combinat.patch index 71e25c5..e00a61c 100644 --- a/tracing-Define-pid-functions-for-all-config-combinat.patch +++ b/tracing-Define-pid-functions-for-all-config-combinat.patch @@ -1,4 +1,4 @@ -From 3210d2a41a97c9c6689788e9d1a091238ed07fbb Mon Sep 17 00:00:00 2001 +From 6af512a16334d072c5d71a1656c2e6840c9df9af Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Thu, 11 Mar 2010 00:18:18 +0100 Subject: [PATCH] tracing: Define pid functions for all config combinations @@ -14,6 +14,9 @@ Fix the erroneous #ifdef around the pid-related functions. Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/latency_hist.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/kernel/trace/latency_hist.c b/kernel/trace/latency_hist.c index ce67060..7c26615 100644 @@ -30,5 +33,5 @@ index ce67060..7c26615 100644 show_pid(struct file *file, char __user *ubuf, size_t cnt, loff_t *ppos) { -- -1.7.1.1 +1.7.0.4 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 b5089c6..3c1b9cc 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 b74e20102c13e1aa0e4470d7301ecab7192956c1 Mon Sep 17 00:00:00 2001 +From 949d9866a17970ac52f7f975a5ebb2202457a179 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 @@ -34,12 +34,16 @@ Cc: Eugene Teo <eugene@redhat.com> Cc: vendor-sec@lst.de Cc: <stable@kernel.org> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/ftrace.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c -index a6d0ebe..4a23d1f 100644 +index a05e769..4fa9f57 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c -@@ -2410,7 +2410,7 @@ static const struct file_operations ftrace_filter_fops = { +@@ -2389,7 +2389,7 @@ static const struct file_operations ftrace_filter_fops = { .open = ftrace_filter_open, .read = seq_read, .write = ftrace_filter_write, @@ -49,5 +53,5 @@ index a6d0ebe..4a23d1f 100644 }; -- -1.7.1.1 +1.7.0.4 diff --git a/tracing-Plug-memory-leak-in-histogram_show.patch b/tracing-Plug-memory-leak-in-histogram_show.patch index 0900961..2df7527 100644 --- a/tracing-Plug-memory-leak-in-histogram_show.patch +++ b/tracing-Plug-memory-leak-in-histogram_show.patch @@ -1,4 +1,4 @@ -From d28b33f44b57ec171be735fd12511e6059672376 Mon Sep 17 00:00:00 2001 +From 95ef51a506a1f0ab20d5bf539f172451cb294cd2 Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Wed, 24 Feb 2010 07:49:32 +0100 Subject: [PATCH] tracing: Plug memory leak in histogram_show @@ -10,6 +10,10 @@ Do not allocate memory for index pointer, if index out of range. Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/latency_hist.c | 13 ++++++------- + 1 files changed, 6 insertions(+), 7 deletions(-) diff --git a/kernel/trace/latency_hist.c b/kernel/trace/latency_hist.c index 8300929..9f20d61 100644 @@ -47,5 +51,5 @@ index 8300929..9f20d61 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/tracing-histogram-Remove-large-array-from-stack-fram.patch b/tracing-histogram-Remove-large-array-from-stack-fram.patch index 9010d60..7b1739e 100644 --- a/tracing-histogram-Remove-large-array-from-stack-fram.patch +++ b/tracing-histogram-Remove-large-array-from-stack-fram.patch @@ -1,4 +1,4 @@ -From fdef6637ce476835c34fddfc17e5882a8723b17f Mon Sep 17 00:00:00 2001 +From 54bd51480b44b29d54af12de4e93e4677b4e746c Mon Sep 17 00:00:00 2001 From: Carsten Emde <C.Emde@osadl.org> Date: Wed, 24 Feb 2010 07:49:33 +0100 Subject: [PATCH] tracing: histogram: Remove large array from stack frame @@ -12,6 +12,9 @@ Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Carsten Emde <C.Emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + kernel/trace/latency_hist.c | 12 +++++++++--- + 1 files changed, 9 insertions(+), 3 deletions(-) diff --git a/kernel/trace/latency_hist.c b/kernel/trace/latency_hist.c index 9f20d61..ce67060 100644 @@ -41,5 +44,5 @@ index 9f20d61..ce67060 100644 #endif -- -1.7.1.1 +1.7.0.4 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 9f441b9..7973e41 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 0911dbb6c9da67011ee6139087b3c8c99d9a8f0e Mon Sep 17 00:00:00 2001 +From c47880579954454c07c8449c2d4a2f871b1a3d95 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 @@ -23,9 +23,13 @@ Call Trace: .... Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/char/tty_ldisc.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/char/tty_ldisc.c b/drivers/char/tty_ldisc.c -index 3f653f7..53b87b5 100644 +index 500e740..5375232 100644 --- a/drivers/char/tty_ldisc.c +++ b/drivers/char/tty_ldisc.c @@ -71,7 +71,7 @@ static void put_ldisc(struct tty_ldisc *ld) @@ -47,5 +51,5 @@ index 3f653f7..53b87b5 100644 /** -- -1.7.1.1 +1.7.0.4 diff --git a/usb-dont-disable-irqs-on-RT.patch b/usb-dont-disable-irqs-on-RT.patch index 622d0bb..6b59cff 100644 --- a/usb-dont-disable-irqs-on-RT.patch +++ b/usb-dont-disable-irqs-on-RT.patch @@ -1,4 +1,4 @@ -From 4b9ea4fc3e6fd636d2b7150a9c761dee36299d9e Mon Sep 17 00:00:00 2001 +From c0885255bcf72a2e008122222a473b558e0fc009 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 @@ -8,12 +8,16 @@ commit 30a9d03116e112b018942bdf7049f0f66fb243a1 in tip. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/usb/core/hcd.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c -index 80995ef..94a217a 100644 +index 2f8cedd..4d6d403 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c -@@ -1946,7 +1946,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) +@@ -1955,7 +1955,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 +26,7 @@ index 80995ef..94a217a 100644 if (unlikely(hcd->state == HC_STATE_HALT || !test_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags))) { -@@ -1961,7 +1961,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) +@@ -1970,7 +1970,7 @@ irqreturn_t usb_hcd_irq (int irq, void *__hcd) rc = IRQ_HANDLED; } @@ -32,5 +36,5 @@ index 80995ef..94a217a 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/usb-ftdi-elan-Convert-mutex-to-semaphore.patch b/usb-ftdi-elan-Convert-mutex-to-semaphore.patch index 4b45448..7ea27f1 100644 --- a/usb-ftdi-elan-Convert-mutex-to-semaphore.patch +++ b/usb-ftdi-elan-Convert-mutex-to-semaphore.patch @@ -1,4 +1,4 @@ -From c4815c524eace32d89b81469a71f47f293f44278 Mon Sep 17 00:00:00 2001 +From 3feff0e49b53b1ab93fda836bd0acbd2ff23dd1a Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Sat, 25 Jul 2009 23:43:03 +0200 Subject: [PATCH] usb: ftdi-elan: Convert "mutex" to semaphore @@ -10,12 +10,16 @@ it to a real semaphore which allows both. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@suse.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/usb/misc/ftdi-elan.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/usb/misc/ftdi-elan.c b/drivers/usb/misc/ftdi-elan.c -index 9d0675e..d20cb67 100644 +index 1edb6d3..e9eb380 100644 --- a/drivers/usb/misc/ftdi-elan.c +++ b/drivers/usb/misc/ftdi-elan.c -@@ -2766,7 +2766,7 @@ static int ftdi_elan_probe(struct usb_interface *interface, +@@ -2769,7 +2769,7 @@ static int ftdi_elan_probe(struct usb_interface *interface, ftdi->sequence_num = ++ftdi_instances; mutex_unlock(&ftdi_module_lock); ftdi_elan_init_kref(ftdi); @@ -25,5 +29,5 @@ index 9d0675e..d20cb67 100644 ftdi->interface = interface; mutex_init(&ftdi->u132_lock); -- -1.7.1.1 +1.7.0.4 diff --git a/usb-rt-support.patch b/usb-rt-support.patch index 0262684..864f093 100644 --- a/usb-rt-support.patch +++ b/usb-rt-support.patch @@ -1,4 +1,4 @@ -From c9218ede599f68376fc3ed1aa0cfa7dae5ff4014 Mon Sep 17 00:00:00 2001 +From 55a8849a76fdbb7ddea1bd95b8c12f761e98d2a4 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 @@ -8,12 +8,16 @@ commit 4aee2ee40829e3a3900b16e999d17cedc2b9c0bf in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/usb/core/devio.c | 5 +++-- + drivers/usb/core/message.c | 13 +++++++------ + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/drivers/usb/core/devio.c b/drivers/usb/core/devio.c -index a678186..1f07cbf 100644 +index 3466fdc..e0e125c 100644 --- a/drivers/usb/core/devio.c +++ b/drivers/usb/core/devio.c -@@ -393,8 +393,9 @@ static void async_completed(struct urb *urb) +@@ -399,8 +399,9 @@ static void async_completed(struct urb *urb) uid_t euid = 0; u32 secid = 0; int signr; @@ -24,7 +28,7 @@ index a678186..1f07cbf 100644 list_move_tail(&as->asynclist, &ps->async_completed); as->status = urb->status; signr = as->signr; -@@ -414,7 +415,7 @@ static void async_completed(struct urb *urb) +@@ -422,7 +423,7 @@ static void async_completed(struct urb *urb) if (as->status < 0 && as->bulk_addr && as->status != -ECONNRESET && as->status != -ENOENT) cancel_bulk_urbs(ps, as->bulk_addr); @@ -34,7 +38,7 @@ index a678186..1f07cbf 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 9bc95fe..405f479 100644 +index cd22027..b647857 100644 --- a/drivers/usb/core/message.c +++ b/drivers/usb/core/message.c @@ -269,8 +269,9 @@ static void sg_complete(struct urb *urb) @@ -94,5 +98,5 @@ index 9bc95fe..405f479 100644 spin_unlock_irqrestore(&io->lock, flags); } -- -1.7.1.1 +1.7.0.4 diff --git a/vga-console-Remove-the-CON_ATOMIC-flag.patch b/vga-console-Remove-the-CON_ATOMIC-flag.patch index dd8ef8f..bdea088 100644 --- a/vga-console-Remove-the-CON_ATOMIC-flag.patch +++ b/vga-console-Remove-the-CON_ATOMIC-flag.patch @@ -1,4 +1,4 @@ -From 4216e30a7199d574f98acc68fa1e08a2f8b7cc2a Mon Sep 17 00:00:00 2001 +From b2941fe5140b7e7e5463b27dce7207061c67b301 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Wed, 10 Mar 2010 23:45:34 +0100 Subject: [PATCH] vga console: Remove the CON_ATOMIC flag @@ -8,12 +8,16 @@ commit 4216e30a7199d574f98acc68fa1e08a2f8b7cc2a in tip. vgacon_restore_screen() takes > 3ms in the worst case. !@#$%! Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/char/vt.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/char/vt.c b/drivers/char/vt.c -index 2cdf548..6c6bf9c 100644 +index 223476e..a82d177 100644 --- a/drivers/char/vt.c +++ b/drivers/char/vt.c -@@ -2575,7 +2575,7 @@ static struct console vt_console_driver = { +@@ -2571,7 +2571,7 @@ static struct console vt_console_driver = { .write = vt_console_print, .device = vt_console_device, .unblank = unblank_screen, @@ -23,5 +27,5 @@ index 2cdf548..6c6bf9c 100644 }; #endif -- -1.7.1.1 +1.7.0.4 diff --git a/video-Convert-vga-console-lock-to-raw_spinlock.patch b/video-Convert-vga-console-lock-to-raw_spinlock.patch index 486b218..9df9b7c 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 f43e00aa79a423502cb8be919a8538fef9c09ad9 Mon Sep 17 00:00:00 2001 +From 4404fc3ccab284e9bdcfa58c1b7ca13603874a8d 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 @@ -6,9 +6,13 @@ Subject: [PATCH] video: Convert vga console lock to raw_spinlock commit 87f163a2ab9601820c2a6b7d14f81ab3d7d2b642 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + drivers/video/console/vgacon.c | 42 ++++++++++++++++++++-------------------- + 1 files changed, 21 insertions(+), 21 deletions(-) diff --git a/drivers/video/console/vgacon.c b/drivers/video/console/vgacon.c -index cc4bbbe..7f29a2e 100644 +index 182dd6f..22b753e 100644 --- a/drivers/video/console/vgacon.c +++ b/drivers/video/console/vgacon.c @@ -51,7 +51,7 @@ @@ -190,5 +194,5 @@ index cc4bbbe..7f29a2e 100644 for (i = 0; i < MAX_NR_CONSOLES; i++) { -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Convert-mce-timer-to-hrtimer.patch b/x86-Convert-mce-timer-to-hrtimer.patch index 8d74f8b..0f9a9d0 100644 --- a/x86-Convert-mce-timer-to-hrtimer.patch +++ b/x86-Convert-mce-timer-to-hrtimer.patch @@ -1,4 +1,4 @@ -From 76bdf0c3151369f5b15af4baac2708e59347d664 Mon Sep 17 00:00:00 2001 +From 861fa3d321111b888dd898156b65da536d3e31ff Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Mon, 13 Dec 2010 16:33:39 +0100 Subject: [PATCH] x86: Convert mce timer to hrtimer @@ -10,12 +10,16 @@ in might_sleep() warnings on RT. Convert mce_timer to a hrtimer to avoid this. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/cpu/mcheck/mce.c | 49 +++++++++++++++++-------------------- + 1 files changed, 23 insertions(+), 26 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c -index a8aacd4..2b4aba9 100644 +index 8a6f0af..99a87e2 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c -@@ -35,6 +35,7 @@ +@@ -36,6 +36,7 @@ #include <linux/fs.h> #include <linux/mm.h> #include <linux/debugfs.h> @@ -23,7 +27,7 @@ index a8aacd4..2b4aba9 100644 #include <asm/processor.h> #include <asm/hw_irq.h> -@@ -1131,17 +1132,14 @@ void mce_log_therm_throt_event(__u64 status) +@@ -1139,17 +1140,14 @@ void mce_log_therm_throt_event(__u64 status) * poller finds an MCE, poll 2x faster. When the poller finds no more * errors, poll 2x slower (up to check_interval seconds). */ @@ -46,7 +50,7 @@ index a8aacd4..2b4aba9 100644 if (mce_available(¤t_cpu_data)) { machine_check_poll(MCP_TIMESTAMP, -@@ -1154,12 +1152,13 @@ static void mce_start_timer(unsigned long data) +@@ -1162,12 +1160,13 @@ static void mce_start_timer(unsigned long data) */ n = &__get_cpu_var(mce_next_interval); if (mce_notify_irq()) @@ -64,7 +68,7 @@ index a8aacd4..2b4aba9 100644 } static void mce_do_trigger(struct work_struct *work) -@@ -1385,10 +1384,11 @@ static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) +@@ -1393,10 +1392,11 @@ static void __mcheck_cpu_init_vendor(struct cpuinfo_x86 *c) static void __mcheck_cpu_init_timer(void) { @@ -79,7 +83,7 @@ index a8aacd4..2b4aba9 100644 if (mce_ignore_ce) return; -@@ -1396,8 +1396,9 @@ static void __mcheck_cpu_init_timer(void) +@@ -1404,8 +1404,9 @@ static void __mcheck_cpu_init_timer(void) *n = check_interval * HZ; if (!*n) return; @@ -91,7 +95,7 @@ index a8aacd4..2b4aba9 100644 } /* Handle unconfigured int18 (should never happen) */ -@@ -1711,7 +1712,7 @@ static int mce_resume(struct sys_device *dev) +@@ -1717,7 +1718,7 @@ static int mce_resume(struct sys_device *dev) static void mce_cpu_restart(void *data) { @@ -100,7 +104,7 @@ index a8aacd4..2b4aba9 100644 if (!mce_available(¤t_cpu_data)) return; __mcheck_cpu_init_generic(); -@@ -1730,7 +1731,7 @@ static void mce_disable_ce(void *all) +@@ -1736,7 +1737,7 @@ static void mce_disable_ce(void *all) if (!mce_available(¤t_cpu_data)) return; if (all) @@ -109,7 +113,7 @@ index a8aacd4..2b4aba9 100644 cmci_clear(); } -@@ -1962,6 +1963,8 @@ static void __cpuinit mce_disable_cpu(void *h) +@@ -1968,6 +1969,8 @@ static void __cpuinit mce_disable_cpu(void *h) if (!mce_available(¤t_cpu_data)) return; @@ -118,7 +122,7 @@ index a8aacd4..2b4aba9 100644 if (!(action & CPU_TASKS_FROZEN)) cmci_clear(); for (i = 0; i < banks; i++) { -@@ -1988,6 +1991,7 @@ static void __cpuinit mce_reenable_cpu(void *h) +@@ -1994,6 +1997,7 @@ static void __cpuinit mce_reenable_cpu(void *h) if (b->init) wrmsrl(MSR_IA32_MCx_CTL(i), b->ctl); } @@ -126,7 +130,7 @@ index a8aacd4..2b4aba9 100644 } /* Get notified when a cpu comes on/off. Be hotplug friendly. */ -@@ -1995,7 +1999,6 @@ static int __cpuinit +@@ -2001,7 +2005,6 @@ static int __cpuinit mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) { unsigned int cpu = (unsigned long)hcpu; @@ -134,7 +138,7 @@ index a8aacd4..2b4aba9 100644 switch (action) { case CPU_ONLINE: -@@ -2012,16 +2015,10 @@ mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) +@@ -2018,16 +2021,10 @@ mce_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) break; case CPU_DOWN_PREPARE: case CPU_DOWN_PREPARE_FROZEN: @@ -152,5 +156,5 @@ index a8aacd4..2b4aba9 100644 break; case CPU_POST_DEAD: -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Convert-pci_config_lock-to-raw_spinlock.patch b/x86-Convert-pci_config_lock-to-raw_spinlock.patch index 73f4dad..a9573df 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 1e83c48296068dd91bb9fb22f6c74de67213b1ec Mon Sep 17 00:00:00 2001 +From dfc823e4fb7cbb9f459483e7c3204b17ab214390 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 @@ -6,6 +6,15 @@ Subject: [PATCH] x86: Convert pci_config_lock to raw_spinlock commit bde31e2e149219765bb3a4bb3c568fa9623b5521 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/pci_x86.h | 2 +- + arch/x86/pci/common.c | 2 +- + arch/x86/pci/direct.c | 16 ++++++++-------- + arch/x86/pci/mmconfig_32.c | 8 ++++---- + arch/x86/pci/numaq_32.c | 8 ++++---- + arch/x86/pci/pcbios.c | 8 ++++---- + 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/arch/x86/include/asm/pci_x86.h b/arch/x86/include/asm/pci_x86.h index 1a04223..8d8797e 100644 @@ -21,10 +30,10 @@ index 1a04223..8d8797e 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 294e10c..b41aa20 100644 +index cf2e938..215a27a 100644 --- a/arch/x86/pci/common.c +++ b/arch/x86/pci/common.c -@@ -75,7 +75,7 @@ struct pci_ops pci_root_ops = { +@@ -76,7 +76,7 @@ struct pci_ops pci_root_ops = { * This interrupt-safe spinlock protects all accesses to PCI * configuration space. */ @@ -190,10 +199,10 @@ index 8223738..5c9e245 100644 return 0; } diff --git a/arch/x86/pci/pcbios.c b/arch/x86/pci/pcbios.c -index 1c975cc..2daa521 100644 +index 59a225c..2492d16 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, +@@ -162,7 +162,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus, if (!value || (bus > 255) || (devfn > 255) || (reg > 255)) return -EINVAL; @@ -202,7 +211,7 @@ index 1c975cc..2daa521 100644 switch (len) { case 1: -@@ -212,7 +212,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus, +@@ -213,7 +213,7 @@ static int pci_bios_read(unsigned int seg, unsigned int bus, break; } @@ -211,7 +220,7 @@ index 1c975cc..2daa521 100644 return (int)((result & 0xff00) >> 8); } -@@ -227,7 +227,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, +@@ -228,7 +228,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, if ((bus > 255) || (devfn > 255) || (reg > 255)) return -EINVAL; @@ -220,7 +229,7 @@ index 1c975cc..2daa521 100644 switch (len) { case 1: -@@ -268,7 +268,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, +@@ -269,7 +269,7 @@ static int pci_bios_write(unsigned int seg, unsigned int bus, break; } @@ -230,5 +239,5 @@ index 1c975cc..2daa521 100644 return (int)((result & 0xff00) >> 8); } -- -1.7.1.1 +1.7.0.4 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 9867cbe..11a0084 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 255d5b8dab6dc68c12ac8efe9919847a5db82abd Mon Sep 17 00:00:00 2001 +From adb81348d16928a8f4856bc108706ebe2e77d911 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 @@ -39,6 +39,11 @@ Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/page_64_types.h | 21 +++++++++++++++------ + arch/x86/kernel/cpu/common.c | 2 ++ + arch/x86/kernel/dumpstack_64.c | 4 ++++ + 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/arch/x86/include/asm/page_64_types.h b/arch/x86/include/asm/page_64_types.h index 7639dbf..0ec050a 100644 @@ -87,7 +92,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 0ad9597..bd49ca5 100644 +index 272c9f1..6b61d69 100644 --- a/arch/x86/kernel/dumpstack_64.c +++ b/arch/x86/kernel/dumpstack_64.c @@ -22,10 +22,14 @@ @@ -106,5 +111,5 @@ index 0ad9597..bd49ca5 100644 #if DEBUG_STKSZ > EXCEPTION_STKSZ [ N_EXCEPTION_STACKS ... -- -1.7.1.1 +1.7.0.4 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 12766b9..496e24f 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 42ba3c84abfea57314bf01c5a228213040c384b9 Mon Sep 17 00:00:00 2001 +From 0105071129aa8df26f4e14516f26e2caa90495ef 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 @@ -9,12 +9,16 @@ Memory allocations in irq/preempt disabled regions is the main cause of grief with these features. Needs some real work to get that solved. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/Kconfig | 4 +++- + 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 8b29139..f50f8b0 100644 +index a06a01e..f9c2be1 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -289,6 +289,7 @@ config X86_X2APIC +@@ -297,6 +297,7 @@ config X86_X2APIC config SPARSE_IRQ bool "Support sparse irq numbering" depends on PCI_MSI || HT_IRQ @@ -22,7 +26,7 @@ index 8b29139..f50f8b0 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 -@@ -1906,7 +1907,7 @@ config PCI_MMCONFIG +@@ -1941,7 +1942,7 @@ config PCI_MMCONFIG config DMAR bool "Support for DMA Remapping Devices (EXPERIMENTAL)" @@ -31,7 +35,7 @@ index 8b29139..f50f8b0 100644 help DMA remapping (DMAR) devices support enables independent address translations for Direct Memory Access (DMA) from devices. -@@ -1949,6 +1950,7 @@ config DMAR_FLOPPY_WA +@@ -1984,6 +1985,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 @@ -40,5 +44,5 @@ index 8b29139..f50f8b0 100644 Supports Interrupt remapping for IO-APIC and MSI devices. To use x2apic mode in the CPU's which support x2APIC enhancements or -- -1.7.1.1 +1.7.0.4 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 d64b75b..d3afaee 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 141e2a07463caa77d10cd52b4b36e4ee77bf13a3 Mon Sep 17 00:00:00 2001 +From a1452619a6c7d1f10b5624a05e78894944ceba1f 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 @@ -10,12 +10,16 @@ migration. Do not unmask it when this is the case. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/apic/io_apic.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 53243ca..678dc18 100644 +index eb2789c..77a161a 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -2570,7 +2570,8 @@ static void ack_apic_level(unsigned int irq) +@@ -2629,7 +2629,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 */ @@ -26,5 +30,5 @@ index 53243ca..678dc18 100644 mask_IO_APIC_irq_desc(desc); } -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Don-t-disable-preemption-in-exception-handlers-w.patch b/x86-Don-t-disable-preemption-in-exception-handlers-w.patch index 97e33a2..5f5b5cc 100644 --- a/x86-Don-t-disable-preemption-in-exception-handlers-w.patch +++ b/x86-Don-t-disable-preemption-in-exception-handlers-w.patch @@ -1,4 +1,4 @@ -From 6e423533cb58215af30054d6f92c484b333ecc61 Mon Sep 17 00:00:00 2001 +From b66dd21b19108b7846b07145ceeb5bf1dabdbf5a Mon Sep 17 00:00:00 2001 From: Andi Kleen <ak@suse.de> Date: Fri, 3 Jul 2009 08:44:12 -0500 Subject: [PATCH] x86: Don't disable preemption in exception handlers without IST @@ -19,9 +19,12 @@ Signed-off-by: Andi Kleen <ak@suse.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/traps.c | 22 ++++++++++++---------- + 1 files changed, 12 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c -index 3339917..9288ccf 100644 +index 1168e44..ebba901 100644 --- a/arch/x86/kernel/traps.c +++ b/arch/x86/kernel/traps.c @@ -88,9 +88,10 @@ static inline void conditional_sti(struct pt_regs *regs) @@ -76,7 +79,7 @@ index 3339917..9288ccf 100644 } #ifdef CONFIG_X86_64 -@@ -554,7 +556,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code) +@@ -557,7 +559,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code) return; /* It's safe to allow irq's after DR6 has been saved */ @@ -85,7 +88,7 @@ index 3339917..9288ccf 100644 if (regs->flags & X86_VM_MASK) { handle_vm86_trap((struct kernel_vm86_regs *) regs, -@@ -577,7 +579,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code) +@@ -580,7 +582,7 @@ dotraplinkage void __kprobes do_debug(struct pt_regs *regs, long error_code) si_code = get_si_code(tsk->thread.debugreg6); if (tsk->thread.debugreg6 & (DR_STEP | DR_TRAP_BITS)) send_sigtrap(tsk, regs, error_code, si_code); @@ -95,5 +98,5 @@ index 3339917..9288ccf 100644 return; } -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Fix-32bit-HIGHMEM-n-compile.patch b/x86-Fix-32bit-HIGHMEM-n-compile.patch index 6fc190b..7699763 100644 --- a/x86-Fix-32bit-HIGHMEM-n-compile.patch +++ b/x86-Fix-32bit-HIGHMEM-n-compile.patch @@ -1,4 +1,4 @@ -From ddce8c9e82fddb0f93df88c7005f1df7563115b4 Mon Sep 17 00:00:00 2001 +From d53d7e29a67aec795c9f767829a0c427f0b7d11b 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 @@ -7,12 +7,17 @@ commit 70331516e2d98b6f114fa15c9a9590275f666447 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/Kconfig | 2 +- + arch/x86/mm/highmem_32.c | 42 ------------------------------------- + arch/x86/mm/iomap_32.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 52 insertions(+), 43 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 2a4c2e9..657de5d 100644 +index f9c2be1..5446fe6 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -2097,7 +2097,7 @@ endmenu +@@ -2116,7 +2116,7 @@ endmenu config HAVE_ATOMIC_IOMAP def_bool y diff --git a/x86-Fix-irq-off-tracing-for-32-bit.patch b/x86-Fix-irq-off-tracing-for-32-bit.patch index 7e1a7ed..fd65d31 100644 --- a/x86-Fix-irq-off-tracing-for-32-bit.patch +++ b/x86-Fix-irq-off-tracing-for-32-bit.patch @@ -1,4 +1,4 @@ -From 35b5256e0c4f29f334cc85aaf501ecbc8159c51f Mon Sep 17 00:00:00 2001 +From dc2ecf9dd907d38eb1a9a9e955c1fc90249095c5 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 2 Apr 2010 10:51:09 +0200 Subject: [PATCH] x86: Fix irq off tracing for 32 bit @@ -30,6 +30,10 @@ There is a TRACE_IRQ_IRET annotation missing in the preempt code path. Reported-by: John Kacur <jkacur@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/entry_32.S | 9 ++++++--- + 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S index 57d3849..3dc8593 100644 @@ -58,5 +62,5 @@ index 57d3849..3dc8593 100644 #endif CFI_ENDPROC -- -1.7.1.1 +1.7.0.4 diff --git a/x86-GTOD-offer-scalable-vgettimeofday.patch b/x86-GTOD-offer-scalable-vgettimeofday.patch index ce290e9..62a4dc3 100644 --- a/x86-GTOD-offer-scalable-vgettimeofday.patch +++ b/x86-GTOD-offer-scalable-vgettimeofday.patch @@ -1,4 +1,4 @@ -From 137118f73bcc5a97d742749627bbf72264deb785 Mon Sep 17 00:00:00 2001 +From d0f69516bc88d01e62871d8186afb79f4c900476 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 @@ -13,9 +13,13 @@ __vsyscall_gtod_data.wall_time_tv.tv_sec only once. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/vsyscall_64.c | 19 +++++++++++++++++++ + 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c -index 6520c37..00f768f 100644 +index fd70b0e..01ecd14 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c @@ -125,6 +125,25 @@ static __always_inline void do_vgettimeofday(struct timeval * tv) @@ -45,5 +49,5 @@ index 6520c37..00f768f 100644 seq = read_raw_seqbegin(&__vsyscall_gtod_data.lock); -- -1.7.1.1 +1.7.0.4 diff --git a/x86-GTOD-optimize-further.patch b/x86-GTOD-optimize-further.patch index 9d837f5..e629db0 100644 --- a/x86-GTOD-optimize-further.patch +++ b/x86-GTOD-optimize-further.patch @@ -1,4 +1,4 @@ -From 8a26b15b3b4b77376634639b5c8127899732a9d5 Mon Sep 17 00:00:00 2001 +From 09d06f7fb7fa54e1ca27569c754a81f085cb5f8c Mon Sep 17 00:00:00 2001 From: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Date: Fri, 3 Jul 2009 08:44:18 -0500 Subject: [PATCH] x86: GTOD optimize further @@ -15,9 +15,12 @@ Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/vsyscall_64.c | 35 ++++++++++++++++++++++++++++++++--- + 1 files changed, 32 insertions(+), 3 deletions(-) diff --git a/arch/x86/kernel/vsyscall_64.c b/arch/x86/kernel/vsyscall_64.c -index 00f768f..1bd8ff3 100644 +index 01ecd14..f82bcde 100644 --- a/arch/x86/kernel/vsyscall_64.c +++ b/arch/x86/kernel/vsyscall_64.c @@ -79,14 +79,41 @@ void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, @@ -83,5 +86,5 @@ index 00f768f..1bd8ff3 100644 mask = __vsyscall_gtod_data.clock.mask; mult = __vsyscall_gtod_data.clock.mult; -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Limit-32bit-PAE-memory-to-16G.patch b/x86-Limit-32bit-PAE-memory-to-16G.patch index d8933d4..439d96c 100644 --- a/x86-Limit-32bit-PAE-memory-to-16G.patch +++ b/x86-Limit-32bit-PAE-memory-to-16G.patch @@ -1,4 +1,4 @@ -From 2da92b60dd58ce7613a909165cbd84cb69217b7d Mon Sep 17 00:00:00 2001 +From 9c50553cb28d0543e983b17b515f50dc5b57d21e Mon Sep 17 00:00:00 2001 From: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Date: Thu, 9 Sep 2010 21:13:28 +0200 Subject: [PATCH] x86: Limit 32bit PAE memory to 16G @@ -20,9 +20,14 @@ Originally-From: Michal Schmidt <mschmidt@redhat.com> Signed-off-by: Clark Williams <williams@redhat.com> Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/setup.h | 1 + + arch/x86/kernel/e820.c | 11 +++++++++++ + 2 files changed, 12 insertions(+), 0 deletions(-) diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h -index 18e496c..32a748a 100644 +index 86b1506..efaa903 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h @@ -13,6 +13,7 @@ @@ -34,10 +39,10 @@ index 18e496c..32a748a 100644 #endif /* __i386__ */ diff --git a/arch/x86/kernel/e820.c b/arch/x86/kernel/e820.c -index a1a7876..5158861 100644 +index 7bca3c6..77a635e 100644 --- a/arch/x86/kernel/e820.c +++ b/arch/x86/kernel/e820.c -@@ -1136,6 +1136,17 @@ static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) +@@ -871,6 +871,17 @@ static unsigned long __init e820_end_pfn(unsigned long limit_pfn, unsigned type) if (start_pfn >= limit_pfn) continue; @@ -56,5 +61,5 @@ index a1a7876..5158861 100644 last_pfn = limit_pfn; break; -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Mark-various-interrupts-IRQF_NODELAY.patch b/x86-Mark-various-interrupts-IRQF_NODELAY.patch index 5cd65eb..65dee18 100644 --- a/x86-Mark-various-interrupts-IRQF_NODELAY.patch +++ b/x86-Mark-various-interrupts-IRQF_NODELAY.patch @@ -1,4 +1,4 @@ -From c7d884609638215515e169f39be0e8e4c6ab4190 Mon Sep 17 00:00:00 2001 +From 7ca84cc359deaa4b7626ccd1de83735941639cff 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 @@ -9,12 +9,17 @@ No forced threaded handlers for these interrupts. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/irqinit.c | 2 ++ + arch/x86/kernel/visws_quirks.c | 2 ++ + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/irqinit.c b/arch/x86/kernel/irqinit.c -index ef257fc..71ab7c0 100644 +index 0ed2d30..8815920 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) +@@ -71,6 +71,7 @@ static irqreturn_t math_error_irq(int cpl, void *dev_id) static struct irqaction fpu_irq = { .handler = math_error_irq, .name = "fpu", @@ -22,7 +27,7 @@ index ef257fc..71ab7c0 100644 }; #endif -@@ -81,6 +82,7 @@ static struct irqaction fpu_irq = { +@@ -80,6 +81,7 @@ static struct irqaction fpu_irq = { static struct irqaction irq2 = { .handler = no_action, .name = "cascade", @@ -49,5 +54,5 @@ index e680ea5..267cd7d 100644 static inline void set_piix4_virtual_irq_type(void) -- -1.7.1.1 +1.7.0.4 diff --git a/x86-No-pageattr_flush_unused-on-RT.patch b/x86-No-pageattr_flush_unused-on-RT.patch index 6558bc1..45085fc 100644 --- a/x86-No-pageattr_flush_unused-on-RT.patch +++ b/x86-No-pageattr_flush_unused-on-RT.patch @@ -1,4 +1,4 @@ -From ca5cc01ec3aab5b0dbc8337ca213319cd434b830 Mon Sep 17 00:00:00 2001 +From 479fcafa697029e839d826e563320498d4b88c74 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 @@ -7,12 +7,15 @@ commit 99fddf28a45f6c47f94fd694ae60e45e55ef4bfd in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/mm/pageattr.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86/mm/pageattr.c b/arch/x86/mm/pageattr.c -index 1d4eb93..a84a759 100644 +index 28195c3..6299eba 100644 --- a/arch/x86/mm/pageattr.c +++ b/arch/x86/mm/pageattr.c -@@ -861,8 +861,10 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, +@@ -882,8 +882,10 @@ static int change_page_attr_set_clr(unsigned long *addr, int numpages, baddr = *addr; } @@ -24,5 +27,5 @@ index 1d4eb93..a84a759 100644 vm_unmap_aliases(); -- -1.7.1.1 +1.7.0.4 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 4fbf877..e9844ce 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 5b28df58db43f29fc7d87d005243a2c1c6280425 Mon Sep 17 00:00:00 2001 +From 08079b59e65227fbc4c81476dddeb2f93257c1f9 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 @@ -7,12 +7,16 @@ commit 600b1f32140d45f06ddbe68db9788f6f59013e8b in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/i8259.c | 10 ++++++---- + 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/arch/x86/kernel/i8259.c b/arch/x86/kernel/i8259.c -index 8c93a84..96400fe 100644 +index 7c9f02c..dc600eb 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) +@@ -173,6 +173,8 @@ static void mask_and_ack_8259A(unsigned int irq) */ if (cached_irq_mask & irqmask) goto spurious_8259A_irq; @@ -21,7 +25,7 @@ index 8c93a84..96400fe 100644 cached_irq_mask |= irqmask; handle_real_irq: -@@ -328,10 +330,10 @@ void init_8259A(int auto_eoi) +@@ -333,10 +335,10 @@ static void init_8259A(int auto_eoi) /* 8259A-1 (the master) has a slave on IR2 */ outb_pic(1U << PIC_CASCADE_IR, PIC_MASTER_IMR); @@ -37,5 +41,5 @@ index 8c93a84..96400fe 100644 outb_pic(0x11, PIC_SLAVE_CMD); /* ICW1: select 8259A-2 init */ -- -1.7.1.1 +1.7.0.4 diff --git a/x86-PAE-preempt-rt-fix.patch b/x86-PAE-preempt-rt-fix.patch index 0c26efb..c54eb6b 100644 --- a/x86-PAE-preempt-rt-fix.patch +++ b/x86-PAE-preempt-rt-fix.patch @@ -1,4 +1,4 @@ -From a2244f09807502350e1b702620bd52349caad641 Mon Sep 17 00:00:00 2001 +From ef622eeb575e2911b9d3d24f7573c3f0c767a2c6 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 @@ -6,6 +6,11 @@ Subject: [PATCH] x86: PAE preempt-rt fix commit dabac300b124a630d2521f3cbf510b194f1aaba8 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/pgtable-3level.h | 2 ++ + arch/x86/mm/pgtable.c | 2 ++ + 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/arch/x86/include/asm/pgtable-3level.h b/arch/x86/include/asm/pgtable-3level.h index 177b016..0e989a1 100644 @@ -28,10 +33,10 @@ index 177b016..0e989a1 100644 #ifdef CONFIG_SMP diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c -index ed34f5e..c2ea747 100644 +index 5c4ee42..d8fa0d4 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) +@@ -154,6 +154,7 @@ void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) reserved at the pmd (PDPT) level. */ set_pud(pudp, __pud(__pa(pmd) | _PAGE_PRESENT)); @@ -39,7 +44,7 @@ index ed34f5e..c2ea747 100644 /* * According to Intel App note "TLBs, Paging-Structure Caches, * and Their Invalidation", April 2007, document 317080-001, -@@ -140,6 +141,7 @@ void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) +@@ -162,6 +163,7 @@ void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd) */ if (mm == current->active_mm) write_cr3(read_cr3()); @@ -48,5 +53,5 @@ index ed34f5e..c2ea747 100644 #else /* !CONFIG_X86_PAE */ -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Suppress-empty-cpumask-ipi-warning.patch b/x86-Suppress-empty-cpumask-ipi-warning.patch index 0cb5a87..605ce7e 100644 --- a/x86-Suppress-empty-cpumask-ipi-warning.patch +++ b/x86-Suppress-empty-cpumask-ipi-warning.patch @@ -1,4 +1,4 @@ -From 8dded56a71cdd665c603f24947e74734c7db9625 Mon Sep 17 00:00:00 2001 +From 7126bd54ea812d88568cddf3be4519e26b500ebe 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 @@ -9,6 +9,10 @@ We know already which code pathes trigger this so we can safely disable it again and just keep the early return when mask == 0. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/apic/ipi.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/apic/ipi.c b/arch/x86/kernel/apic/ipi.c index 08385e0..54e774d 100644 @@ -24,5 +28,5 @@ index 08385e0..54e774d 100644 local_irq_save(flags); -- -1.7.1.1 +1.7.0.4 diff --git a/x86-Use-generic-rwsem_spinlocks-on-rt.patch b/x86-Use-generic-rwsem_spinlocks-on-rt.patch index 424598f..84b0e40 100644 --- a/x86-Use-generic-rwsem_spinlocks-on-rt.patch +++ b/x86-Use-generic-rwsem_spinlocks-on-rt.patch @@ -1,4 +1,4 @@ -From eacdf1baeb96718095ac3f0cebc44e792653633d Mon Sep 17 00:00:00 2001 +From 98a9d115316f63b479c0dc485f6eaa57efde8595 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 @@ -9,12 +9,16 @@ Simplifies the separation of anon_rw_semaphores and rw_semaphores for -rt. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/Kconfig | 12 ++++++++++-- + 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index eb40925..0c6f553 100644 +index 9458685..555b7d4 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -124,10 +124,18 @@ config ARCH_MAY_HAVE_PC_FDC +@@ -129,10 +129,18 @@ config ARCH_MAY_HAVE_PC_FDC def_bool y config RWSEM_GENERIC_SPINLOCK @@ -36,5 +40,5 @@ index eb40925..0c6f553 100644 config ARCH_HAS_CPU_IDLE_WAIT def_bool y -- -1.7.1.1 +1.7.0.4 diff --git a/x86-apic-level-smp-affinity.patch b/x86-apic-level-smp-affinity.patch index 38c65de..7687a51 100644 --- a/x86-apic-level-smp-affinity.patch +++ b/x86-apic-level-smp-affinity.patch @@ -1,4 +1,4 @@ -From b47f200ddbd4cf1c776a3d5b87e0a6073e3861a9 Mon Sep 17 00:00:00 2001 +From dd626d90eb8dc4a8dfee6a22d2c0687e003b9d13 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 @@ -8,12 +8,15 @@ commit 526c6d2325e701c32858bd3fbddaba19b45acc96 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/apic/io_apic.c | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index fe923da..dced1f6 100644 +index 06e3e54..5d36d11 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -2665,6 +2665,16 @@ static void ack_apic_level(unsigned int irq) +@@ -2724,6 +2724,16 @@ static void ack_apic_level(unsigned int irq) move_masked_irq(irq); unmask_IO_APIC_irq_desc(desc); } @@ -31,5 +34,5 @@ index fe923da..dced1f6 100644 #ifdef CONFIG_INTR_REMAP -- -1.7.1.1 +1.7.0.4 diff --git a/x86-decouple-page-fault-logic.patch b/x86-decouple-page-fault-logic.patch index 5ab96aa..54b13fa 100644 --- a/x86-decouple-page-fault-logic.patch +++ b/x86-decouple-page-fault-logic.patch @@ -1,4 +1,4 @@ -From a1d5181886d8f3a201cfc98985dd228fd629bac4 Mon Sep 17 00:00:00 2001 +From 40edf69be7c9f8e28db5889348dfc866ceaca274 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 @@ -6,6 +6,11 @@ Subject: [PATCH] x86-decouple-page-fault-logic commit 9a55d5ea74093fb07569e05f25d8e773c9bb2993 in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/mm/fault.c | 2 +- + arch/x86/mm/iomap_32.c | 2 ++ + 2 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c index f627779..ed046ed 100644 @@ -40,5 +45,5 @@ index 84e236c..715d822 100644 } EXPORT_SYMBOL_GPL(iounmap_atomic); -- -1.7.1.1 +1.7.0.4 diff --git a/x86-decouple-pagefault-logic-in-highmem-kmap.patch b/x86-decouple-pagefault-logic-in-highmem-kmap.patch index ac86ef8..403ebf9 100644 --- a/x86-decouple-pagefault-logic-in-highmem-kmap.patch +++ b/x86-decouple-pagefault-logic-in-highmem-kmap.patch @@ -1,4 +1,4 @@ -From aba1a788bf04417b1abfbc31c2e90c223a46a726 Mon Sep 17 00:00:00 2001 +From 4d7354a9447283d80737265b50812b451f40c4d7 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 @@ -17,6 +17,10 @@ Make this explicit now - so that we can change pagefault_disable(). Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/mm/highmem_32.c | 2 ++ + 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c index c838ac8..76e0544 100644 @@ -39,5 +43,5 @@ index c838ac8..76e0544 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/x86-disable-maxcpus-ion-RT-for-now.patch b/x86-disable-maxcpus-ion-RT-for-now.patch index 9e43bfd..eb1a891 100644 --- a/x86-disable-maxcpus-ion-RT-for-now.patch +++ b/x86-disable-maxcpus-ion-RT-for-now.patch @@ -1,4 +1,4 @@ -From 09ea570437bd05ff920775576bc8f0579964e687 Mon Sep 17 00:00:00 2001 +From 0a2e9829dfe0f4ee55fa73fece5a70f0eb5a4136 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 @@ -6,12 +6,18 @@ Subject: [PATCH] x86: disable maxcpus ion RT for now commit ba18c86f5cd0d5eefa9c580320f06742188bd66b in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/Kconfig | 2 +- + arch/x86/Kconfig.debug | 1 + + lib/Kconfig | 1 + + 3 files changed, 3 insertions(+), 1 deletions(-) diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig -index 0c6f553..8b29139 100644 +index 555b7d4..a06a01e 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig -@@ -720,7 +720,7 @@ config IOMMU_API +@@ -755,7 +755,7 @@ config IOMMU_API config MAXSMP bool "Configure Maximum number of SMP Processors and NUMA Nodes" @@ -33,10 +39,10 @@ index 4fd6ace..93dc8cc 100644 ---help--- Say Y to verify that the per_cpu map being accessed has diff --git a/lib/Kconfig b/lib/Kconfig -index 97b136f..38dc31e 100644 +index 170d8ca..35e7f24 100644 --- a/lib/Kconfig +++ b/lib/Kconfig -@@ -183,6 +183,7 @@ config HAVE_LMB +@@ -186,6 +186,7 @@ config HAVE_LMB config CPUMASK_OFFSTACK bool "Force CPU masks off stack" if DEBUG_PER_CPU_MAPS @@ -45,5 +51,5 @@ index 97b136f..38dc31e 100644 Use dynamic allocation for cpumask_var_t, instead of putting them on the stack. This is a bit more expensive, but avoids -- -1.7.1.1 +1.7.0.4 diff --git a/x86-fix-preempt_enable_no_resched-usage.patch b/x86-fix-preempt_enable_no_resched-usage.patch index 7a7a941..1167f5a 100644 --- a/x86-fix-preempt_enable_no_resched-usage.patch +++ b/x86-fix-preempt_enable_no_resched-usage.patch @@ -1,4 +1,4 @@ -From 2864724534d26ca82b39f475bc98908cf2c764ae Mon Sep 17 00:00:00 2001 +From 14db40696d6e731e82f96a6410abe55b1450d663 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 @@ -8,9 +8,14 @@ commit f2905d541f2329af7ce09a2b95bfa307e5c05fb6 in tip. Triggers the missed preemption check. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/process_32.c | 2 +- + arch/x86/kernel/process_64.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 37ad1e0..e1cd13c 100644 +index f6c6266..6c911d8 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -114,7 +114,7 @@ void cpu_idle(void) @@ -23,7 +28,7 @@ index 37ad1e0..e1cd13c 100644 preempt_disable(); } diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c -index 126f0b4..781c115 100644 +index 17cb329..bf82f58 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -146,7 +146,7 @@ void cpu_idle(void) @@ -36,5 +41,5 @@ index 126f0b4..781c115 100644 preempt_disable(); } -- -1.7.1.1 +1.7.0.4 diff --git a/x86-get-user-pages-kmap-atomic-fix-32bit.patch b/x86-get-user-pages-kmap-atomic-fix-32bit.patch index 7f13812..e46106e 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 172f00812bbad3f1730c7718ee60d9d9978436b4 Mon Sep 17 00:00:00 2001 +From 65ee09cc76c422057f84cdcd6d0a88fa75546f91 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) @@ -10,6 +10,13 @@ commit 6c8a72dd4bcd3576b6a2758a9ce7e82cb39461df in tip. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/highmem.h | 8 ++++++++ + arch/x86/include/asm/pgtable_32.h | 6 ++++++ + arch/x86/include/asm/pgtable_64.h | 6 ++++-- + arch/x86/mm/gup.c | 6 +++--- + arch/x86/mm/highmem_32.c | 6 ++++++ + 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h index 8391a46..28f471b 100644 @@ -51,10 +58,10 @@ index 8391a46..28f471b 100644 #endif /* __KERNEL__ */ diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h -index 47339a1..a350daa 100644 +index 2984a25..0d16f33 100644 --- a/arch/x86/include/asm/pgtable_32.h +++ b/arch/x86/include/asm/pgtable_32.h -@@ -59,14 +59,20 @@ extern void set_pmd_pfn(unsigned long, unsigned long, pgprot_t); +@@ -58,14 +58,20 @@ extern void set_pmd_pfn(unsigned long, unsigned long, pgprot_t); #define pte_offset_map_nested(dir, address) \ ((pte_t *)kmap_atomic(pmd_page(*(dir)), KM_PTE1) + \ pte_index((address))) diff --git a/x86-highmem-Remove-leftover-function-prototypes.patch b/x86-highmem-Remove-leftover-function-prototypes.patch index 90837ff..30ed55c 100644 --- a/x86-highmem-Remove-leftover-function-prototypes.patch +++ b/x86-highmem-Remove-leftover-function-prototypes.patch @@ -1,4 +1,4 @@ -From ece0525b9743b514d160f005f406350cdb76ba1b Mon Sep 17 00:00:00 2001 +From ddc5344debf71571d7fa582f17247f6422275eb1 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 9 Oct 2009 20:51:54 +0200 Subject: [PATCH] x86: highmem: Remove leftover function prototypes @@ -9,6 +9,10 @@ RT replaces kmap_atomic* functions with macros, but we kept the function prototypes around. Remove them. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/highmem.h | 7 ------- + 1 files changed, 0 insertions(+), 7 deletions(-) diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h index 28f471b..91bc9f6 100644 diff --git a/x86-highmem-Replace-BUG_ON-by-WARN_ON.patch b/x86-highmem-Replace-BUG_ON-by-WARN_ON.patch index 5bb9de1..bf3f420 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 8a350158acf9d03525e949969faf22cb818f6b8e Mon Sep 17 00:00:00 2001 +From faa2bd9b96a6ee38a635cc61e27fcd415fbf8beb 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 @@ -10,6 +10,10 @@ which allows us to get more information about the problem. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/mm/highmem_32.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/x86/mm/highmem_32.c b/arch/x86/mm/highmem_32.c index 63a6ba6..c838ac8 100644 @@ -25,5 +29,5 @@ index 63a6ba6..c838ac8 100644 return (void *)vaddr; -- -1.7.1.1 +1.7.0.4 diff --git a/x86-ioapic-lock-section-fix.patch b/x86-ioapic-lock-section-fix.patch index 67c39a1..ac60bea 100644 --- a/x86-ioapic-lock-section-fix.patch +++ b/x86-ioapic-lock-section-fix.patch @@ -1,4 +1,4 @@ -From 948e9c201377b4a627951a020aa9df25be6f44d1 Mon Sep 17 00:00:00 2001 +From 2f70759299451603f37a0e014f05a3553421d140 Mon Sep 17 00:00:00 2001 From: Ingo Molnar <mingo@elte.hu> Date: Fri, 3 Jul 2009 08:44:44 -0500 Subject: [PATCH] x86: ioapic lock section fix @@ -8,12 +8,15 @@ commit 7af93a8c480198ed9cb994ebe4d2d0dc1a235494 in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/apic/io_apic.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c -index 4df458b..7554876 100644 +index 77a161a..06e3e54 100644 --- a/arch/x86/kernel/apic/io_apic.c +++ b/arch/x86/kernel/apic/io_apic.c -@@ -3256,7 +3256,6 @@ unsigned int create_irq_nr(unsigned int irq_want, int node) +@@ -3267,7 +3267,6 @@ unsigned int create_irq_nr(unsigned int irq_want, int node) if (irq_want < nr_irqs_gsi) irq_want = nr_irqs_gsi; @@ -21,7 +24,7 @@ index 4df458b..7554876 100644 for (new = irq_want; new < nr_irqs; new++) { desc_new = irq_to_desc_alloc_node(new, node); if (!desc_new) { -@@ -3268,14 +3267,15 @@ unsigned int create_irq_nr(unsigned int irq_want, int node) +@@ -3279,14 +3278,15 @@ unsigned int create_irq_nr(unsigned int irq_want, int node) if (cfg_new->vector != 0) continue; @@ -39,5 +42,5 @@ index 4df458b..7554876 100644 if (irq > 0) dynamic_irq_init_keep_chip_data(irq); -- -1.7.1.1 +1.7.0.4 diff --git a/x86-kprobes-Fix-missed-preemptions.patch b/x86-kprobes-Fix-missed-preemptions.patch index 74c20a3..8ee83a5 100644 --- a/x86-kprobes-Fix-missed-preemptions.patch +++ b/x86-kprobes-Fix-missed-preemptions.patch @@ -1,4 +1,4 @@ -From fdf53c05e5e9f7a48bd637fde223565ae472f5fa Mon Sep 17 00:00:00 2001 +From e9b2acffc0f367e77f0e3cedc628ed86a5486a9f 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: kprobes: Fix missed preemptions @@ -12,9 +12,12 @@ reason. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/kprobes.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/kprobes.c b/arch/x86/kernel/kprobes.c -index b43bbae..d973852 100644 +index 1658efd..f8b1035 100644 --- a/arch/x86/kernel/kprobes.c +++ b/arch/x86/kernel/kprobes.c @@ -468,7 +468,7 @@ static void __kprobes setup_singlestep(struct kprobe *p, struct pt_regs *regs, @@ -26,7 +29,7 @@ index b43bbae..d973852 100644 return; } #endif -@@ -587,7 +587,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) +@@ -586,7 +586,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) } } /* else: not a kprobe fault; let the kernel handle it */ @@ -35,7 +38,7 @@ index b43bbae..d973852 100644 return 0; } -@@ -893,7 +893,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) +@@ -892,7 +892,7 @@ static int __kprobes post_kprobe_handler(struct pt_regs *regs) } reset_current_kprobe(); out: @@ -44,7 +47,7 @@ index b43bbae..d973852 100644 /* * if somebody else is singlestepping across a probe point, flags -@@ -927,7 +927,7 @@ int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) +@@ -926,7 +926,7 @@ int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) restore_previous_kprobe(kcb); else reset_current_kprobe(); @@ -53,7 +56,7 @@ index b43bbae..d973852 100644 break; case KPROBE_HIT_ACTIVE: case KPROBE_HIT_SSDONE: -@@ -1074,7 +1074,7 @@ int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs) +@@ -1073,7 +1073,7 @@ int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs) memcpy((kprobe_opcode_t *)(kcb->jprobe_saved_sp), kcb->jprobes_stack, MIN_STACK_SIZE(kcb->jprobe_saved_sp)); @@ -63,5 +66,5 @@ index b43bbae..d973852 100644 } return 0; -- -1.7.1.1 +1.7.0.4 diff --git a/x86-mce-Convert-cmci_discover_lock-to-raw_spinlock.patch b/x86-mce-Convert-cmci_discover_lock-to-raw_spinlock.patch index 3834599..1e5dbac 100644 --- a/x86-mce-Convert-cmci_discover_lock-to-raw_spinlock.patch +++ b/x86-mce-Convert-cmci_discover_lock-to-raw_spinlock.patch @@ -1,4 +1,4 @@ -From 5706af4a7052a5048f3e4a2cbc65ee66c71bdfa8 Mon Sep 17 00:00:00 2001 +From db371439c09395b2129b7816e0371e0d4d0b9d28 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 15 Jul 2010 14:28:02 +0200 Subject: [PATCH] x86: mce: Convert cmci_discover_lock to raw_spinlock @@ -9,12 +9,16 @@ cmci_discover_lock() is taken in atomic contexts (cpu bring up). Convert it to a raw_spinlock. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/cpu/mcheck/mce_intel.c | 10 +++++----- + 1 files changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel.c b/arch/x86/kernel/cpu/mcheck/mce_intel.c -index 7c78563..10c063d 100644 +index 62b48e4..2745f43 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_intel.c +++ b/arch/x86/kernel/cpu/mcheck/mce_intel.c -@@ -27,7 +27,7 @@ static DEFINE_PER_CPU(mce_banks_t, mce_banks_owned); +@@ -28,7 +28,7 @@ static DEFINE_PER_CPU(mce_banks_t, mce_banks_owned); * cmci_discover_lock protects against parallel discovery attempts * which could race against each other. */ @@ -23,7 +27,7 @@ index 7c78563..10c063d 100644 #define CMCI_THRESHOLD 1 -@@ -84,7 +84,7 @@ static void cmci_discover(int banks, int boot) +@@ -85,7 +85,7 @@ static void cmci_discover(int banks, int boot) int hdr = 0; int i; @@ -32,7 +36,7 @@ index 7c78563..10c063d 100644 for (i = 0; i < banks; i++) { u64 val; -@@ -114,7 +114,7 @@ static void cmci_discover(int banks, int boot) +@@ -115,7 +115,7 @@ static void cmci_discover(int banks, int boot) WARN_ON(!test_bit(i, __get_cpu_var(mce_poll_banks))); } } @@ -41,7 +45,7 @@ index 7c78563..10c063d 100644 if (hdr) printk(KERN_CONT "\n"); } -@@ -148,7 +148,7 @@ void cmci_clear(void) +@@ -149,7 +149,7 @@ void cmci_clear(void) if (!cmci_supported(&banks)) return; @@ -50,7 +54,7 @@ index 7c78563..10c063d 100644 for (i = 0; i < banks; i++) { if (!test_bit(i, __get_cpu_var(mce_banks_owned))) continue; -@@ -158,7 +158,7 @@ void cmci_clear(void) +@@ -159,7 +159,7 @@ void cmci_clear(void) wrmsrl(MSR_IA32_MCx_CTL2(i), val); __clear_bit(i, __get_cpu_var(mce_banks_owned)); } @@ -60,5 +64,5 @@ index 7c78563..10c063d 100644 /* -- -1.7.1.1 +1.7.0.4 diff --git a/x86-mmu-gather-fixups.patch b/x86-mmu-gather-fixups.patch index f39bc51..a6741de 100644 --- a/x86-mmu-gather-fixups.patch +++ b/x86-mmu-gather-fixups.patch @@ -1,4 +1,4 @@ -From 9d924a65290570874795b4fd1d753cea533dce64 Mon Sep 17 00:00:00 2001 +From 2c9268e62de07fb5d5e070848e0f71e5ae429f37 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 @@ -7,12 +7,16 @@ commit 6a781e481548e435f451dde48c59117c378c1c7e in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/mm/init.c | 2 -- + 1 files changed, 0 insertions(+), 2 deletions(-) diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c -index d406c52..9a69721 100644 +index b278535..7431aeb 100644 --- a/arch/x86/mm/init.c +++ b/arch/x86/mm/init.c -@@ -14,8 +14,6 @@ +@@ -15,8 +15,6 @@ #include <asm/tlb.h> #include <asm/proto.h> @@ -22,5 +26,5 @@ index d406c52..9a69721 100644 unsigned long __meminitdata e820_table_end; unsigned long __meminitdata e820_table_top; -- -1.7.1.1 +1.7.0.4 diff --git a/x86-preempt-rt-preparatory-patches-32bit.patch b/x86-preempt-rt-preparatory-patches-32bit.patch index dca3490..9dfb216 100644 --- a/x86-preempt-rt-preparatory-patches-32bit.patch +++ b/x86-preempt-rt-preparatory-patches-32bit.patch @@ -1,4 +1,4 @@ -From 523033e3bc5966318ba09c8064c22e5b2ccb04bf Mon Sep 17 00:00:00 2001 +From 90df58eba67ab6b9db8116fed17eab6cbdebf222 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) @@ -11,12 +11,26 @@ tip merges, 570f410b and 5f854cfc] Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/Kconfig | 5 ++++ + arch/x86/Kconfig.debug | 1 + + arch/x86/include/asm/highmem.h | 27 +++++++++++++++++++++++++ + arch/x86/include/asm/tlbflush.h | 22 ++++++++++++++++++++ + arch/x86/include/asm/xor_32.h | 19 +++++++++++++++- + arch/x86/kernel/dumpstack_32.c | 6 +++++ + arch/x86/kernel/head_32.S | 1 + + arch/x86/kernel/process_32.c | 6 +++- + arch/x86/kernel/vm86_32.c | 1 + + arch/x86/mm/fault.c | 1 + + arch/x86/mm/highmem_32.c | 42 +++++++++++++++++++++++++++++--------- + arch/x86/pci/direct.c | 29 +++++++++++++++++--------- + 12 files changed, 136 insertions(+), 24 deletions(-) diff --git a/arch/Kconfig b/arch/Kconfig -index 9d055b4..4c3c06a 100644 +index e5eb133..c1dc67c 100644 --- a/arch/Kconfig +++ b/arch/Kconfig -@@ -46,6 +46,11 @@ config OPROFILE_EVENT_MULTIPLEX +@@ -30,6 +30,11 @@ config OPROFILE_EVENT_MULTIPLEX config HAVE_OPROFILE bool @@ -41,7 +55,7 @@ index bc01e3e..4fd6ace 100644 If you say Y here the kernel will use a 4Kb stacksize for the kernel stack attached to each process/thread. This facilitates diff --git a/arch/x86/include/asm/highmem.h b/arch/x86/include/asm/highmem.h -index 014c2b8..d1c2886 100644 +index a726650..bfe5531 100644 --- a/arch/x86/include/asm/highmem.h +++ b/arch/x86/include/asm/highmem.h @@ -58,6 +58,16 @@ extern void *kmap_high(struct page *page); @@ -61,7 +75,7 @@ index 014c2b8..d1c2886 100644 void kunmap(struct page *page); void *kmap_atomic_prot(struct page *page, enum km_type type, pgprot_t prot); void *kmap_atomic(struct page *page, enum km_type type); -@@ -75,6 +85,23 @@ struct page *kmap_atomic_to_page(void *ptr); +@@ -71,6 +81,23 @@ struct page *kmap_atomic_to_page(void *ptr); extern void add_highpages_with_active_regions(int nid, unsigned long start_pfn, unsigned long end_pfn); @@ -163,10 +177,10 @@ index 133b40a..7a6aa68 100644 #endif /* _ASM_X86_XOR_32_H */ diff --git a/arch/x86/kernel/dumpstack_32.c b/arch/x86/kernel/dumpstack_32.c -index ae775ca..04078f1 100644 +index 11540a1..652002f 100644 --- a/arch/x86/kernel/dumpstack_32.c +++ b/arch/x86/kernel/dumpstack_32.c -@@ -98,6 +98,12 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs, +@@ -93,6 +93,12 @@ show_stack_log_lvl(struct task_struct *task, struct pt_regs *regs, } @@ -180,7 +194,7 @@ index ae775ca..04078f1 100644 { int i; diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S -index 7fd318b..4fabb36 100644 +index 37c3d4b..c46e9c2 100644 --- a/arch/x86/kernel/head_32.S +++ b/arch/x86/kernel/head_32.S @@ -596,6 +596,7 @@ ignore_int: @@ -192,7 +206,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..525df46 100644 +index 6c911d8..84d72dc 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) @@ -380,5 +394,5 @@ index bd33620..2cc4115 100644 return works; } -- -1.7.1.1 +1.7.0.4 diff --git a/x86-preempt-rt-preparatory-patches-for-x86-32bit.patch b/x86-preempt-rt-preparatory-patches-for-x86-32bit.patch index a8d59a0..748815e 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 ebbaadeea9405cf653e0db3ebc626d189c96280e Mon Sep 17 00:00:00 2001 +From 23b388c973772e1e5fa418e211ebfb2d4c018dbf 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) @@ -12,6 +12,15 @@ See upstream 0199c4e68d1f02894bdefe4b5d9e9ee4aedd8d62 and Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/tlbflush.h | 2 ++ + arch/x86/kernel/apic/nmi.c | 2 ++ + arch/x86/kernel/early_printk.c | 2 +- + arch/x86/kernel/head64.c | 6 +++++- + arch/x86/kernel/process_64.c | 4 +++- + arch/x86/kernel/signal.c | 7 +++++++ + arch/x86/kernel/smp.c | 10 ++++++++++ + 7 files changed, 30 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/tlbflush.h b/arch/x86/include/asm/tlbflush.h index 7f3eba0..2601600 100644 @@ -28,10 +37,10 @@ index 7f3eba0..2601600 100644 static inline void __native_flush_tlb_global(void) diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c -index 51bc6a6..818a18b 100644 +index 1edaf15..4e41ae6 100644 --- a/arch/x86/kernel/apic/nmi.c +++ b/arch/x86/kernel/apic/nmi.c -@@ -91,7 +91,9 @@ static inline unsigned int get_timer_irqs(int cpu) +@@ -92,7 +92,9 @@ static inline unsigned int get_timer_irqs(int cpu) */ static __init void nmi_cpu_busy(void *data) { @@ -55,7 +64,7 @@ index b9c830c..3c5a9e0 100644 va_list ap; diff --git a/arch/x86/kernel/head64.c b/arch/x86/kernel/head64.c -index b5a9896..8e77347 100644 +index 7147143..cd0ef70 100644 --- a/arch/x86/kernel/head64.c +++ b/arch/x86/kernel/head64.c @@ -30,7 +30,11 @@ static void __init zap_identity_mappings(void) @@ -72,7 +81,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 781c115..bb62edf 100644 +index bf82f58..3f90c51 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -146,9 +146,11 @@ void cpu_idle(void) @@ -107,10 +116,10 @@ index 4fd173c..fccd2c8 100644 * We want the common case to go fast, which is why we may in certain * cases get here from kernel mode. Just return without doing anything diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c -index ec1de97..a83e38d 100644 +index d801210..0b04e39 100644 --- a/arch/x86/kernel/smp.c +++ b/arch/x86/kernel/smp.c -@@ -120,6 +120,16 @@ static void native_smp_send_reschedule(int cpu) +@@ -121,6 +121,16 @@ static void native_smp_send_reschedule(int cpu) apic->send_IPI_mask(cpumask_of(cpu), RESCHEDULE_VECTOR); } @@ -128,5 +137,5 @@ index ec1de97..a83e38d 100644 { apic->send_IPI_mask(cpumask_of(cpu), CALL_FUNCTION_SINGLE_VECTOR); -- -1.7.1.1 +1.7.0.4 diff --git a/x86-preempt-rt-scheduling-support-32bit.patch b/x86-preempt-rt-scheduling-support-32bit.patch index 4d8ae3a..21eb412 100644 --- a/x86-preempt-rt-scheduling-support-32bit.patch +++ b/x86-preempt-rt-scheduling-support-32bit.patch @@ -1,4 +1,4 @@ -From f885634adab8347527f902b8b54abc17cb9991d7 Mon Sep 17 00:00:00 2001 +From d8a3bd2c5bef6c27b0e09c2f00b911643d8d2da1 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) @@ -7,6 +7,11 @@ commit 94b3cbf2548a023b4187e252043eac367f84740c in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/entry_32.S | 13 +++++-------- + arch/x86/kernel/process_32.c | 4 +++- + 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S index 44a8e0d..57d3849 100644 @@ -45,7 +50,7 @@ index 44a8e0d..57d3849 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 489cb0e..46f5881 100644 +index 52f61f4..4cc4757 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -112,10 +112,12 @@ void cpu_idle(void) @@ -63,5 +68,5 @@ index 489cb0e..46f5881 100644 } -- -1.7.1.1 +1.7.0.4 diff --git a/x86-remove-idle-check-pgt-cache-calls.patch b/x86-remove-idle-check-pgt-cache-calls.patch index c1d619f..e0e9f5a 100644 --- a/x86-remove-idle-check-pgt-cache-calls.patch +++ b/x86-remove-idle-check-pgt-cache-calls.patch @@ -1,4 +1,4 @@ -From 345976594d2182a84bfc407a08813c44f08bbf66 Mon Sep 17 00:00:00 2001 +From bd222d04e96e982bb5688fd09eaaba78a87e5614 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 @@ -7,9 +7,13 @@ commit 42cd561b099de734b16c92b7e29f418f0d62daad in tip. Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/kernel/process_32.c | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c -index 525df46..489cb0e 100644 +index 84d72dc..52f61f4 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -101,7 +101,6 @@ void cpu_idle(void) @@ -21,5 +25,5 @@ index 525df46..489cb0e 100644 if (cpu_is_offline(cpu)) -- -1.7.1.1 +1.7.0.4 diff --git a/x86-stackprotector-Avoid-random-pool-on-rt.patch b/x86-stackprotector-Avoid-random-pool-on-rt.patch index 424dce3..3d18cc9 100644 --- a/x86-stackprotector-Avoid-random-pool-on-rt.patch +++ b/x86-stackprotector-Avoid-random-pool-on-rt.patch @@ -1,4 +1,4 @@ -From 5fed714f43c07bb622426ccc4de8c8c7500cb148 Mon Sep 17 00:00:00 2001 +From 21658bee55743220faf7044fdeb0421881b8d41c Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Thu, 16 Dec 2010 14:25:18 +0100 Subject: [PATCH] x86: stackprotector: Avoid random pool on rt @@ -15,6 +15,10 @@ entropy and we rely on the TSC randomnness. Reported-by: Carsten Emde <carsten.emde@osadl.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/x86/include/asm/stackprotector.h | 10 +++++++++- + 1 files changed, 9 insertions(+), 1 deletions(-) diff --git a/arch/x86/include/asm/stackprotector.h b/arch/x86/include/asm/stackprotector.h index 1575177..4cf440f 100644 @@ -47,5 +51,5 @@ index 1575177..4cf440f 100644 canary += tsc + (tsc << 32UL); -- -1.7.1.1 +1.7.0.4 diff --git a/xfs-Add-missing-rw_semaphore-annotation-in-ASSERT.patch b/xfs-Add-missing-rw_semaphore-annotation-in-ASSERT.patch index 54d5f74..903bcff 100644 --- a/xfs-Add-missing-rw_semaphore-annotation-in-ASSERT.patch +++ b/xfs-Add-missing-rw_semaphore-annotation-in-ASSERT.patch @@ -1,4 +1,4 @@ -From 4e99db3861388e6bb49a84cf6aa599cbe1e4804d Mon Sep 17 00:00:00 2001 +From 63fc4dd4959e6ecadf757d79eb3f942d79357462 Mon Sep 17 00:00:00 2001 From: Alessio Igor Bogani <abogani@texware.it> Date: Mon, 22 Feb 2010 22:33:42 +0100 Subject: [PATCH] xfs: Add missing rw_semaphore annotation in ASSERT @@ -15,12 +15,16 @@ make[2]: *** [fs/xfs/linux-2.6/xfs_super.o] Error 1 Signed-off-by: Alessio Igor Bogani <abogani@texware.it> LKML-Reference: <1266874422-3200-1-git-send-email-abogani@texware.it> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/xfs/linux-2.6/xfs_super.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_super.c b/fs/xfs/linux-2.6/xfs_super.c -index 77414db..5eddd6f 100644 +index 29f1edc..49dcf3b 100644 --- a/fs/xfs/linux-2.6/xfs_super.c +++ b/fs/xfs/linux-2.6/xfs_super.c -@@ -1110,7 +1110,7 @@ xfs_fs_clear_inode( +@@ -1159,7 +1159,7 @@ xfs_fs_clear_inode( * (and basically indicate what we are doing), we explicitly * re-init the iolock here. */ @@ -30,5 +34,5 @@ index 77414db..5eddd6f 100644 xfs_inactive(ip); -- -1.7.1.1 +1.7.0.4 diff --git a/xfs-Convert-mr_lock-to-rw_anon_semaphore.patch b/xfs-Convert-mr_lock-to-rw_anon_semaphore.patch index e210daa..2665225 100644 --- a/xfs-Convert-mr_lock-to-rw_anon_semaphore.patch +++ b/xfs-Convert-mr_lock-to-rw_anon_semaphore.patch @@ -1,4 +1,4 @@ -From f20b3284acb500658675610d8030c89c21067fd7 Mon Sep 17 00:00:00 2001 +From 31abc6ad174c240204ce3809151359a321753956 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 to rw_anon_semaphore @@ -13,6 +13,9 @@ 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 | 14 +++++++------- + 1 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fs/xfs/linux-2.6/mrlock.h b/fs/xfs/linux-2.6/mrlock.h index ff6a198..f55cf5b 100644 @@ -73,5 +76,5 @@ index ff6a198..f55cf5b 100644 #endif /* __XFS_SUPPORT_MRLOCK_H__ */ -- -1.7.1 +1.7.0.4 diff --git a/xfs-semaphore-cleanup.patch b/xfs-semaphore-cleanup.patch index 9095053..39adfed 100644 --- a/xfs-semaphore-cleanup.patch +++ b/xfs-semaphore-cleanup.patch @@ -1,4 +1,4 @@ -From c5afd9e2f7eb81a77d19cea263528d42d8ea171e Mon Sep 17 00:00:00 2001 +From dee0085178658ca4e3547b5558f235b2f29a79fc 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 @@ -10,12 +10,16 @@ obvious semantics. Make it a real semaphore. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Christoph Hellwig <hch@lst.de> +Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + fs/xfs/linux-2.6/xfs_buf.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c -index 77b8be8..ddd2fc2 100644 +index 44c2b0e..845f9a3 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c -@@ -236,7 +236,7 @@ _xfs_buf_initialize( +@@ -189,7 +189,7 @@ _xfs_buf_initialize( init_completion(&bp->b_iowait); INIT_LIST_HEAD(&bp->b_list); INIT_LIST_HEAD(&bp->b_hash_list); @@ -25,5 +29,5 @@ index 77b8be8..ddd2fc2 100644 bp->b_target = target; bp->b_file_offset = range_base; -- -1.7.1.1 +1.7.0.4 diff --git a/xtime_lock-Convert-to-raw_seqlock.patch b/xtime_lock-Convert-to-raw_seqlock.patch index 81ce5f2..a66255c 100644 --- a/xtime_lock-Convert-to-raw_seqlock.patch +++ b/xtime_lock-Convert-to-raw_seqlock.patch @@ -1,4 +1,4 @@ -From 5bb559ca1c58dae2a7a58a9e02e92a45cf83582f Mon Sep 17 00:00:00 2001 +From c396e6ba197a71720ef982d9479dcf6201a35727 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 @@ -9,6 +9,30 @@ Convert xtime_lock to raw_seqlock and fix up all users. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> +--- + arch/alpha/kernel/time.c | 4 +- + arch/arm/kernel/time.c | 12 +++++----- + arch/blackfin/kernel/time.c | 4 +- + arch/frv/kernel/time.c | 4 +- + arch/h8300/kernel/time.c | 4 +- + arch/ia64/kernel/time.c | 8 +++--- + arch/ia64/xen/time.c | 4 +- + arch/m32r/kernel/time.c | 4 +- + arch/m68knommu/kernel/time.c | 4 +- + arch/mn10300/kernel/time.c | 4 +- + arch/parisc/kernel/time.c | 4 +- + arch/powerpc/kernel/time.c | 4 +- + arch/sparc/kernel/pcic.c | 4 +- + arch/sparc/kernel/time_32.c | 4 +- + arch/xtensa/kernel/time.c | 4 +- + include/linux/time.h | 2 +- + kernel/hrtimer.c | 8 +++--- + kernel/time.c | 8 +++--- + kernel/time/ntp.c | 8 +++--- + kernel/time/tick-common.c | 8 +++--- + kernel/time/tick-sched.c | 12 +++++----- + kernel/time/timekeeping.c | 51 ++++++++++++++++++++--------------------- + 22 files changed, 84 insertions(+), 85 deletions(-) diff --git a/arch/alpha/kernel/time.c b/arch/alpha/kernel/time.c index 5d08266..760dd1b 100644 @@ -270,10 +294,10 @@ index 05511cc..1a9b471 100644 return IRQ_HANDLED; diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c -index 1b16b9a..63bb409 100644 +index 0441bbd..3e07fde 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c -@@ -1051,7 +1051,7 @@ void __init time_init(void) +@@ -1087,7 +1087,7 @@ void __init time_init(void) /* Save the current timebase to pretty up CONFIG_PRINTK_TIME */ boot_tb = get_tb_or_rtc(); @@ -282,7 +306,7 @@ index 1b16b9a..63bb409 100644 /* If platform provided a timezone (pmac), we correct the time */ if (timezone_offset) { -@@ -1065,7 +1065,7 @@ void __init time_init(void) +@@ -1101,7 +1101,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; @@ -397,10 +421,10 @@ index 0086628..54cf84f 100644 base = &__get_cpu_var(hrtimer_bases); diff --git a/kernel/time.c b/kernel/time.c -index 8047980..adbe583 100644 +index 656dccf..2562903 100644 --- a/kernel/time.c +++ b/kernel/time.c -@@ -133,11 +133,11 @@ SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv, +@@ -132,11 +132,11 @@ SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv, */ static inline void warp_clock(void) { @@ -414,7 +438,7 @@ index 8047980..adbe583 100644 clock_was_set(); } -@@ -699,9 +699,9 @@ u64 get_jiffies_64(void) +@@ -698,9 +698,9 @@ u64 get_jiffies_64(void) u64 ret; do { @@ -550,7 +574,7 @@ index f992762..bc625d9 100644 if (rcu_needs_cpu(cpu) || printk_needs_cpu(cpu) || arch_needs_cpu(cpu)) { diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c -index 1673637..73373a3 100644 +index 39f6177..93daab9 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c @@ -135,8 +135,7 @@ static inline s64 timekeeping_get_ns_raw(void) @@ -720,7 +744,7 @@ index 1673637..73373a3 100644 clockevents_notify(CLOCK_EVT_NOTIFY_SUSPEND, NULL); clocksource_suspend(); -@@ -910,10 +909,10 @@ struct timespec current_kernel_time(void) +@@ -911,10 +910,10 @@ struct timespec current_kernel_time(void) unsigned long seq; do { @@ -733,7 +757,7 @@ index 1673637..73373a3 100644 return now; } -@@ -925,11 +924,11 @@ struct timespec get_monotonic_coarse(void) +@@ -926,11 +925,11 @@ struct timespec get_monotonic_coarse(void) unsigned long seq; do { @@ -748,5 +772,5 @@ index 1673637..73373a3 100644 set_normalized_timespec(&now, now.tv_sec + mono.tv_sec, now.tv_nsec + mono.tv_nsec); -- -1.7.1.1 +1.7.0.4 |