diff options
Diffstat (limited to 'include/linux/lockdep.h')
| -rw-r--r-- | include/linux/lockdep.h | 37 | 
1 files changed, 17 insertions, 20 deletions
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h index cfc2f119779..008388f920d 100644 --- a/include/linux/lockdep.h +++ b/include/linux/lockdep.h @@ -252,9 +252,9 @@ struct held_lock {  	unsigned int trylock:1;						/* 16 bits */  	unsigned int read:2;        /* see lock_acquire() comment */ -	unsigned int check:2;       /* see lock_acquire() comment */ +	unsigned int check:1;       /* see lock_acquire() comment */  	unsigned int hardirqs_off:1; -	unsigned int references:11;					/* 32 bits */ +	unsigned int references:12;					/* 32 bits */  };  /* @@ -265,7 +265,7 @@ extern void lockdep_info(void);  extern void lockdep_reset(void);  extern void lockdep_reset_lock(struct lockdep_map *lock);  extern void lockdep_free_key_range(void *start, unsigned long size); -extern void lockdep_sys_exit(void); +extern asmlinkage void lockdep_sys_exit(void);  extern void lockdep_off(void);  extern void lockdep_on(void); @@ -303,7 +303,7 @@ extern void lockdep_init_map(struct lockdep_map *lock, const char *name,  				 (lock)->dep_map.key, sub)  #define lockdep_set_novalidate_class(lock) \ -	lockdep_set_class(lock, &__lockdep_no_validate__) +	lockdep_set_class_and_name(lock, &__lockdep_no_validate__, #lock)  /*   * Compare locking classes   */ @@ -326,9 +326,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,   *   * Values for check:   * - *   0: disabled - *   1: simple checks (freeing, held-at-exit-time, etc.) - *   2: full validation + *   0: simple checks (freeing, held-at-exit-time, etc.) + *   1: full validation   */  extern void lock_acquire(struct lockdep_map *lock, unsigned int subclass,  			 int trylock, int read, int check, @@ -479,15 +478,9 @@ static inline void print_irqtrace_events(struct task_struct *curr)   * on the per lock-class debug mode:   */ -#ifdef CONFIG_PROVE_LOCKING - #define lock_acquire_exclusive(l, s, t, n, i)		lock_acquire(l, s, t, 0, 2, n, i) - #define lock_acquire_shared(l, s, t, n, i)		lock_acquire(l, s, t, 1, 2, n, i) - #define lock_acquire_shared_recursive(l, s, t, n, i)	lock_acquire(l, s, t, 2, 2, n, i) -#else - #define lock_acquire_exclusive(l, s, t, n, i)		lock_acquire(l, s, t, 0, 1, n, i) - #define lock_acquire_shared(l, s, t, n, i)		lock_acquire(l, s, t, 1, 1, n, i) - #define lock_acquire_shared_recursive(l, s, t, n, i)	lock_acquire(l, s, t, 2, 1, n, i) -#endif +#define lock_acquire_exclusive(l, s, t, n, i)		lock_acquire(l, s, t, 0, 1, n, i) +#define lock_acquire_shared(l, s, t, n, i)		lock_acquire(l, s, t, 1, 1, n, i) +#define lock_acquire_shared_recursive(l, s, t, n, i)	lock_acquire(l, s, t, 2, 1, n, i)  #define spin_acquire(l, s, t, i)		lock_acquire_exclusive(l, s, t, NULL, i)  #define spin_acquire_nest(l, s, t, n, i)	lock_acquire_exclusive(l, s, t, n, i) @@ -497,6 +490,10 @@ static inline void print_irqtrace_events(struct task_struct *curr)  #define rwlock_acquire_read(l, s, t, i)		lock_acquire_shared_recursive(l, s, t, NULL, i)  #define rwlock_release(l, n, i)			lock_release(l, n, i) +#define seqcount_acquire(l, s, t, i)		lock_acquire_exclusive(l, s, t, NULL, i) +#define seqcount_acquire_read(l, s, t, i)	lock_acquire_shared_recursive(l, s, t, NULL, i) +#define seqcount_release(l, n, i)		lock_release(l, n, i) +  #define mutex_acquire(l, s, t, i)		lock_acquire_exclusive(l, s, t, NULL, i)  #define mutex_acquire_nest(l, s, t, n, i)	lock_acquire_exclusive(l, s, t, n, i)  #define mutex_release(l, n, i)			lock_release(l, n, i) @@ -504,23 +501,23 @@ static inline void print_irqtrace_events(struct task_struct *curr)  #define rwsem_acquire(l, s, t, i)		lock_acquire_exclusive(l, s, t, NULL, i)  #define rwsem_acquire_nest(l, s, t, n, i)	lock_acquire_exclusive(l, s, t, n, i)  #define rwsem_acquire_read(l, s, t, i)		lock_acquire_shared(l, s, t, NULL, i) -# define rwsem_release(l, n, i)			lock_release(l, n, i) +#define rwsem_release(l, n, i)			lock_release(l, n, i)  #define lock_map_acquire(l)			lock_acquire_exclusive(l, 0, 0, NULL, _THIS_IP_)  #define lock_map_acquire_read(l)		lock_acquire_shared_recursive(l, 0, 0, NULL, _THIS_IP_) -# define lock_map_release(l)			lock_release(l, 1, _THIS_IP_) +#define lock_map_release(l)			lock_release(l, 1, _THIS_IP_)  #ifdef CONFIG_PROVE_LOCKING  # define might_lock(lock) 						\  do {									\  	typecheck(struct lockdep_map *, &(lock)->dep_map);		\ -	lock_acquire(&(lock)->dep_map, 0, 0, 0, 2, NULL, _THIS_IP_);	\ +	lock_acquire(&(lock)->dep_map, 0, 0, 0, 1, NULL, _THIS_IP_);	\  	lock_release(&(lock)->dep_map, 0, _THIS_IP_);			\  } while (0)  # define might_lock_read(lock) 						\  do {									\  	typecheck(struct lockdep_map *, &(lock)->dep_map);		\ -	lock_acquire(&(lock)->dep_map, 0, 0, 1, 2, NULL, _THIS_IP_);	\ +	lock_acquire(&(lock)->dep_map, 0, 0, 1, 1, NULL, _THIS_IP_);	\  	lock_release(&(lock)->dep_map, 0, _THIS_IP_);			\  } while (0)  #else  | 
