History

Merge branch 'for-3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu

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

Linus Torvalds committed 14 years ago

Commit f5c10182 parents c54894c 641b69525 files · +69 −124Browse files

Showing the changes to include (2 of 25 files). Show all

Unified · Split

2 files
  1. include/linux/percpu.h +0 −54
  2. include/linux/topology.h +2 −2
include/linux/percpu.h+0−54
@@ -165,60 +165,6 @@ extern phys_addr_t per_cpu_ptr_to_phys(void *addr); · 164 unmodified lines
165#define alloc_percpu(type) \165#define alloc_percpu(type) \
166 (typeof(type) __percpu *)__alloc_percpu(sizeof(type), __alignof__(type))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) \
192do { \
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 * Branching function to split up a function into a set of functions that169 * Branching function to split up a function into a set of functions that
224 * are called for different scalar sizes of the objects handled.170 * are called for different scalar sizes of the objects handled.
include/linux/topology.h+2−2
@@ -239,7 +239,7 @@ static inline int cpu_to_node(int cpu) · 238 unmodified lines
239#ifndef set_numa_node239#ifndef set_numa_node
240static inline void set_numa_node(int node)240static 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#endif244#endif
245 245
@@ -274,7 +274,7 @@ DECLARE_PER_CPU(int, _numa_mem_); · 28 unmodified lines
274#ifndef set_numa_mem274#ifndef set_numa_mem
275static inline void set_numa_mem(int node)275static 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#endif279#endif
280 280

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t