On Wed, Oct 02, 2013 at 04:00:20PM +0200, Oleg Nesterov wrote: > And again, even > > for (;;) { > percpu_down_write(); > percpu_up_write(); > } > > should not completely block the readers.
Sure there's a tiny window, but don't forget that a reader will have to wait for the gp_state cacheline to transfer to shared state and the per-cpu refcount cachelines to be brought back into exclusive mode and the above can be aggressive enough that by that time we'll observe state == blocked again. So I don't think that in practise a reader will get in. Also, since the write side is exposed to userspace; you've got an effective DoS. So I'll stick to waitcount -- as you can see in the patches I've just posted. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/