diff options
author | Peter Zijlstra <peterz@infradead.org> | 2020-12-09 18:06:21 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2021-01-14 13:20:17 +0300 |
commit | dfd5e3f5fe27bda91d5cc028c86ffbb7a0614489 (patch) | |
tree | 6c35b4446fad60c64be61e7808ca1d710e6022da /include/linux/local_lock_internal.h | |
parent | 5831c0f71d6664c6aa7b58ba969bf645c89ecb85 (diff) | |
download | linux-dfd5e3f5fe27bda91d5cc028c86ffbb7a0614489.tar.xz |
locking/lockdep: Mark local_lock_t
The local_lock_t's are special, because they cannot form IRQ
inversions, make sure we can tell them apart from the rest of the
locks.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'include/linux/local_lock_internal.h')
-rw-r--r-- | include/linux/local_lock_internal.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/local_lock_internal.h b/include/linux/local_lock_internal.h index 4a8795b21d77..ded90b097e6e 100644 --- a/include/linux/local_lock_internal.h +++ b/include/linux/local_lock_internal.h @@ -18,6 +18,7 @@ typedef struct { .dep_map = { \ .name = #lockname, \ .wait_type_inner = LD_WAIT_CONFIG, \ + .lock_type = LD_LOCK_PERCPU, \ } #else # define LL_DEP_MAP_INIT(lockname) @@ -30,7 +31,9 @@ do { \ static struct lock_class_key __key; \ \ debug_check_no_locks_freed((void *)lock, sizeof(*lock));\ - lockdep_init_map_wait(&(lock)->dep_map, #lock, &__key, 0, LD_WAIT_CONFIG);\ + lockdep_init_map_type(&(lock)->dep_map, #lock, &__key, 0, \ + LD_WAIT_CONFIG, LD_WAIT_INV, \ + LD_LOCK_PERCPU); \ } while (0) #ifdef CONFIG_DEBUG_LOCK_ALLOC |