Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/include/asm-generic/barrier.h
26292 views
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 ([email protected])
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
42