diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-24 18:09:40 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-06-24 18:09:40 -0400 |
commit | 98ec21a01896751b673b6c731ca8881daa8b2c6d (patch) | |
tree | 9d6d780675436efc894878475284c70f766126dd /include/linux/lockdep.h | |
parent | a262948335bc5359b82f0ed5ef35f6e82ca44d16 (diff) | |
parent | cbce1a686700595de65ee363b9b3283ae85d8fc5 (diff) |
Merge branch 'sched-hrtimers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Thomas Gleixner:
"This series of scheduler updates depends on sched/core and timers/core
branches, which are already in your tree:
- Scheduler balancing overhaul to plug a hard to trigger race which
causes an oops in the balancer (Peter Zijlstra)
- Lockdep updates which are related to the balancing updates (Peter
Zijlstra)"
* 'sched-hrtimers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
sched,lockdep: Employ lock pinning
lockdep: Implement lock pinning
lockdep: Simplify lock_release()
sched: Streamline the task migration locking a little
sched: Move code around
sched,dl: Fix sched class hopping CBS hole
sched, dl: Convert switched_{from, to}_dl() / prio_changed_dl() to balance callbacks
sched,dl: Remove return value from pull_dl_task()
sched, rt: Convert switched_{from, to}_rt() / prio_changed_rt() to balance callbacks
sched,rt: Remove return value from pull_rt_task()
sched: Allow balance callbacks for check_class_changed()
sched: Use replace normalize_task() with __sched_setscheduler()
sched: Replace post_schedule with a balance callback list
Diffstat (limited to 'include/linux/lockdep.h')
-rw-r--r-- | include/linux/lockdep.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index 2722111591a3..70400dc7660f 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h | |||
@@ -255,6 +255,7 @@ struct held_lock { | |||
255 | unsigned int check:1; /* see lock_acquire() comment */ | 255 | unsigned int check:1; /* see lock_acquire() comment */ |
256 | unsigned int hardirqs_off:1; | 256 | unsigned int hardirqs_off:1; |
257 | unsigned int references:12; /* 32 bits */ | 257 | unsigned int references:12; /* 32 bits */ |
258 | unsigned int pin_count; | ||
258 | }; | 259 | }; |
259 | 260 | ||
260 | /* | 261 | /* |
@@ -354,6 +355,9 @@ extern void lockdep_set_current_reclaim_state(gfp_t gfp_mask); | |||
354 | extern void lockdep_clear_current_reclaim_state(void); | 355 | extern void lockdep_clear_current_reclaim_state(void); |
355 | extern void lockdep_trace_alloc(gfp_t mask); | 356 | extern void lockdep_trace_alloc(gfp_t mask); |
356 | 357 | ||
358 | extern void lock_pin_lock(struct lockdep_map *lock); | ||
359 | extern void lock_unpin_lock(struct lockdep_map *lock); | ||
360 | |||
357 | # define INIT_LOCKDEP .lockdep_recursion = 0, .lockdep_reclaim_gfp = 0, | 361 | # define INIT_LOCKDEP .lockdep_recursion = 0, .lockdep_reclaim_gfp = 0, |
358 | 362 | ||
359 | #define lockdep_depth(tsk) (debug_locks ? (tsk)->lockdep_depth : 0) | 363 | #define lockdep_depth(tsk) (debug_locks ? (tsk)->lockdep_depth : 0) |
@@ -368,6 +372,9 @@ extern void lockdep_trace_alloc(gfp_t mask); | |||
368 | 372 | ||
369 | #define lockdep_recursing(tsk) ((tsk)->lockdep_recursion) | 373 | #define lockdep_recursing(tsk) ((tsk)->lockdep_recursion) |
370 | 374 | ||
375 | #define lockdep_pin_lock(l) lock_pin_lock(&(l)->dep_map) | ||
376 | #define lockdep_unpin_lock(l) lock_unpin_lock(&(l)->dep_map) | ||
377 | |||
371 | #else /* !CONFIG_LOCKDEP */ | 378 | #else /* !CONFIG_LOCKDEP */ |
372 | 379 | ||
373 | static inline void lockdep_off(void) | 380 | static inline void lockdep_off(void) |
@@ -420,6 +427,9 @@ struct lock_class_key { }; | |||
420 | 427 | ||
421 | #define lockdep_recursing(tsk) (0) | 428 | #define lockdep_recursing(tsk) (0) |
422 | 429 | ||
430 | #define lockdep_pin_lock(l) do { (void)(l); } while (0) | ||
431 | #define lockdep_unpin_lock(l) do { (void)(l); } while (0) | ||
432 | |||
423 | #endif /* !LOCKDEP */ | 433 | #endif /* !LOCKDEP */ |
424 | 434 | ||
425 | #ifdef CONFIG_LOCK_STAT | 435 | #ifdef CONFIG_LOCK_STAT |