diff options
author | Vegard Nossum <vegard.nossum@oracle.com> | 2017-02-27 17:30:07 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-27 21:43:48 -0500 |
commit | f1f1007644ffc8051a4c11427d58b1967ae7b75a (patch) | |
tree | e7e590cb1baa494b963d81b967a3f98d3c56f33e /arch/sparc | |
parent | 522b837c672eba9e9fb69f9f52bced0256dc6697 (diff) |
mm: add new mmgrab() helper
Apart from adding the helper function itself, the rest of the kernel is
converted mechanically using:
git grep -l 'atomic_inc.*mm_count' | xargs sed -i 's/atomic_inc(&\(.*\)->mm_count);/mmgrab\(\1\);/'
git grep -l 'atomic_inc.*mm_count' | xargs sed -i 's/atomic_inc(&\(.*\)\.mm_count);/mmgrab\(\&\1\);/'
This is needed for a later patch that hooks into the helper, but might
be a worthwhile cleanup on its own.
(Michal Hocko provided most of the kerneldoc comment.)
Link: http://lkml.kernel.org/r/20161218123229.22952-1-vegard.nossum@oracle.com
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Acked-by: Michal Hocko <mhocko@suse.com>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/kernel/leon_smp.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/sun4d_smp.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/sun4m_smp.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/traps_32.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/traps_64.c | 2 |
6 files changed, 6 insertions, 6 deletions
diff --git a/arch/sparc/kernel/leon_smp.c b/arch/sparc/kernel/leon_smp.c index 71e16f2241c2..b99d33797e1d 100644 --- a/arch/sparc/kernel/leon_smp.c +++ b/arch/sparc/kernel/leon_smp.c | |||
@@ -93,7 +93,7 @@ void leon_cpu_pre_online(void *arg) | |||
93 | : "memory" /* paranoid */); | 93 | : "memory" /* paranoid */); |
94 | 94 | ||
95 | /* Attach to the address space of init_task. */ | 95 | /* Attach to the address space of init_task. */ |
96 | atomic_inc(&init_mm.mm_count); | 96 | mmgrab(&init_mm); |
97 | current->active_mm = &init_mm; | 97 | current->active_mm = &init_mm; |
98 | 98 | ||
99 | while (!cpumask_test_cpu(cpuid, &smp_commenced_mask)) | 99 | while (!cpumask_test_cpu(cpuid, &smp_commenced_mask)) |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 90a02cb64e20..8e3e13924594 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -122,7 +122,7 @@ void smp_callin(void) | |||
122 | current_thread_info()->new_child = 0; | 122 | current_thread_info()->new_child = 0; |
123 | 123 | ||
124 | /* Attach to the address space of init_task. */ | 124 | /* Attach to the address space of init_task. */ |
125 | atomic_inc(&init_mm.mm_count); | 125 | mmgrab(&init_mm); |
126 | current->active_mm = &init_mm; | 126 | current->active_mm = &init_mm; |
127 | 127 | ||
128 | /* inform the notifiers about the new cpu */ | 128 | /* inform the notifiers about the new cpu */ |
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index 9d98e5002a09..7b55c50eabe5 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c | |||
@@ -93,7 +93,7 @@ void sun4d_cpu_pre_online(void *arg) | |||
93 | show_leds(cpuid); | 93 | show_leds(cpuid); |
94 | 94 | ||
95 | /* Attach to the address space of init_task. */ | 95 | /* Attach to the address space of init_task. */ |
96 | atomic_inc(&init_mm.mm_count); | 96 | mmgrab(&init_mm); |
97 | current->active_mm = &init_mm; | 97 | current->active_mm = &init_mm; |
98 | 98 | ||
99 | local_ops->cache_all(); | 99 | local_ops->cache_all(); |
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index 278c40abce82..633c4cf6fdb0 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c | |||
@@ -59,7 +59,7 @@ void sun4m_cpu_pre_online(void *arg) | |||
59 | : "memory" /* paranoid */); | 59 | : "memory" /* paranoid */); |
60 | 60 | ||
61 | /* Attach to the address space of init_task. */ | 61 | /* Attach to the address space of init_task. */ |
62 | atomic_inc(&init_mm.mm_count); | 62 | mmgrab(&init_mm); |
63 | current->active_mm = &init_mm; | 63 | current->active_mm = &init_mm; |
64 | 64 | ||
65 | while (!cpumask_test_cpu(cpuid, &smp_commenced_mask)) | 65 | while (!cpumask_test_cpu(cpuid, &smp_commenced_mask)) |
diff --git a/arch/sparc/kernel/traps_32.c b/arch/sparc/kernel/traps_32.c index 4f21df7d4f13..ecddac5a4c96 100644 --- a/arch/sparc/kernel/traps_32.c +++ b/arch/sparc/kernel/traps_32.c | |||
@@ -448,7 +448,7 @@ void trap_init(void) | |||
448 | thread_info_offsets_are_bolixed_pete(); | 448 | thread_info_offsets_are_bolixed_pete(); |
449 | 449 | ||
450 | /* Attach to the address space of init_task. */ | 450 | /* Attach to the address space of init_task. */ |
451 | atomic_inc(&init_mm.mm_count); | 451 | mmgrab(&init_mm); |
452 | current->active_mm = &init_mm; | 452 | current->active_mm = &init_mm; |
453 | 453 | ||
454 | /* NOTE: Other cpus have this done as they are started | 454 | /* NOTE: Other cpus have this done as they are started |
diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c index dfc97a47c9a0..e022d7b00390 100644 --- a/arch/sparc/kernel/traps_64.c +++ b/arch/sparc/kernel/traps_64.c | |||
@@ -2837,6 +2837,6 @@ void __init trap_init(void) | |||
2837 | /* Attach to the address space of init_task. On SMP we | 2837 | /* Attach to the address space of init_task. On SMP we |
2838 | * do this in smp.c:smp_callin for other cpus. | 2838 | * do this in smp.c:smp_callin for other cpus. |
2839 | */ | 2839 | */ |
2840 | atomic_inc(&init_mm.mm_count); | 2840 | mmgrab(&init_mm); |
2841 | current->active_mm = &init_mm; | 2841 | current->active_mm = &init_mm; |
2842 | } | 2842 | } |