diff options
Diffstat (limited to 'extras/recipes-kernel/linux/linux-omap/linus/0002-ARM-smp-avoid-incrementing-mm_users-on-CPU-startup.patch')
-rw-r--r-- | extras/recipes-kernel/linux/linux-omap/linus/0002-ARM-smp-avoid-incrementing-mm_users-on-CPU-startup.patch | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/extras/recipes-kernel/linux/linux-omap/linus/0002-ARM-smp-avoid-incrementing-mm_users-on-CPU-startup.patch b/extras/recipes-kernel/linux/linux-omap/linus/0002-ARM-smp-avoid-incrementing-mm_users-on-CPU-startup.patch new file mode 100644 index 00000000..19b1a6c6 --- /dev/null +++ b/extras/recipes-kernel/linux/linux-omap/linus/0002-ARM-smp-avoid-incrementing-mm_users-on-CPU-startup.patch @@ -0,0 +1,32 @@ +From d7bbfe094baebc1515d3919a1e886fcfa655ff5a Mon Sep 17 00:00:00 2001 +From: Russell King <rmk+kernel@arm.linux.org.uk> +Date: Sat, 18 Dec 2010 13:57:00 +0000 +Subject: [PATCH 02/65] ARM: smp: avoid incrementing mm_users on CPU startup + +We should not be incrementing mm_users when we startup a secondary +CPU - doing so results in mm_users incrementing by one each time we +hotplug a CPU, which will eventually wrap, and will cause problems. + +Other architectures such as x86 do not increment mm_users, but only +mm_count, so we follow that pattern. + +Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> +--- + arch/arm/kernel/smp.c | 1 - + 1 files changed, 0 insertions(+), 1 deletions(-) + +diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c +index 8c19595..9066473 100644 +--- a/arch/arm/kernel/smp.c ++++ b/arch/arm/kernel/smp.c +@@ -310,7 +310,6 @@ asmlinkage void __cpuinit secondary_start_kernel(void) + * All kernel threads share the same mm context; grab a + * reference and switch to it. + */ +- atomic_inc(&mm->mm_users); + atomic_inc(&mm->mm_count); + current->active_mm = mm; + cpumask_set_cpu(cpu, mm_cpumask(mm)); +-- +1.6.6.1 + |