Messages in this thread | | | Date | Sat, 19 Apr 2008 20:33:22 +0400 | From | Evgeniy Polyakov <> | Subject | Re: [PATCH 2/5] /dev/vring: simple userspace-kernel ringbuffer interface. |
| |
On Sun, Apr 20, 2008 at 02:05:31AM +1000, Rusty Russell (rusty@rustcorp.com.au) wrote: > > Should this whole function and vring_used_buffer() be protected with > > vr->lock mutex? > > No; it's up to the caller to make sure that they are serialized. In the case > of tun that happens naturally. > > There are two reasons not to grab the lock. It turns out that if we tried to > lock here, we'd deadlock, since the callbacks are called under the lock. > Secondly, it's possible to implement an atomic vring_used_buffer variant, > which could fail: this would avoid using the thread most of the time.
Yep, I decided that too. But it limits its usage to tun only or any other system where only single thread picks up results, so no generic userspace ring buffers?
-- Evgeniy Polyakov
| |