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 @@ | |||
1 | From d7bbfe094baebc1515d3919a1e886fcfa655ff5a Mon Sep 17 00:00:00 2001 | ||
2 | From: Russell King <rmk+kernel@arm.linux.org.uk> | ||
3 | Date: Sat, 18 Dec 2010 13:57:00 +0000 | ||
4 | Subject: [PATCH 02/65] ARM: smp: avoid incrementing mm_users on CPU startup | ||
5 | |||
6 | We should not be incrementing mm_users when we startup a secondary | ||
7 | CPU - doing so results in mm_users incrementing by one each time we | ||
8 | hotplug a CPU, which will eventually wrap, and will cause problems. | ||
9 | |||
10 | Other architectures such as x86 do not increment mm_users, but only | ||
11 | mm_count, so we follow that pattern. | ||
12 | |||
13 | Signed-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 | |||
18 | diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c | ||
19 | index 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 | -- | ||
31 | 1.6.6.1 | ||
32 | |||