Commit 5b254da5 authored by Kent Overstreet's avatar Kent Overstreet

six locks: Enable lockdep

Now that we have lockdep_set_no_check_recursion(), we can enable lockdep
checking.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent f6ea2d57
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
#define EBUG_ON(cond) do {} while (0) #define EBUG_ON(cond) do {} while (0)
#endif #endif
#define six_acquire(l, t) lock_acquire(l, 0, t, 0, 0, NULL, _RET_IP_) #define six_acquire(l, t, r) lock_acquire(l, 0, t, r, 1, NULL, _RET_IP_)
#define six_release(l) lock_release(l, _RET_IP_) #define six_release(l) lock_release(l, _RET_IP_)
struct six_lock_vals { struct six_lock_vals {
...@@ -258,7 +258,7 @@ static bool __six_trylock_type(struct six_lock *lock, enum six_lock_type type) ...@@ -258,7 +258,7 @@ static bool __six_trylock_type(struct six_lock *lock, enum six_lock_type type)
return false; return false;
if (type != SIX_LOCK_write) if (type != SIX_LOCK_write)
six_acquire(&lock->dep_map, 1); six_acquire(&lock->dep_map, 1, type == SIX_LOCK_read);
return true; return true;
} }
...@@ -295,7 +295,7 @@ static bool __six_relock_type(struct six_lock *lock, enum six_lock_type type, ...@@ -295,7 +295,7 @@ static bool __six_relock_type(struct six_lock *lock, enum six_lock_type type,
six_lock_wakeup(lock, old, SIX_LOCK_write); six_lock_wakeup(lock, old, SIX_LOCK_write);
if (ret) if (ret)
six_acquire(&lock->dep_map, 1); six_acquire(&lock->dep_map, 1, type == SIX_LOCK_read);
return ret; return ret;
} }
...@@ -312,7 +312,7 @@ static bool __six_relock_type(struct six_lock *lock, enum six_lock_type type, ...@@ -312,7 +312,7 @@ static bool __six_relock_type(struct six_lock *lock, enum six_lock_type type,
six_set_owner(lock, type, old); six_set_owner(lock, type, old);
if (type != SIX_LOCK_write) if (type != SIX_LOCK_write)
six_acquire(&lock->dep_map, 1); six_acquire(&lock->dep_map, 1, type == SIX_LOCK_read);
return true; return true;
} }
...@@ -518,7 +518,7 @@ static int __six_lock_type_waiter(struct six_lock *lock, enum six_lock_type type ...@@ -518,7 +518,7 @@ static int __six_lock_type_waiter(struct six_lock *lock, enum six_lock_type type
wait->start_time = 0; wait->start_time = 0;
if (type != SIX_LOCK_write) if (type != SIX_LOCK_write)
six_acquire(&lock->dep_map, 0); six_acquire(&lock->dep_map, 0, type == SIX_LOCK_read);
ret = do_six_trylock_type(lock, type, true) ? 0 ret = do_six_trylock_type(lock, type, true) ? 0
: __six_lock_type_slowpath(lock, type, wait, should_sleep_fn, p); : __six_lock_type_slowpath(lock, type, wait, should_sleep_fn, p);
...@@ -681,7 +681,7 @@ void six_lock_increment(struct six_lock *lock, enum six_lock_type type) ...@@ -681,7 +681,7 @@ void six_lock_increment(struct six_lock *lock, enum six_lock_type type)
{ {
const struct six_lock_vals l[] = LOCK_VALS; const struct six_lock_vals l[] = LOCK_VALS;
six_acquire(&lock->dep_map, 0); six_acquire(&lock->dep_map, 0, type == SIX_LOCK_read);
/* XXX: assert already locked, and that we don't overflow: */ /* XXX: assert already locked, and that we don't overflow: */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment