diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-20 15:52:55 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2017-02-20 15:52:55 -0500 |
commit | 828cad8ea05d194d8a9452e0793261c2024c23a2 (patch) | |
tree | 0ad7c7e044cdcfe75d78da0b52eb2358d4686e02 /include/linux/mutex.h | |
parent | 60c906bab124a0627fba04c9ca5e61bba4747c0c (diff) | |
parent | bb3bac2ca9a3a5b7fa601781adf70167a0449d75 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar:
"The main changes in this (fairly busy) cycle were:
- There was a class of scheduler bugs related to forgetting to update
the rq-clock timestamp which can cause weird and hard to debug
problems, so there's a new debug facility for this: which uncovered
a whole lot of bugs which convinced us that we want to keep the
debug facility.
(Peter Zijlstra, Matt Fleming)
- Various cputime related updates: eliminate cputime and use u64
nanoseconds directly, simplify and improve the arch interfaces,
implement delayed accounting more widely, etc. - (Frederic
Weisbecker)
- Move code around for better structure plus cleanups (Ingo Molnar)
- Move IO schedule accounting deeper into the scheduler plus related
changes to improve the situation (Tejun Heo)
- ... plus a round of sched/rt and sched/deadline fixes, plus other
fixes, updats and cleanups"
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (85 commits)
sched/core: Remove unlikely() annotation from sched_move_task()
sched/autogroup: Rename auto_group.[ch] to autogroup.[ch]
sched/topology: Split out scheduler topology code from core.c into topology.c
sched/core: Remove unnecessary #include headers
sched/rq_clock: Consolidate the ordering of the rq_clock methods
delayacct: Include <uapi/linux/taskstats.h>
sched/core: Clean up comments
sched/rt: Show the 'sched_rr_timeslice' SCHED_RR timeslice tuning knob in milliseconds
sched/clock: Add dummy clear_sched_clock_stable() stub function
sched/cputime: Remove generic asm headers
sched/cputime: Remove unused nsec_to_cputime()
s390, sched/cputime: Remove unused cputime definitions
powerpc, sched/cputime: Remove unused cputime definitions
s390, sched/cputime: Make arch_cpu_idle_time() to return nsecs
ia64, sched/cputime: Remove unused cputime definitions
ia64: Convert vtime to use nsec units directly
ia64, sched/cputime: Move the nsecs based cputime headers to the last arch using it
sched/cputime: Remove jiffies based cputime
sched/cputime, vtime: Return nsecs instead of cputime_t to account
sched/cputime: Complete nsec conversion of tick based accounting
...
Diffstat (limited to 'include/linux/mutex.h')
-rw-r--r-- | include/linux/mutex.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mutex.h b/include/linux/mutex.h index b97870f2debd..7fffbfcd5430 100644 --- a/include/linux/mutex.h +++ b/include/linux/mutex.h | |||
@@ -156,10 +156,12 @@ extern int __must_check mutex_lock_interruptible_nested(struct mutex *lock, | |||
156 | unsigned int subclass); | 156 | unsigned int subclass); |
157 | extern int __must_check mutex_lock_killable_nested(struct mutex *lock, | 157 | extern int __must_check mutex_lock_killable_nested(struct mutex *lock, |
158 | unsigned int subclass); | 158 | unsigned int subclass); |
159 | extern void mutex_lock_io_nested(struct mutex *lock, unsigned int subclass); | ||
159 | 160 | ||
160 | #define mutex_lock(lock) mutex_lock_nested(lock, 0) | 161 | #define mutex_lock(lock) mutex_lock_nested(lock, 0) |
161 | #define mutex_lock_interruptible(lock) mutex_lock_interruptible_nested(lock, 0) | 162 | #define mutex_lock_interruptible(lock) mutex_lock_interruptible_nested(lock, 0) |
162 | #define mutex_lock_killable(lock) mutex_lock_killable_nested(lock, 0) | 163 | #define mutex_lock_killable(lock) mutex_lock_killable_nested(lock, 0) |
164 | #define mutex_lock_io(lock) mutex_lock_io_nested(lock, 0) | ||
163 | 165 | ||
164 | #define mutex_lock_nest_lock(lock, nest_lock) \ | 166 | #define mutex_lock_nest_lock(lock, nest_lock) \ |
165 | do { \ | 167 | do { \ |
@@ -171,11 +173,13 @@ do { \ | |||
171 | extern void mutex_lock(struct mutex *lock); | 173 | extern void mutex_lock(struct mutex *lock); |
172 | extern int __must_check mutex_lock_interruptible(struct mutex *lock); | 174 | extern int __must_check mutex_lock_interruptible(struct mutex *lock); |
173 | extern int __must_check mutex_lock_killable(struct mutex *lock); | 175 | extern int __must_check mutex_lock_killable(struct mutex *lock); |
176 | extern void mutex_lock_io(struct mutex *lock); | ||
174 | 177 | ||
175 | # define mutex_lock_nested(lock, subclass) mutex_lock(lock) | 178 | # define mutex_lock_nested(lock, subclass) mutex_lock(lock) |
176 | # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock) | 179 | # define mutex_lock_interruptible_nested(lock, subclass) mutex_lock_interruptible(lock) |
177 | # define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock) | 180 | # define mutex_lock_killable_nested(lock, subclass) mutex_lock_killable(lock) |
178 | # define mutex_lock_nest_lock(lock, nest_lock) mutex_lock(lock) | 181 | # define mutex_lock_nest_lock(lock, nest_lock) mutex_lock(lock) |
182 | # define mutex_lock_io_nested(lock, subclass) mutex_lock(lock) | ||
179 | #endif | 183 | #endif |
180 | 184 | ||
181 | /* | 185 | /* |