|
@@ -143,6 +143,7 @@ __rwsem_do_wake(struct rw_semaphore *sem, enum rwsem_wake_type wake_type)
|
|
|
/*
|
|
|
* wait for the read lock to be granted
|
|
|
*/
|
|
|
+__visible
|
|
|
struct rw_semaphore __sched *rwsem_down_read_failed(struct rw_semaphore *sem)
|
|
|
{
|
|
|
long count, adjustment = -RWSEM_ACTIVE_READ_BIAS;
|
|
@@ -190,6 +191,7 @@ struct rw_semaphore __sched *rwsem_down_read_failed(struct rw_semaphore *sem)
|
|
|
/*
|
|
|
* wait until we successfully acquire the write lock
|
|
|
*/
|
|
|
+__visible
|
|
|
struct rw_semaphore __sched *rwsem_down_write_failed(struct rw_semaphore *sem)
|
|
|
{
|
|
|
long count, adjustment = -RWSEM_ACTIVE_WRITE_BIAS;
|
|
@@ -252,6 +254,7 @@ struct rw_semaphore __sched *rwsem_down_write_failed(struct rw_semaphore *sem)
|
|
|
* handle waking up a waiter on the semaphore
|
|
|
* - up_read/up_write has decremented the active part of count if we come here
|
|
|
*/
|
|
|
+__visible
|
|
|
struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem)
|
|
|
{
|
|
|
unsigned long flags;
|
|
@@ -272,6 +275,7 @@ struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem)
|
|
|
* - caller incremented waiting part of count and discovered it still negative
|
|
|
* - just wake up any readers at the front of the queue
|
|
|
*/
|
|
|
+__visible
|
|
|
struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem)
|
|
|
{
|
|
|
unsigned long flags;
|