linux/tools/include/asm-generic/barrier.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * Copied from the kernel sources to tools/perf/:
   4 *
   5 * Generic barrier definitions.
   6 *
   7 * It should be possible to use these on really simple architectures,
   8 * but it serves more as a starting point for new ports.
   9 *
  10 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
  11 * Written by David Howells (dhowells@redhat.com)
  12 */
  13#ifndef __TOOLS_LINUX_ASM_GENERIC_BARRIER_H
  14#define __TOOLS_LINUX_ASM_GENERIC_BARRIER_H
  15
  16#ifndef __ASSEMBLY__
  17
  18#include <linux/compiler.h>
  19
  20/*
  21 * Force strict CPU ordering. And yes, this is required on UP too when we're
  22 * talking to devices.
  23 *
  24 * Fall back to compiler barriers if nothing better is provided.
  25 */
  26
  27#ifndef mb
  28#define mb()    barrier()
  29#endif
  30
  31#ifndef rmb
  32#define rmb()   mb()
  33#endif
  34
  35#ifndef wmb
  36#define wmb()   mb()
  37#endif
  38
  39#endif /* !__ASSEMBLY__ */
  40#endif /* __TOOLS_LINUX_ASM_GENERIC_BARRIER_H */
  41