Merge branch 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu
Pull percpu changes from Tejun Heo: "Two smallish changes for percpu. Two patches to remove unused this_cpu_xor() and one to fix a bug in percpu init failure path so that it can reach the proper BUG() instead of oopsing earlier" * 'for-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu: x86: remove this_cpu_xor() implementation percpu: remove this_cpu_xor() implementation percpu: fix bootmem error handling in pcpu_page_first_chunk()
This commit is contained in:
commit
c08acff054
3 changed files with 3 additions and 42 deletions
|
@ -378,9 +378,6 @@ do { \
|
||||||
#define __this_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val)
|
#define __this_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define __this_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val)
|
#define __this_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define __this_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val)
|
#define __this_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define __this_cpu_xor_1(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define __this_cpu_xor_2(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define __this_cpu_xor_4(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define __this_cpu_xchg_1(pcp, val) percpu_xchg_op(pcp, val)
|
#define __this_cpu_xchg_1(pcp, val) percpu_xchg_op(pcp, val)
|
||||||
#define __this_cpu_xchg_2(pcp, val) percpu_xchg_op(pcp, val)
|
#define __this_cpu_xchg_2(pcp, val) percpu_xchg_op(pcp, val)
|
||||||
#define __this_cpu_xchg_4(pcp, val) percpu_xchg_op(pcp, val)
|
#define __this_cpu_xchg_4(pcp, val) percpu_xchg_op(pcp, val)
|
||||||
|
@ -400,9 +397,6 @@ do { \
|
||||||
#define this_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val)
|
#define this_cpu_or_1(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define this_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val)
|
#define this_cpu_or_2(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define this_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val)
|
#define this_cpu_or_4(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define this_cpu_xor_1(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define this_cpu_xor_2(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define this_cpu_xor_4(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define this_cpu_xchg_1(pcp, nval) percpu_xchg_op(pcp, nval)
|
#define this_cpu_xchg_1(pcp, nval) percpu_xchg_op(pcp, nval)
|
||||||
#define this_cpu_xchg_2(pcp, nval) percpu_xchg_op(pcp, nval)
|
#define this_cpu_xchg_2(pcp, nval) percpu_xchg_op(pcp, nval)
|
||||||
#define this_cpu_xchg_4(pcp, nval) percpu_xchg_op(pcp, nval)
|
#define this_cpu_xchg_4(pcp, nval) percpu_xchg_op(pcp, nval)
|
||||||
|
@ -447,7 +441,6 @@ do { \
|
||||||
#define __this_cpu_add_8(pcp, val) percpu_add_op((pcp), val)
|
#define __this_cpu_add_8(pcp, val) percpu_add_op((pcp), val)
|
||||||
#define __this_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val)
|
#define __this_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val)
|
||||||
#define __this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val)
|
#define __this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define __this_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define __this_cpu_add_return_8(pcp, val) percpu_add_return_op(pcp, val)
|
#define __this_cpu_add_return_8(pcp, val) percpu_add_return_op(pcp, val)
|
||||||
#define __this_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval)
|
#define __this_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval)
|
||||||
#define __this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval)
|
#define __this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval)
|
||||||
|
@ -457,7 +450,6 @@ do { \
|
||||||
#define this_cpu_add_8(pcp, val) percpu_add_op((pcp), val)
|
#define this_cpu_add_8(pcp, val) percpu_add_op((pcp), val)
|
||||||
#define this_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val)
|
#define this_cpu_and_8(pcp, val) percpu_to_op("and", (pcp), val)
|
||||||
#define this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val)
|
#define this_cpu_or_8(pcp, val) percpu_to_op("or", (pcp), val)
|
||||||
#define this_cpu_xor_8(pcp, val) percpu_to_op("xor", (pcp), val)
|
|
||||||
#define this_cpu_add_return_8(pcp, val) percpu_add_return_op(pcp, val)
|
#define this_cpu_add_return_8(pcp, val) percpu_add_return_op(pcp, val)
|
||||||
#define this_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval)
|
#define this_cpu_xchg_8(pcp, nval) percpu_xchg_op(pcp, nval)
|
||||||
#define this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval)
|
#define this_cpu_cmpxchg_8(pcp, oval, nval) percpu_cmpxchg_op(pcp, oval, nval)
|
||||||
|
|
|
@ -375,22 +375,6 @@ do { \
|
||||||
# define this_cpu_or(pcp, val) __pcpu_size_call(this_cpu_or_, (pcp), (val))
|
# define this_cpu_or(pcp, val) __pcpu_size_call(this_cpu_or_, (pcp), (val))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef this_cpu_xor
|
|
||||||
# ifndef this_cpu_xor_1
|
|
||||||
# define this_cpu_xor_1(pcp, val) _this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# ifndef this_cpu_xor_2
|
|
||||||
# define this_cpu_xor_2(pcp, val) _this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# ifndef this_cpu_xor_4
|
|
||||||
# define this_cpu_xor_4(pcp, val) _this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# ifndef this_cpu_xor_8
|
|
||||||
# define this_cpu_xor_8(pcp, val) _this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# define this_cpu_xor(pcp, val) __pcpu_size_call(this_cpu_or_, (pcp), (val))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define _this_cpu_generic_add_return(pcp, val) \
|
#define _this_cpu_generic_add_return(pcp, val) \
|
||||||
({ \
|
({ \
|
||||||
typeof(pcp) ret__; \
|
typeof(pcp) ret__; \
|
||||||
|
@ -629,22 +613,6 @@ do { \
|
||||||
# define __this_cpu_or(pcp, val) __pcpu_size_call(__this_cpu_or_, (pcp), (val))
|
# define __this_cpu_or(pcp, val) __pcpu_size_call(__this_cpu_or_, (pcp), (val))
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef __this_cpu_xor
|
|
||||||
# ifndef __this_cpu_xor_1
|
|
||||||
# define __this_cpu_xor_1(pcp, val) __this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# ifndef __this_cpu_xor_2
|
|
||||||
# define __this_cpu_xor_2(pcp, val) __this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# ifndef __this_cpu_xor_4
|
|
||||||
# define __this_cpu_xor_4(pcp, val) __this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# ifndef __this_cpu_xor_8
|
|
||||||
# define __this_cpu_xor_8(pcp, val) __this_cpu_generic_to_op((pcp), (val), ^=)
|
|
||||||
# endif
|
|
||||||
# define __this_cpu_xor(pcp, val) __pcpu_size_call(__this_cpu_xor_, (pcp), (val))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define __this_cpu_generic_add_return(pcp, val) \
|
#define __this_cpu_generic_add_return(pcp, val) \
|
||||||
({ \
|
({ \
|
||||||
__this_cpu_add(pcp, val); \
|
__this_cpu_add(pcp, val); \
|
||||||
|
|
|
@ -1706,8 +1706,9 @@ int __init pcpu_embed_first_chunk(size_t reserved_size, size_t dyn_size,
|
||||||
|
|
||||||
out_free_areas:
|
out_free_areas:
|
||||||
for (group = 0; group < ai->nr_groups; group++)
|
for (group = 0; group < ai->nr_groups; group++)
|
||||||
free_fn(areas[group],
|
if (areas[group])
|
||||||
ai->groups[group].nr_units * ai->unit_size);
|
free_fn(areas[group],
|
||||||
|
ai->groups[group].nr_units * ai->unit_size);
|
||||||
out_free:
|
out_free:
|
||||||
pcpu_free_alloc_info(ai);
|
pcpu_free_alloc_info(ai);
|
||||||
if (areas)
|
if (areas)
|
||||||
|
|
Loading…
Reference in a new issue