Namespace kernel version macros
[lttng-modules.git] / include / wrapper / atomic.h
CommitLineData
b7cdc182 1/* SPDX-License-Identifier: (GPL-2.0-only OR LGPL-2.1-only)
9f36eaed 2 *
505fb410
MD
3 * wrapper/atomic.h
4 *
5 * wrapper around linux/atomic.h.
6 *
7 * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
505fb410
MD
8 */
9
9f36eaed
MJ
10#ifndef _LTTNG_WRAPPER_ATOMIC_H
11#define _LTTNG_WRAPPER_ATOMIC_H
12
5f4c791e 13#include <lttng/kernel-version.h>
505fb410
MD
14#include <linux/atomic.h>
15
5f4c791e 16#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,16,0))
505fb410
MD
17static inline void lttng_smp_mb__before_atomic(void)
18{
19 smp_mb__before_atomic();
20}
21
22static inline void lttng_smp_mb__after_atomic(void)
23{
24 smp_mb__after_atomic();
25}
5f4c791e 26#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,16,0)) */
505fb410
MD
27static inline void lttng_smp_mb__before_atomic(void)
28{
29 smp_mb__before_atomic_inc();
30}
31
32static inline void lttng_smp_mb__after_atomic(void)
33{
34 smp_mb__after_atomic_inc();
35}
5f4c791e 36#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,16,0)) */
505fb410
MD
37
38#endif /* _LTTNG_WRAPPER_ATOMIC_H */
This page took 0.039357 seconds and 4 git commands to generate.