Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp18872863rwd; Wed, 28 Jun 2023 01:42:10 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ591k74zXciL+CBOKwOOz7e46mNuB3y8Fo7GZwU4TIrfxBVFn0CwnlJRoPsSi/UQaTMIxK5 X-Received: by 2002:a17:906:4fd1:b0:973:ff8d:2a46 with SMTP id i17-20020a1709064fd100b00973ff8d2a46mr30444444ejw.3.1687941730271; Wed, 28 Jun 2023 01:42:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687941730; cv=none; d=google.com; s=arc-20160816; b=XRMVEv0IIegiZyynE/TzOBPUAG0oCl0nX6iaLXIdh31dGblfapOt0E91dzzvZH1dFV gd8awJVgIUkrpZfhI/8aAcdyXxz/WPru8wo9CCZ85jvN47vRryZOXbHSBBWyKOeclNre xfQ38k6k/w4SkAr5VcWIo8UWHXSHsVi9PJZMrIs74U2T2EIADhlLB4sm1zhFqTTOSqzO hsjDDKRlztnsBAdQqws7hFsdMHZY/JIiNV1ZL815v1f/hEhd3SLqcpCxbduf0MUeyrRY /Bs19BxyopQjMdxoqibO2/y/N7lUQTlqOc9PNehHKAANXSxzZB9jZLDspLnFZD3OT7EX L1LQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=2B1ynmbT0UkVLiBLPkihB9uufQdZmbcV3Hls/wgSG4U=; fh=SjE7iP9xpoAsssg+VMEolE20EkhYiY9vEwXtrvTgIng=; b=ugyFj2fs+XWlZSkTcaOlCg9cwC3TRurH24wLaetLd/E+frYzYLzP4g7YedIrngFbFg hU/gnbHGvozCMRCgo+iES/P5MI5W/btX4bx8BboEof/9DueHzheSP8oN57uND+smAwRZ mfaQ83Eq923jPOm9iG97kVhRQVX8fN9cvB6U3LkacygCueO6XWS5Bi7oz0iCxSix3MVj 4iII+9sEQW4grRDIw6mEKD+jd4DguVpDiC3l0aR7MQaCtOtCrdtdYtFY1/JLN6p8CUTp Qr8e+AyL1KKRbuatPs7t/GCeGI0+E3/Xui0JyS5p2Fpe8t1cyLdt+thJg002VvdGHeun qTWg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=A5qeOayM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id qu14-20020a170907110e00b0098d807c5027si5348731ejb.271.2023.06.28.01.41.45; Wed, 28 Jun 2023 01:42:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=A5qeOayM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233726AbjF1IUg (ORCPT + 99 others); Wed, 28 Jun 2023 04:20:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]:47772 "EHLO us-smtp-delivery-124.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233788AbjF1IOU (ORCPT ); Wed, 28 Jun 2023 04:14:20 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1687940009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2B1ynmbT0UkVLiBLPkihB9uufQdZmbcV3Hls/wgSG4U=; b=A5qeOayM0dK13lLqMZ8/Jec4IukNslQCV4l1FpqSjGoauOrmk9Cwz54ZPgio/f31g0RTsP fkO5x7fa9zNdJdBplHzUP/vAuFELJqJM9LzhIDlV5oETVkAAx8yDbp7BKTeON2BkiIXZC/ wM77R6tNappoED1Rx3klwUlBdyYUwBY= Received: from mail-lf1-f72.google.com (mail-lf1-f72.google.com [209.85.167.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-124-gSGxvdqQMHWMUG7yo4UyUA-1; Wed, 28 Jun 2023 04:13:27 -0400 X-MC-Unique: gSGxvdqQMHWMUG7yo4UyUA-1 Received: by mail-lf1-f72.google.com with SMTP id 2adb3069b0e04-4fb748a83b4so3178294e87.2 for ; Wed, 28 Jun 2023 01:13:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687940006; x=1690532006; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2B1ynmbT0UkVLiBLPkihB9uufQdZmbcV3Hls/wgSG4U=; b=ho7mPdSqcY26CD0MKUYOVuVHQ7aOJF1Ic10Dgw8M/pGmGG48pCUL3AzXJf3aUuNFL2 RW20D5llUYGK3s6kA36xv1Dkd1vPkyPfduscMatB0LjPcq4bHUz8iJrQxlQYoxtTeTtK elOHlb6pFZ95RXoGgJkh+2tn1OCJtLc3i89kXDkVl7aYk8QTOiT6Vg2BqbIH0GNfTO8T nJM5KekYhR+RAF3BzpUua/26Ml0ssOuEK1Cwj2Vg3cOE/RfuctsFMfq//V3pDKcNAT8y hCpnNmvhJJaadjP7wVlSCZwXroNpLKIGnS2KZ/evcPM5SpnBeFyHBWnvmsunnDo3NFyx lrLg== X-Gm-Message-State: AC+VfDxd42lbCo7vxBALYLyjjLCb/xTLFxNA72mv1iGha6bk2gtNWWFH FiCBnlHrOtWC2q6U14FbKrUg/E5RO7hxKkWwk3oNJktJS6V/Y+VdYKjYRMTqxoJIl4k725QU1Rs Ef9zAw3neJAWx64aA0vp/UQ/gYD9tIrL8Of1UzXE3 X-Received: by 2002:a2e:9943:0:b0:2b6:9909:79b6 with SMTP id r3-20020a2e9943000000b002b6990979b6mr6308003ljj.40.1687940006183; Wed, 28 Jun 2023 01:13:26 -0700 (PDT) X-Received: by 2002:a2e:9943:0:b0:2b6:9909:79b6 with SMTP id r3-20020a2e9943000000b002b6990979b6mr6307993ljj.40.1687940005910; Wed, 28 Jun 2023 01:13:25 -0700 (PDT) MIME-Version: 1.0 References: <20230628065919.54042-1-lulu@redhat.com> <20230628065919.54042-5-lulu@redhat.com> In-Reply-To: <20230628065919.54042-5-lulu@redhat.com> From: Jason Wang Date: Wed, 28 Jun 2023 16:13:14 +0800 Message-ID: Subject: Re: [RFC 4/4] vduse: update the vq_info in ioctl To: Cindy Lu Cc: mst@redhat.com, maxime.coquelin@redhat.com, xieyongji@bytedance.com, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jun 28, 2023 at 3:00=E2=80=AFPM Cindy Lu wrote: > > From: Your Name > > in VDUSE_VQ_GET_INFO, driver will sync the last_avail_idx > with reconnect info, I have olny test the split mode, so Typo, should be "only". > only use this here, will add more information later > > Signed-off-by: Cindy Lu > --- > drivers/vdpa/vdpa_user/vduse_dev.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/drivers/vdpa/vdpa_user/vduse_dev.c b/drivers/vdpa/vdpa_user/= vduse_dev.c > index 3df1256eccb4..b8e453eac0ce 100644 > --- a/drivers/vdpa/vdpa_user/vduse_dev.c > +++ b/drivers/vdpa/vdpa_user/vduse_dev.c > @@ -141,6 +141,11 @@ static u32 allowed_device_id[] =3D { > VIRTIO_ID_NET, > }; > > +struct vhost_reconnect_vring { > + uint16_t last_avail_idx; > + bool avail_wrap_counter; > +}; Should this belong to uAPI? > + > static inline struct vduse_dev *vdpa_to_vduse(struct vdpa_device *vdpa) > { > struct vduse_vdpa *vdev =3D container_of(vdpa, struct vduse_vdpa,= vdpa); > @@ -1176,6 +1181,17 @@ static long vduse_dev_ioctl(struct file *file, uns= igned int cmd, > vq->state.split.avail_index; > > vq_info.ready =3D vq->ready; > + struct vdpa_reconnect_info *area; > + > + area =3D &dev->reconnect_info[index]; > + struct vhost_reconnect_vring *log_reconnect; > + > + log_reconnect =3D (struct vhost_reconnect_vring *)area->v= addr; What if userspace doesn't do mmap()? Thanks > + if (log_reconnect->last_avail_idx !=3D > + vq_info.split.avail_index) { > + vq_info.split.avail_index =3D > + log_reconnect->last_avail_idx; > + } > > ret =3D -EFAULT; > if (copy_to_user(argp, &vq_info, sizeof(vq_info))) > -- > 2.34.3 >