Lines Matching full:writer
22 rcuwait_init(&sem->writer); in __percpu_init_rwsem()
57 * If the reader misses the writer's assignment of sem->block, then the in __percpu_down_read_trylock()
58 * writer is guaranteed to see the reader's increment. in __percpu_down_read_trylock()
61 * the writer looks are guaranteed to see the sem->block value, which in __percpu_down_read_trylock()
63 * their sem->read_count, so that it doesn't matter that the writer in __percpu_down_read_trylock()
78 /* Prod writer to re-evaluate readers_active_check() */ in __percpu_down_read_trylock()
79 rcuwait_wake_up(&sem->writer); in __percpu_down_read_trylock()
116 * Specifically, we wake readers until we've woken a single writer, or until a
138 return !reader; /* wake (readers until) 1 writer */ in percpu_rwsem_wake_function()
234 * Try set sem->block; this provides writer-writer exclusion. in percpu_down_write()
249 rcuwait_wait_event(&sem->writer, readers_active_check(sem), TASK_UNINTERRUPTIBLE); in percpu_down_write()
259 * Signal the writer is done, no fast path yet. in percpu_up_write()
262 * that new readers might fail to see the results of this writer's in percpu_up_write()
271 * Prod any pending reader/writer to make progress. in percpu_up_write()