summaryrefslogtreecommitdiffstats
path: root/extras/recipes-kernel/linux/linux-omap/linus/0002-ARM-smp-avoid-incrementing-mm_users-on-CPU-startup.patch
diff options
context:
space:
mode:
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.patch32
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 @@
1From d7bbfe094baebc1515d3919a1e886fcfa655ff5a Mon Sep 17 00:00:00 2001
2From: Russell King <rmk+kernel@arm.linux.org.uk>
3Date: Sat, 18 Dec 2010 13:57:00 +0000
4Subject: [PATCH 02/65] ARM: smp: avoid incrementing mm_users on CPU startup
5
6We should not be incrementing mm_users when we startup a secondary
7CPU - doing so results in mm_users incrementing by one each time we
8hotplug a CPU, which will eventually wrap, and will cause problems.
9
10Other architectures such as x86 do not increment mm_users, but only
11mm_count, so we follow that pattern.
12
13Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
14---
15 arch/arm/kernel/smp.c | 1 -
16 1 files changed, 0 insertions(+), 1 deletions(-)
17
18diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
19index 8c19595..9066473 100644
20--- a/arch/arm/kernel/smp.c
21+++ b/arch/arm/kernel/smp.c
22@@ -310,7 +310,6 @@ asmlinkage void __cpuinit secondary_start_kernel(void)
23 * All kernel threads share the same mm context; grab a
24 * reference and switch to it.
25 */
26- atomic_inc(&mm->mm_users);
27 atomic_inc(&mm->mm_count);
28 current->active_mm = mm;
29 cpumask_set_cpu(cpu, mm_cpumask(mm));
30--
311.6.6.1
32