Received: by 2002:a05:7412:cfc7:b0:fc:a2b0:25d7 with SMTP id by7csp880017rdb; Sun, 18 Feb 2024 17:09:42 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUjlmVsJz7cFVz4nwjk5e6hSHJOVRP7Jdiv0aqHnWBzcoeYXDmuajCa9MFRuUrJAE2HGbelGcYgO8WRpjcVoQMEEInyUoiKZSDPjPQGkQ== X-Google-Smtp-Source: AGHT+IH1ASMLGk2YT8m/69UJ0/Sf33qA5d8P/90a8c0vpBz2VYwDOyaSbefyT2r6FDq+JSFld5u8 X-Received: by 2002:a17:906:ae49:b0:a3e:803a:1d68 with SMTP id lf9-20020a170906ae4900b00a3e803a1d68mr1556222ejb.33.1708304982747; Sun, 18 Feb 2024 17:09:42 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708304982; cv=pass; d=google.com; s=arc-20160816; b=F/C9Lz90/kg/NhOyPo8HBIEhVPklEXwe8OTvdnS3aeGTW3uxAlcZu2pAnej2/IIPUc c4xiMPqRkFGIGsih0g1jGbtFucxNaXSwKD4v+FBcRPXXrlkCr2+tArXD7sBZyHmad2nc RQTVovqT+Nbqzs5CJNKrLQIY2G56BJjeKvo3zqMsHs4NRE9xmAH0PUahqMTGwm4aktAh Mb4/xPpCTi5twaeKkxiu/KfGIoWGT+UmnI3d0ZdkejI4YmI+frzOzSAHZYNKjyAkFa3S C4BfVnV2mQakBqImyqzixNTSOmCJkLceBHMcNvekontX8kC66nKM8dRE0lYTjBFVloc4 iARA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=8FH/IGXGIzL7Qe7et2w95vW7pDGEVjgey8bcDbORJ2E=; fh=a67oHt1rqOMvZvIZNtJX45/0yzoWljbHY2dgG1MT27w=; b=d3J2nXqEsM4OGdcKjYmhbfpA65LjSibqWANml/bQ9jzeHjBXeNskmswEdYusWPC95S hL+C8xrX+P0dh9Xc/LH6FYb1ePSx1WiGI5xvOGyFwxQxE5UUH/ePmG7kKW44QgsTzhrq 07v1n0IgftaiUhM+LDlTNhpTelGtUjM/f4czpC1hza/leyr3AciPx5ae7zk/OmjeOX/4 YGbP8dlniGcqpr6jilTStTqbxxg3a0U+Di49Vln2gIT0dAe15N2tafz3vVh82QmdU9Ao UcpOwOjCKwcI8aTsy2JdXXvxCiMeuX3suok4B071H4zhrPSx58RbZc28kA8Yvuz7BusT oVqQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=EfdZCCep; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-70634-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-70634-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id hd20-20020a170907969400b00a3e8f388f1csi481424ejc.727.2024.02.18.17.09.42 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 18 Feb 2024 17:09:42 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-70634-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=EfdZCCep; arc=pass (i=1 spf=pass spfdomain=redhat.com dkim=pass dkdomain=redhat.com dmarc=pass fromdomain=redhat.com); spf=pass (google.com: domain of linux-kernel+bounces-70634-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-70634-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 597021F2129F for ; Mon, 19 Feb 2024 01:09:42 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0C04F1852; Mon, 19 Feb 2024 01:09:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="EfdZCCep" Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 169D3394 for ; Mon, 19 Feb 2024 01:09:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708304972; cv=none; b=Ob2eexRNo3HtIGQgyW2RlOxK3LVeOq3yvYlyP77a0q/ruC0oeKiyBfefX+WxCZ2Ib1NPsT1sTM/V7t1vbSwiKb9/HgGoyn/5aK+KF9CB2706Mu9pnOP2DNphNXLyYwU0rcArSlH+T6FWSPhAPYgJ1uh55pW0ArzQ2vBqpeAdMlk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708304972; c=relaxed/simple; bh=kPxrv7W2yIJaZMQ1+gJwIp+HhCy5zI4R+ySZbaEIjB4=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=SvRcX/QiFKAvytaF4lEbzA39n8C4OtgE3NRIa9luv2AUtpufV5QQin4Sc+/lQ3/EKe4NccIPtKYUfGI9W7ce/io+3uq+7GPOMW1qL5kL2EGclC0QrSeVRHpJlwEpPuISJloVMxkHb7+rEf+hkYJ3FiWAnlIPmhtGpWVRi0fCeUY= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=EfdZCCep; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1708304968; 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=8FH/IGXGIzL7Qe7et2w95vW7pDGEVjgey8bcDbORJ2E=; b=EfdZCCepdH+RIe/qlCg/m3IZp88mWb0PvIemUavhiNVu4iupg+ha9M1ROCcZs+0ObGzWpO K/HpuFChipDmPEwAPD5BjoV2uQEOqY531wGmA+GXASJGoQQvncLba8mL3sqDAN+wBKZfhO fNeVLHiTE2RI6kwRRsErvpEcIt4LQOQ= Received: from mail-ed1-f72.google.com (mail-ed1-f72.google.com [209.85.208.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-187-DemtSNUPO0KmZX02HTgBVA-1; Sun, 18 Feb 2024 20:09:26 -0500 X-MC-Unique: DemtSNUPO0KmZX02HTgBVA-1 Received: by mail-ed1-f72.google.com with SMTP id 4fb4d7f45d1cf-5647132e2aeso212432a12.1 for ; Sun, 18 Feb 2024 17:09:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708304964; x=1708909764; 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=8FH/IGXGIzL7Qe7et2w95vW7pDGEVjgey8bcDbORJ2E=; b=YMU7r94kyPpqv2wSdbRrOEBqn9tSh3QdaE3xw2W4YDUlo5MLcRLdKHNBLLAssBU0e8 WraXpcjBzvdzie6U75zZxBrcNFOijPxI9g06zcjPwsJZCwDzoaOOHClLLbIHyCOwzM3z GcbVpfvG4Q0+X1IcT0mxrqAY7bev+X6iR8/i6On1PuPleLZ47/UbdSeijL8HduwykKgw Qfgd0/Q3M+jmPJClPMiDy3EQdNrlGTWuIHiMgrI1W9EKbTuHrN/GJaH+zPziAl3ohilg TwwXBmXGBb+cq5yBsMtxMD0yBDQqMpZUqRZFoXUY13eNrCQffvXRiIWDINuulBJ8HmmX xGWw== X-Forwarded-Encrypted: i=1; AJvYcCX2vLcxaLZxRLL747cbjC24sMVl592OrclhHqOQsPYWWMRPy7GdpQOPrpgewnr6rs1jFiD2esBAv83kzq+gICqBl2GGeGTPvSBOLt+Q X-Gm-Message-State: AOJu0YxyLWxepY8jINDnKciEoLoJpLAqAWFm6kgY5k/O6cOiEtkskPk0 UDJarmH7T/dpx0SmoB7PHhmsdv9HAsln31Zhq/DcBFShA1RFEZNalMbYE8fMS6D29oe18PUJxjM hF79YS1Js4cmT0k6vFyEgjWVW1m1L+bPf71Yt31t/ZGOm0JDG3z9TI8m0s8GJ3nMd3pNGq/TZXf +lsPm0IPOhgV4cq0/3CDE6bvPLtoDDB/hqWR2VFu+RmmhWZ+cVbA== X-Received: by 2002:a17:906:b785:b0:a3d:6160:fcca with SMTP id dt5-20020a170906b78500b00a3d6160fccamr9138346ejb.69.1708304964561; Sun, 18 Feb 2024 17:09:24 -0800 (PST) X-Received: by 2002:a17:906:b785:b0:a3d:6160:fcca with SMTP id dt5-20020a170906b78500b00a3d6160fccamr9138336ejb.69.1708304964285; Sun, 18 Feb 2024 17:09:24 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240216142502.78095-1-jonah.palmer@oracle.com> In-Reply-To: <20240216142502.78095-1-jonah.palmer@oracle.com> From: Lei Yang Date: Mon, 19 Feb 2024 09:08:47 +0800 Message-ID: Subject: Re: [PATCH v2] vdpa/mlx5: Allow CVQ size changes To: Jonah Palmer Cc: mst@redhat.com, jasowang@redhat.com, xuanzhuo@linux.alibaba.com, eperezma@redhat.com, si-wei.liu@oracle.com, virtualization@lists.linux-foundation.org, dtatulea@nvidia.com, boris.ostrovsky@oracle.com, linux-kernel@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable QE tested this patch's V2, qemu no longer print error messages "qemu-system-x86_64: Insufficient written data (0)" after enable/disable multi queues multi times inside guest. Both "x-svq=3Don '' and without it are all test pass. Tested-by: Lei Yang On Fri, Feb 16, 2024 at 10:25=E2=80=AFPM Jonah Palmer wrote: > > The MLX driver was not updating its control virtqueue size at set_vq_num > and instead always initialized to MLX5_CVQ_MAX_ENT (16) at > setup_cvq_vring. > > Qemu would try to set the size to 64 by default, however, because the > CVQ size always was initialized to 16, an error would be thrown when > sending >16 control messages (as used-ring entry 17 is initialized to 0). > For example, starting a guest with x-svq=3Don and then executing the > following command would produce the error below: > > # for i in {1..20}; do ifconfig eth0 hw ether XX:xx:XX:xx:XX:XX; done > > qemu-system-x86_64: Insufficient written data (0) > [ 435.331223] virtio_net virtio0: Failed to set mac address by vq comma= nd. > SIOCSIFHWADDR: Invalid argument > > Acked-by: Dragos Tatulea > Acked-by: Eugenio P=C3=A9rez > Signed-off-by: Jonah Palmer > --- > drivers/vdpa/mlx5/net/mlx5_vnet.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c b/drivers/vdpa/mlx5/net/ml= x5_vnet.c > index 778821bab7d9..ecfc16151d61 100644 > --- a/drivers/vdpa/mlx5/net/mlx5_vnet.c > +++ b/drivers/vdpa/mlx5/net/mlx5_vnet.c > @@ -151,8 +151,6 @@ static void teardown_driver(struct mlx5_vdpa_net *nde= v); > > static bool mlx5_vdpa_debug; > > -#define MLX5_CVQ_MAX_ENT 16 > - > #define MLX5_LOG_VIO_FLAG(_feature) = \ > do { = \ > if (features & BIT_ULL(_feature)) = \ > @@ -2276,9 +2274,16 @@ static void mlx5_vdpa_set_vq_num(struct vdpa_devic= e *vdev, u16 idx, u32 num) > struct mlx5_vdpa_net *ndev =3D to_mlx5_vdpa_ndev(mvdev); > struct mlx5_vdpa_virtqueue *mvq; > > - if (!is_index_valid(mvdev, idx) || is_ctrl_vq_idx(mvdev, idx)) > + if (!is_index_valid(mvdev, idx)) > return; > > + if (is_ctrl_vq_idx(mvdev, idx)) { > + struct mlx5_control_vq *cvq =3D &mvdev->cvq; > + > + cvq->vring.vring.num =3D num; > + return; > + } > + > mvq =3D &ndev->vqs[idx]; > mvq->num_ent =3D num; > } > @@ -2963,7 +2968,7 @@ static int setup_cvq_vring(struct mlx5_vdpa_dev *mv= dev) > u16 idx =3D cvq->vring.last_avail_idx; > > err =3D vringh_init_iotlb(&cvq->vring, mvdev->actual_feat= ures, > - MLX5_CVQ_MAX_ENT, false, > + cvq->vring.vring.num, false, > (struct vring_desc *)(uintptr_t)c= vq->desc_addr, > (struct vring_avail *)(uintptr_t)= cvq->driver_addr, > (struct vring_used *)(uintptr_t)c= vq->device_addr); > -- > 2.39.3 >