barrier.h (892B)
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 */