Pull percpu updates from Tejun Heo: "Contains Alex Shi's three patches to remove percpu_xxx() which overlap with this_cpu_xxx(). There shouldn't be any functional change." * 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: percpu: remove percpu_xxx() functions x86: replace percpu_xxx funcs with this_cpu_xxx net: replace percpu_xxx funcs with this_cpu_xxx or __this_cpu_xxx
Showing the changes to include (2 of 25 files). Show all
Unified · Split
| @@ -165,60 +165,6 @@ extern phys_addr_t per_cpu_ptr_to_phys(void *addr); · 164 unmodified lines | ||
| 165 | 165 | #define alloc_percpu(type) \ |
| 166 | 166 | (typeof(type) __percpu *)__alloc_percpu(sizeof(type), __alignof__(type)) |
| 167 | 167 | |
| 168 | −/* | |
| 169 | − * Optional methods for optimized non-lvalue per-cpu variable access. | |
| 170 | − * | |
| 171 | − * @var can be a percpu variable or a field of it and its size should | |
| 172 | − * equal char, int or long. percpu_read() evaluates to a lvalue and | |
| 173 | − * all others to void. | |
| 174 | − * | |
| 175 | − * These operations are guaranteed to be atomic. | |
| 176 | − * The generic versions disable interrupts. Archs are | |
| 177 | − * encouraged to implement single-instruction alternatives which don't | |
| 178 | − * require protection. | |
| 179 | − */ | |
| 180 | −#ifndef percpu_read | |
| 181 | −# define percpu_read(var) \ | |
| 182 | − ({ \ | |
| 183 | − typeof(var) *pr_ptr__ = &(var); \ | |
| 184 | − typeof(var) pr_ret__; \ | |
| 185 | − pr_ret__ = get_cpu_var(*pr_ptr__); \ | |
| 186 | − put_cpu_var(*pr_ptr__); \ | |
| 187 | − pr_ret__; \ | |
| 188 | − }) | |
| 189 | −#endif | |
| 190 | − | |
| 191 | −#define __percpu_generic_to_op(var, val, op) \ | |
| 192 | −do { \ | |
| 193 | − typeof(var) *pgto_ptr__ = &(var); \ | |
| 194 | − get_cpu_var(*pgto_ptr__) op val; \ | |
| 195 | − put_cpu_var(*pgto_ptr__); \ | |
| 196 | −} while (0) | |
| 197 | − | |
| 198 | −#ifndef percpu_write | |
| 199 | −# define percpu_write(var, val) __percpu_generic_to_op(var, (val), =) | |
| 200 | −#endif | |
| 201 | − | |
| 202 | −#ifndef percpu_add | |
| 203 | −# define percpu_add(var, val) __percpu_generic_to_op(var, (val), +=) | |
| 204 | −#endif | |
| 205 | − | |
| 206 | −#ifndef percpu_sub | |
| 207 | −# define percpu_sub(var, val) __percpu_generic_to_op(var, (val), -=) | |
| 208 | −#endif | |
| 209 | − | |
| 210 | −#ifndef percpu_and | |
| 211 | −# define percpu_and(var, val) __percpu_generic_to_op(var, (val), &=) | |
| 212 | −#endif | |
| 213 | − | |
| 214 | −#ifndef percpu_or | |
| 215 | −# define percpu_or(var, val) __percpu_generic_to_op(var, (val), |=) | |
| 216 | −#endif | |
| 217 | − | |
| 218 | −#ifndef percpu_xor | |
| 219 | −# define percpu_xor(var, val) __percpu_generic_to_op(var, (val), ^=) | |
| 220 | −#endif | |
| 221 | − | |
| 222 | 168 | /* |
| 223 | 169 | * Branching function to split up a function into a set of functions that |
| 224 | 170 | * are called for different scalar sizes of the objects handled. |
| @@ -239,7 +239,7 @@ static inline int cpu_to_node(int cpu) · 238 unmodified lines | ||
| 239 | 239 | #ifndef set_numa_node |
| 240 | 240 | static inline void set_numa_node(int node) |
| 241 | 241 | { |
| 242 | − percpu_write(numa_node, node); | |
| 242 | + this_cpu_write(numa_node, node); | |
| 243 | 243 | } |
| 244 | 244 | #endif |
| 245 | 245 | |
| @@ -274,7 +274,7 @@ DECLARE_PER_CPU(int, _numa_mem_); · 28 unmodified lines | ||
| 274 | 274 | #ifndef set_numa_mem |
| 275 | 275 | static inline void set_numa_mem(int node) |
| 276 | 276 | { |
| 277 | − percpu_write(_numa_mem_, node); | |
| 277 | + this_cpu_write(_numa_mem_, node); | |
| 278 | 278 | } |
| 279 | 279 | #endif |
| 280 | 280 | |