On 05/02, Oleg Nesterov wrote:
>
> But this all is cosmetic, it seems that we can remove ->rw_sem altogether
> but I am not sure...
I mean, afaics percpu_down_read() can just do
wait_event(readers_block == 0);
in the slow path, while percpu_down_write()
wait_even_exclusive(xchg(readers_block, 1) == 0);
we do not really need ->rw_sem if we rely on wait_queue_head.
But in fact, either way it seems that we going to implement another simple
"non owner" read/write lock, so perhaps we should do this explicitly?
Oleg.