Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm/allocpercpu.c: make 4 functions static

This patch makes the following needlessly global functions static:
- percpu_depopulate()
- __percpu_depopulate_mask()
- percpu_populate()
- __percpu_populate_mask()

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Acked-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Adrian Bunk and committed by
Linus Torvalds
9d8fddfb 9e5c6da7

+11 -38
-29
include/linux/percpu.h
··· 74 74 (__typeof__(ptr))__p->ptrs[(cpu)]; \ 75 75 }) 76 76 77 - extern void *percpu_populate(void *__pdata, size_t size, gfp_t gfp, int cpu); 78 - extern void percpu_depopulate(void *__pdata, int cpu); 79 - extern int __percpu_populate_mask(void *__pdata, size_t size, gfp_t gfp, 80 - cpumask_t *mask); 81 - extern void __percpu_depopulate_mask(void *__pdata, cpumask_t *mask); 82 77 extern void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask); 83 78 extern void percpu_free(void *__pdata); 84 79 85 80 #else /* CONFIG_SMP */ 86 81 87 82 #define percpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); }) 88 - 89 - static inline void percpu_depopulate(void *__pdata, int cpu) 90 - { 91 - } 92 - 93 - static inline void __percpu_depopulate_mask(void *__pdata, cpumask_t *mask) 94 - { 95 - } 96 - 97 - static inline void *percpu_populate(void *__pdata, size_t size, gfp_t gfp, 98 - int cpu) 99 - { 100 - return percpu_ptr(__pdata, cpu); 101 - } 102 - 103 - static inline int __percpu_populate_mask(void *__pdata, size_t size, gfp_t gfp, 104 - cpumask_t *mask) 105 - { 106 - return 0; 107 - } 108 83 109 84 static __always_inline void *__percpu_alloc_mask(size_t size, gfp_t gfp, cpumask_t *mask) 110 85 { ··· 93 118 94 119 #endif /* CONFIG_SMP */ 95 120 96 - #define percpu_populate_mask(__pdata, size, gfp, mask) \ 97 - __percpu_populate_mask((__pdata), (size), (gfp), &(mask)) 98 - #define percpu_depopulate_mask(__pdata, mask) \ 99 - __percpu_depopulate_mask((__pdata), &(mask)) 100 121 #define percpu_alloc_mask(size, gfp, mask) \ 101 122 __percpu_alloc_mask((size), (gfp), &(mask)) 102 123
+11 -9
mm/allocpercpu.c
··· 18 18 * Depopulating per-cpu data for a cpu going offline would be a typical 19 19 * use case. You need to register a cpu hotplug handler for that purpose. 20 20 */ 21 - void percpu_depopulate(void *__pdata, int cpu) 21 + static void percpu_depopulate(void *__pdata, int cpu) 22 22 { 23 23 struct percpu_data *pdata = __percpu_disguise(__pdata); 24 24 25 25 kfree(pdata->ptrs[cpu]); 26 26 pdata->ptrs[cpu] = NULL; 27 27 } 28 - EXPORT_SYMBOL_GPL(percpu_depopulate); 29 28 30 29 /** 31 30 * percpu_depopulate_mask - depopulate per-cpu data for some cpu's 32 31 * @__pdata: per-cpu data to depopulate 33 32 * @mask: depopulate per-cpu data for cpu's selected through mask bits 34 33 */ 35 - void __percpu_depopulate_mask(void *__pdata, cpumask_t *mask) 34 + static void __percpu_depopulate_mask(void *__pdata, cpumask_t *mask) 36 35 { 37 36 int cpu; 38 37 for_each_cpu_mask_nr(cpu, *mask) 39 38 percpu_depopulate(__pdata, cpu); 40 39 } 41 - EXPORT_SYMBOL_GPL(__percpu_depopulate_mask); 40 + 41 + #define percpu_depopulate_mask(__pdata, mask) \ 42 + __percpu_depopulate_mask((__pdata), &(mask)) 42 43 43 44 /** 44 45 * percpu_populate - populate per-cpu data for given cpu ··· 52 51 * use case. You need to register a cpu hotplug handler for that purpose. 53 52 * Per-cpu object is populated with zeroed buffer. 54 53 */ 55 - void *percpu_populate(void *__pdata, size_t size, gfp_t gfp, int cpu) 54 + static void *percpu_populate(void *__pdata, size_t size, gfp_t gfp, int cpu) 56 55 { 57 56 struct percpu_data *pdata = __percpu_disguise(__pdata); 58 57 int node = cpu_to_node(cpu); ··· 69 68 pdata->ptrs[cpu] = kzalloc(size, gfp); 70 69 return pdata->ptrs[cpu]; 71 70 } 72 - EXPORT_SYMBOL_GPL(percpu_populate); 73 71 74 72 /** 75 73 * percpu_populate_mask - populate per-cpu data for more cpu's ··· 79 79 * 80 80 * Per-cpu objects are populated with zeroed buffers. 81 81 */ 82 - int __percpu_populate_mask(void *__pdata, size_t size, gfp_t gfp, 83 - cpumask_t *mask) 82 + static int __percpu_populate_mask(void *__pdata, size_t size, gfp_t gfp, 83 + cpumask_t *mask) 84 84 { 85 85 cpumask_t populated; 86 86 int cpu; ··· 94 94 cpu_set(cpu, populated); 95 95 return 0; 96 96 } 97 - EXPORT_SYMBOL_GPL(__percpu_populate_mask); 97 + 98 + #define percpu_populate_mask(__pdata, size, gfp, mask) \ 99 + __percpu_populate_mask((__pdata), (size), (gfp), &(mask)) 98 100 99 101 /** 100 102 * percpu_alloc_mask - initial setup of per-cpu data