diff options
Diffstat (limited to 'include/linux')
| -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 066ba4157541..c5b6b5830acf 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 |
