[PATCH 2/5] /dev/vring: simple userspace-kernel ringbuffer interface.

Evgeniy Polyakov johnpol at 2ka.mipt.ru
Sat Apr 19 09:33:22 PDT 2008


On Sun, Apr 20, 2008 at 02:05:31AM +1000, Rusty Russell (rusty at 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


More information about the Virtualization mailing list