diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-03 15:14:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-07-03 15:14:18 -0400 |
commit | 892ad5acca0b2ddb514fae63fa4686bf726d2471 (patch) | |
tree | 9945b41e6552c0b6b9b1b5b0ffb77f2f15857671 /tools/include/linux/compiler.h | |
parent | 162b246eb420d2ca2002a50917c897b10c9aba09 (diff) | |
parent | 5d6dec6fba38c3e2d408df108bb92ef4ac201f18 (diff) |
Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull locking updates from Ingo Molnar:
"The main changes in this cycle were:
- Add CONFIG_REFCOUNT_FULL=y to allow the disabling of the 'full'
(robustness checked) refcount_t implementation with slightly lower
runtime overhead. (Kees Cook)
The lighter weight variant is the default. The two variants use the
same API. Having this variant was a precondition by some
maintainers to merge refcount_t cleanups.
- Add lockdep support for rtmutexes (Peter Zijlstra)
- liblockdep fixes and improvements (Sasha Levin, Ben Hutchings)
- ... misc fixes and improvements"
* 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
locking/refcount: Remove the half-implemented refcount_sub() API
locking/refcount: Create unchecked atomic_t implementation
locking/rtmutex: Don't initialize lockdep when not required
locking/selftest: Add RT-mutex support
locking/selftest: Remove the bad unlock ordering test
rt_mutex: Add lockdep annotations
MAINTAINERS: Claim atomic*_t maintainership
locking/x86: Remove the unused atomic_inc_short() methd
tools/lib/lockdep: Remove private kernel headers
tools/lib/lockdep: Hide liblockdep output from test results
tools/lib/lockdep: Add dummy current_gfp_context()
tools/include: Add IS_ERR_OR_NULL to err.h
tools/lib/lockdep: Add empty __is_[module,kernel]_percpu_address
tools/lib/lockdep: Include err.h
tools/include: Add (mostly) empty include/linux/sched/mm.h
tools/lib/lockdep: Use LDFLAGS
tools/lib/lockdep: Remove double-quotes from soname
tools/lib/lockdep: Fix object file paths used in an out-of-tree build
tools/lib/lockdep: Fix compilation for 4.11
tools/lib/lockdep: Don't mix fd-based and stream IO
...
Diffstat (limited to 'tools/include/linux/compiler.h')
-rw-r--r-- | tools/include/linux/compiler.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/tools/include/linux/compiler.h b/tools/include/linux/compiler.h index 23299d7e7160..ef6ab908a42f 100644 --- a/tools/include/linux/compiler.h +++ b/tools/include/linux/compiler.h | |||
@@ -45,6 +45,10 @@ | |||
45 | # define __maybe_unused __attribute__((unused)) | 45 | # define __maybe_unused __attribute__((unused)) |
46 | #endif | 46 | #endif |
47 | 47 | ||
48 | #ifndef __used | ||
49 | # define __used __attribute__((__unused__)) | ||
50 | #endif | ||
51 | |||
48 | #ifndef __packed | 52 | #ifndef __packed |
49 | # define __packed __attribute__((__packed__)) | 53 | # define __packed __attribute__((__packed__)) |
50 | #endif | 54 | #endif |
@@ -65,6 +69,14 @@ | |||
65 | # define unlikely(x) __builtin_expect(!!(x), 0) | 69 | # define unlikely(x) __builtin_expect(!!(x), 0) |
66 | #endif | 70 | #endif |
67 | 71 | ||
72 | #ifndef __init | ||
73 | # define __init | ||
74 | #endif | ||
75 | |||
76 | #ifndef noinline | ||
77 | # define noinline | ||
78 | #endif | ||
79 | |||
68 | #define uninitialized_var(x) x = *(&(x)) | 80 | #define uninitialized_var(x) x = *(&(x)) |
69 | 81 | ||
70 | #define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x)) | 82 | #define ACCESS_ONCE(x) (*(volatile typeof(x) *)&(x)) |