From: Rusty Russell Date: Thu, 12 Jan 2012 05:14:43 +0000 (+1030) Subject: virtio: expose added descriptors immediately. X-Git-Tag: v3.3-rc1~85^2~17 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ee7cd8981e15bcb365fc762afe3fc47b8242f630;p=pandora-kernel.git virtio: expose added descriptors immediately. A virtio driver does virtqueue_add_buf() multiple times before finally calling virtqueue_kick(); previously we only exposed the added buffers in the virtqueue_kick() call. This means we don't need a memory barrier in virtqueue_add_buf(), but it reduces concurrency as the device (ie. host) can't see the buffers until the kick. In the unusual (but now possible) case where a driver does add_buf() and get_buf() without doing a kick, we do need to insert one before our counter wraps. Otherwise we could wrap num_added, and later on not realize that we have passed the marker where we should have kicked. Signed-off-by: Rusty Russell --- Reading git-diff-tree failed