In witness_unlock(), when updating a lock list entry bucket, decrement the
count of lock list entries after we fixup the bucket of lock list entries. In theory we can remove the intr_disable/intr_restore() calls now.
This commit is contained in:
parent
465996134b
commit
525c135972
@ -848,10 +848,10 @@ witness_unlock(struct lock_object *lock, int flags, const char *file, int line)
|
||||
td->td_proc->p_pid,
|
||||
instance->li_lock->lo_name,
|
||||
(*lock_list)->ll_count - 1);
|
||||
(*lock_list)->ll_count--;
|
||||
for (j = i; j < (*lock_list)->ll_count; j++)
|
||||
for (j = i; j < (*lock_list)->ll_count - 1; j++)
|
||||
(*lock_list)->ll_children[j] =
|
||||
(*lock_list)->ll_children[j + 1];
|
||||
(*lock_list)->ll_count--;
|
||||
intr_restore(s);
|
||||
if ((*lock_list)->ll_count == 0) {
|
||||
lle = *lock_list;
|
||||
|
Loading…
x
Reference in New Issue
Block a user