/* * release a write lock */ void up_write(struct rw_semaphore *sem) { rwsem_release(&sem->dep_map, 1, _RET_IP_); rwsem_clear_owner(sem); __up_write(sem); }
/* * downgrade write lock to read lock */ void downgrade_write(struct rw_semaphore *sem) { /* * lockdep: a downgraded write will live on as a write * dependency. */ rwsem_clear_owner(sem); __downgrade_write(sem); }