/* SPDX-License-Identifier: GPL-2.0 */
#include <linux/compiler.h>
#if defined (__i386__) || defined (__x86_64__)
#include "../../arch/x86/include/asm/barrier.h"
#elif defined (__arm__)
#include "../../arch/arm/include/asm/barrier.h"
#elif defined (__aarch64__)
#include "../../arch/arm64/include/asm/barrier.h"
#elif defined (__powerpc__)
#include "../../arch/powerpc/include/asm/barrier.h"
#elif defined (__riscv)
#include "../../arch/riscv/include/asm/barrier.h"
#elif defined (__s390__)
#include "../../arch/s390/include/asm/barrier.h"
#elif defined (__sh__)
#include "../../arch/sh/include/asm/barrier.h"
#elif defined (__sparc__)
#include "../../arch/sparc/include/asm/barrier.h"
#elif defined (__tile__)
#include "../../arch/tile/include/asm/barrier.h"
#elif defined (__alpha__)
#include "../../arch/alpha/include/asm/barrier.h"
#elif defined (__mips__)
#include "../../arch/mips/include/asm/barrier.h"
#elif defined (__ia64__)
#include "../../arch/ia64/include/asm/barrier.h"
#elif defined (__xtensa__)
#include "../../arch/xtensa/include/asm/barrier.h"
#else
#include <asm-generic/barrier.h>
#endif
/*
* Generic fallback smp_*() definitions for archs that haven't
* been updated yet.
*/
#ifndef smp_rmb
# define smp_rmb() rmb()
#endif
#ifndef smp_wmb
# define smp_wmb() wmb()
#endif
#ifndef smp_mb
# define smp_mb() mb()
#endif
#ifndef smp_store_release
# define smp_store_release(p, v) \
do { \
smp_mb(); \
WRITE_ONCE(*p, v); \
} while (0)
#endif
#ifndef smp_load_acquire
# define smp_load_acquire(p) \
({ \
typeof(*p) ___p1 = READ_ONCE(*p); \
smp_mb(); \
___p1; \
})
#endif
Messung V0.5 C=97 H=75 G=86
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet)
¤
*© Formatika GbR, Deutschland