vhost: optimize interrupt enable/disable
authorMichael S. Tsirkin <mst@redhat.com>
Tue, 19 Jul 2011 14:15:43 +0000 (17:15 +0300)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 19 Jul 2011 14:17:28 +0000 (17:17 +0300)
As we now only update used ring after enabling
the backend, we can write flags with __put_user:
as that's done on data path, it matters.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/vhost.c

index c16d22545868b25f559c2409dc408d9c80e0f8fb..c14c42b95ab8ef584a1bfb07c03154094425ed4c 100644 (file)
@@ -998,7 +998,7 @@ int vhost_log_write(struct vhost_virtqueue *vq, struct vhost_log *log,
 static int vhost_update_used_flags(struct vhost_virtqueue *vq)
 {
        void __user *used;
-       if (put_user(vq->used_flags, &vq->used->flags) < 0)
+       if (__put_user(vq->used_flags, &vq->used->flags) < 0)
                return -EFAULT;
        if (unlikely(vq->log_used)) {
                /* Make sure the flag is seen before log. */
@@ -1016,7 +1016,7 @@ static int vhost_update_used_flags(struct vhost_virtqueue *vq)
 
 static int vhost_update_avail_event(struct vhost_virtqueue *vq, u16 avail_event)
 {
-       if (put_user(vq->avail_idx, vhost_avail_event(vq)))
+       if (__put_user(vq->avail_idx, vhost_avail_event(vq)))
                return -EFAULT;
        if (unlikely(vq->log_used)) {
                void __user *used;