From: Jason Wang Date: Fri, 24 May 2019 08:12:13 +0000 (-0400) Subject: vhost: generalize adding used elem X-Git-Tag: v5.4-rc1~533^2~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1ab5d1385af40272ca44a5cd38af7e13da6ed847;p=platform%2Fkernel%2Flinux-rpi.git vhost: generalize adding used elem Use one generic vhost_copy_to_user() instead of two dedicated accessor. This will simplify the conversion to fine grain accessors. About 2% improvement of PPS were seen during vitio-user txonly test. Signed-off-by: Jason Wang Signed-off-by: Michael S. Tsirkin --- diff --git a/drivers/vhost/vhost.c b/drivers/vhost/vhost.c index 3f3eac4..3fb58015 100644 --- a/drivers/vhost/vhost.c +++ b/drivers/vhost/vhost.c @@ -2273,16 +2273,7 @@ static int __vhost_add_used_n(struct vhost_virtqueue *vq, start = vq->last_used_idx & (vq->num - 1); used = vq->used->ring + start; - if (count == 1) { - if (vhost_put_user(vq, heads[0].id, &used->id)) { - vq_err(vq, "Failed to write used id"); - return -EFAULT; - } - if (vhost_put_user(vq, heads[0].len, &used->len)) { - vq_err(vq, "Failed to write used len"); - return -EFAULT; - } - } else if (vhost_copy_to_user(vq, used, heads, count * sizeof *used)) { + if (vhost_copy_to_user(vq, used, heads, count * sizeof *used)) { vq_err(vq, "Failed to write used"); return -EFAULT; }