From nobody Mon Feb 9 05:13:43 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1770231923; cv=none; d=zohomail.com; s=zohoarc; b=kG2cQ13Gt/bfVgof3MFY8NQKHbTZ9NCaK2AsFsnOELN+VvDlXkFiFFcLNeMQjko/VeLPb7zaYKOmTFcz8+vMxTMebtLxwAGuFe/IXldyUXKLZbaqzbpH5PZzw1SlRS5S1ttVduYCnFCsUhz4ytFn26glff0wPub6/UzcxCD2XjA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770231923; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=IRIH6dHk97LErqYrRBUU7eUC8F1/GVFoIBs89PuE0lY=; b=hGvA9iOZ7XB9r2deHWXXIUWscvFsNZ1w4t/tqMZZ80qXBMq35EvN0QtjbACbStRIpOchTVVAirPKP8UPont6wjgZCTw2VSeSCJyPJdF/K+/c1xjB2iLYOwgCiiY9kxP+1iVnIH0Z3nDaC8NiZPpjikXKPb+eodj1+miMuhe54jg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1770231923713185.63841126507305; Wed, 4 Feb 2026 11:05:23 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vniAe-0000rq-GG; Wed, 04 Feb 2026 14:04:12 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vniAa-0000RW-KW for qemu-devel@nongnu.org; Wed, 04 Feb 2026 14:04:08 -0500 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vniAZ-00082F-4Z for qemu-devel@nongnu.org; Wed, 04 Feb 2026 14:04:08 -0500 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-319-ITXHcoT5MPSqnYSRsxhY7g-1; Wed, 04 Feb 2026 14:04:04 -0500 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4806cfffca6so1011565e9.2 for ; Wed, 04 Feb 2026 11:04:04 -0800 (PST) Received: from redhat.com (IGLD-80-230-34-155.inter.net.il. [80.230.34.155]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-43617e263b9sm7936301f8f.4.2026.02.04.11.04.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 04 Feb 2026 11:04:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1770231846; 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=IRIH6dHk97LErqYrRBUU7eUC8F1/GVFoIBs89PuE0lY=; b=Hma4e5T6W/k/skIY0s+SAjWz8Ou7Sw/GeuWDaMJ2lgITgZh6/hTTnAZQ47jM8mYXEUI54E x4N58hwN5/i+scYUlbomqaoiQnP+8vcafWQ5Ar8Fp9BInuUJWUUXOj1GM3UUtKxmAwOOpB hjBmk9gVMvdmFAMFKIvHucurnW0rk7I= X-MC-Unique: ITXHcoT5MPSqnYSRsxhY7g-1 X-Mimecast-MFC-AGG-ID: ITXHcoT5MPSqnYSRsxhY7g_1770231843 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1770231843; x=1770836643; darn=nongnu.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=IRIH6dHk97LErqYrRBUU7eUC8F1/GVFoIBs89PuE0lY=; b=g1WBTFgKZIPO91V6eAH910NmwZ9KBOEN/LYnUtNbjEJoOhgqiORpIocpWQz2UKqmZj 1PpxEEVpJqLjrCVWG5S09z/W7hOcMi5m2DNJd+1op57k09S4ZroV7/NvXn2Qmcj1WOJ/ 5yMoHwlHA1RivklSjgey2qeaThHQQBnrmv2ZVAXeh9r/ZXjyJFFy1VfnJ+hVjuxTS/F7 N0mj9KkNg3uEMxLGxX1EDO5qe16hN5c0PVi/cJJEz/VjCdFjd5l6PZfskCgsEiJLsyQa RYsHWhqDA3jDnW6Td4/jM1pn9Eh4SDJasms1dOa8dYj5SE5y7oJSSs160jdjZBLJ4PjC dYUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770231843; x=1770836643; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=IRIH6dHk97LErqYrRBUU7eUC8F1/GVFoIBs89PuE0lY=; b=szvOxQKvEMmk9PEHVdlENT7AxNeJaPqKZl3cCOfvTOXAQdaF80CNsL6Vvq7Wqq6X/I b6M4c+5jjO/Faykr6KYpLE02C1iELyw+tuJ+vlw+ex/nP9qKN0s2VmtQFDLFV3q7T6po T13AUxgQNU9FZo5ehwcH7YQqhcsR8Nto7L0X2h7WRlx+KeuDVVIxlwQUszc4qSLyTjPP Tp1GqrVY62jGY0DCGkO/Qnv8fghnLU+W4wx7TUsfeU3T3XmwORyClR8x/BTsnkuaW0EG hbHo8haYIJ27+uT22Sv4hsTAw8tK1GDN5fwuhIlvZXoGdXwoeetFO68UKmZS5cBkICW3 k8XQ== X-Gm-Message-State: AOJu0YwokM39iASdCfZKPzGWbdaPKJUS2G65Lp7IOuWi5dseyIPqVJrL 2QUWPGWwOvo+mtdJk9KKm6eKkfwf7jRkI8TRrIdZUDRVfJ/arIHtXfZfM7f4HDyZxh4WwvzITym VQ603WIvsdtfJokSSoXe8RDsepxdKTGkMYZARdZ2TskrOH8x8tAt1//TAc/pgZFWC/wfO+EGVTK o7II9ow8cgLQ3yNL6Tvr8B4p6+yHn0EBGKBA== X-Gm-Gg: AZuq6aK04sldOEKG+DxaSzgM+pTr2JWpZNLcXDxrvMyEASugA7wPPr8e2+LEEHxU65F uTx0G1jxIIo7Pw38mTF1eTRYEvOF6q7+xJft/mCngLVgfs6KULkyTdaRGJshLrNKBdFhlJj5WYz 3u4cxXsNq2mAgxs0rvTbLnH3ykm2Ef0FOQptyh1zKj10sCzd5f/b3I8XDHH9mZ7nm+eC1cYx61Q DbB1hwVZUyqjCqKN9soJwT1GRMdi5rWWCswmT4GgJXwXDhBVZG7jveV0Rd3nHa9O5Tx5tIxyeLb VvK0pgatOvBeQBluwfQBc+/RPOqzcAVi+ZaGFaqbDyhT9Ktn21+29nbIjHenAViL6v1f0aWTd/v jjrUDbTPYEEa8OxRB/sxzhrq7dDL/zbwJ5A== X-Received: by 2002:a05:600c:19cd:b0:477:93f7:bbc5 with SMTP id 5b1f17b1804b1-4830e9402f8mr57122485e9.10.1770231843192; Wed, 04 Feb 2026 11:04:03 -0800 (PST) X-Received: by 2002:a05:600c:19cd:b0:477:93f7:bbc5 with SMTP id 5b1f17b1804b1-4830e9402f8mr57121855e9.10.1770231842623; Wed, 04 Feb 2026 11:04:02 -0800 (PST) Date: Wed, 4 Feb 2026 14:04:00 -0500 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eugenio =?utf-8?B?UMOpcmV6?= , Jason Wang , Stefano Garzarella Subject: [PULL 31/51] vhost: accept indirect descriptors in shadow virtqueue Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1770231925498158500 From: Eugenio P=C3=A9rez The device is not able to generate indirect descriptors by itself, only the driver can do it. And SVQ is already able to handle them by reusing VirtQueue struct. Shadow VirtQueue just transform the indirect descriptors to chained buffers. This way we don't need to map a new buffer for the indirect table and handle its exhaustion etc. As they are only used in control plane and HW devices don't like indirect, we should not see significant downsides with these. Signed-off-by: Eugenio P=C3=A9rez -- Tested functionally by forwarding the CVQ descriptors. Acked-by: Jason Wang Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin Message-Id: <20251201125149.2151026-1-eperezma@redhat.com> --- hw/virtio/vhost-shadow-virtqueue.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/virtio/vhost-shadow-virtqueue.c b/hw/virtio/vhost-shadow-vi= rtqueue.c index 2481d49345..6242aeb69c 100644 --- a/hw/virtio/vhost-shadow-virtqueue.c +++ b/hw/virtio/vhost-shadow-virtqueue.c @@ -34,6 +34,7 @@ bool vhost_svq_valid_features(uint64_t features, Error **= errp) switch (b) { case VIRTIO_F_ANY_LAYOUT: case VIRTIO_RING_F_EVENT_IDX: + case VIRTIO_RING_F_INDIRECT_DESC: continue; =20 case VIRTIO_F_ACCESS_PLATFORM: --=20 MST