mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 02:39:48 +00:00
s390/percpu: implement this_cpu_add_return()
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
28634a07d3
commit
ba6f5c2a8d
1 changed files with 8 additions and 2 deletions
|
@ -20,7 +20,7 @@
|
|||
#endif
|
||||
|
||||
#define arch_this_cpu_to_op(pcp, val, op) \
|
||||
do { \
|
||||
({ \
|
||||
typedef typeof(pcp) pcp_op_T__; \
|
||||
pcp_op_T__ old__, new__, prev__; \
|
||||
pcp_op_T__ *ptr__; \
|
||||
|
@ -39,13 +39,19 @@ do { \
|
|||
} \
|
||||
} while (prev__ != old__); \
|
||||
preempt_enable(); \
|
||||
} while (0)
|
||||
new__; \
|
||||
})
|
||||
|
||||
#define this_cpu_add_1(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
#define this_cpu_add_2(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
#define this_cpu_add_4(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
#define this_cpu_add_8(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
|
||||
#define this_cpu_add_return_1(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
#define this_cpu_add_return_2(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
#define this_cpu_add_return_4(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
#define this_cpu_add_return_8(pcp, val) arch_this_cpu_to_op(pcp, val, +)
|
||||
|
||||
#define this_cpu_and_1(pcp, val) arch_this_cpu_to_op(pcp, val, &)
|
||||
#define this_cpu_and_2(pcp, val) arch_this_cpu_to_op(pcp, val, &)
|
||||
#define this_cpu_and_4(pcp, val) arch_this_cpu_to_op(pcp, val, &)
|
||||
|
|
Loading…
Reference in a new issue