Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp469278pxx; Thu, 29 Oct 2020 06:59:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyU/Bi7eUScRUowoYtYKFGndV6cZD2xMkvn/jNkaOS3316eSoiY3sKoAFjCQN+KzA+ySrOQ X-Received: by 2002:a50:d616:: with SMTP id x22mr2072412edi.221.1603979944132; Thu, 29 Oct 2020 06:59:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603979944; cv=none; d=google.com; s=arc-20160816; b=m6OUWN9J9YBwZrsSpxyCemiGagE6y2ax6dqyFA04kFc69NyGGxeysFAVFJftzn4Eso 15s+vJvGVdmWXkLzs0DETNbMWssYTZ1rCa5gl+8O9tSNVfjTkg6DDi/+AFS1suHIAhBN pQH8JowbxCzd0y61gS2P6GztjO1iJbCI+dh5GF7dmxGR7doCfbc9SCS4Z3ppYkX5MsdQ 32SkReyFQFvf7SX1ET8OA5dj1LsM280yubFvPl6DFJMcTzQIy60t1WPorn5I1nVBs2Cx YHeydwIxcX2XdSMlWbD8/gS5H7E2EyFSuPuxVOM3DePUDyPpd+XGNIEaPeppiOMAUvdf +JzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=UksbwoUhLdQmo8sNkTe4b7iqz8HyRjgjJKc2f0lNVS4=; b=aHRhNSCuYoaGgbXoD9qo8cH3njJXjB969wFhOB2M4NE4dmytu/Zn3bRUCge8in4mu3 AaTwln7Da+iwqu6mKkZYAkekOdNnCHvyfFDfu3b+sQjiF4XQVwE1znEJpo6JRsk/Y/jW gTBR7DDvC+BXZ1pnt5r/GCpuUA+7loD69Lwram42SppBngL3yhqx+DzmZivC0wE4//Ra XcMhhQcmkiyp/xc7E1rNtLwUyXS7kTWwZSWrnc+oaRlNlRI4O9GTOtksgaUlYnK8no/S wbC1tL5Vs/8fRZCz1LsIoBWvE+A/O5613iYCKB3OdsDaYCbheLSQ0nO6NxgOsRQKhzJZ JgKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="lBOtG/P0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r14si1226931ejx.734.2020.10.29.06.58.39; Thu, 29 Oct 2020 06:59:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="lBOtG/P0"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727357AbgJ2Ny4 (ORCPT + 99 others); Thu, 29 Oct 2020 09:54:56 -0400 Received: from mail.kernel.org ([198.145.29.99]:40320 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726184AbgJ2Nyz (ORCPT ); Thu, 29 Oct 2020 09:54:55 -0400 Received: from mail-qv1-f46.google.com (mail-qv1-f46.google.com [209.85.219.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AF0EF20825 for ; Thu, 29 Oct 2020 13:54:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603979694; bh=1ANRlVoC4oc0lkbRKU8wnq7MF9OsR9WaKuPX3Cj5i9A=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=lBOtG/P0fnS53uEWstzEOsaf6sF8kkFOIdkSMWEpXf7dEoshMZH7h/iAcSqdr7Me0 DYNZf5t9xXr2VpbpotBNn6ftRuPuw4vBU2AMR4D+pt2HRApaMXvoIyW2tSjT2CgwrK oaAX7VUO4Ji3Rc+h5u1OegJVrtsOw8TCeUml6pXI= Received: by mail-qv1-f46.google.com with SMTP id w9so1368667qvj.0 for ; Thu, 29 Oct 2020 06:54:54 -0700 (PDT) X-Gm-Message-State: AOAM532nFas/zSQziQ0uu7jM1XqWU/YKDKedt0fQP6eFo1bjR+LrDkjw FLBMplPoK4LK0sYHn2wszfDOVXCC4Rv39uaYqsQ= X-Received: by 2002:a0c:c187:: with SMTP id n7mr4614787qvh.19.1603979693670; Thu, 29 Oct 2020 06:54:53 -0700 (PDT) MIME-Version: 1.0 References: <20201023092650.GB29066@infradead.org> <20201027062802.GC207971@kroah.com> <20201027151106.e4skr6dsbwvo4al6@axis.com> <93bd1c60ea4d910489a7592200856eaf8022ced0.camel@intel.com> <20201029100727.trbppgbusd5vogpz@axis.com> <87mu05f94g.wl-ashutosh.dixit@intel.com> In-Reply-To: <87mu05f94g.wl-ashutosh.dixit@intel.com> From: Arnd Bergmann Date: Thu, 29 Oct 2020 14:54:37 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH V3 2/4] misc: vop: do not allocate and reassign the used ring To: "Dixit, Ashutosh" Cc: Vincent Whitchurch , Sherry Sun , "Dutt, Sudeep" , dl-linux-imx , "linux-kernel@vger.kernel.org" , "hch@infradead.org" , "kishon@ti.com" , "lorenzo.pieralisi@arm.com" , "gregkh@linuxfoundation.org" Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Oct 29, 2020 at 2:35 PM Dixit, Ashutosh wrote: > On Thu, 29 Oct 2020 04:53:09 -0700, Arnd Bergmann wrote: > > > > - PCIe endpoint, with the endpoint controlling the virtio configuration > > - PCIe endpoint, with the host (the side that has the pci_driver) controlling > > the virtio configuration > > - NTB connections > > - your loopback mode > > - Virtio tunnels between VM guests (see https://www.linaro.org/projects/#STR) > > - Intel MIC (to be removed, but it would be wrong to make assumptions that > > cannot be made on that type of hardware) > > A virtio interface being one between host and guest is inherently > asymmetric. The whole innovation of the VOP design was to treat Linux on a > PCIe device as a guest, there was even talk at some point of the "guest" > being managed via libvirt. So here host and guest retain their specific > role/personality. The host "inserts" devices which appear in the guest > e.g. So I am not sure how this asymmetry plays in the scenarios mentioned > above. This is the reason I listed the PCIe endpoint mode twice. I expect that some use cases require the same setup as MIC, with Linux on some kind of PCIe add-on card using devices that are implemented on the host. In other cases we may need the opposite: you may have a PCIe add-on card that provides arbitrary services to the host in the same way that most PCIe endpoint devices work. An example might be a smart NIC running a standalone Linux, but implementing virtio-net to avoid the need for custom drivers on the host. In the endpoint framework, it is always the endpoint that decides what PCI devices it wants to implement, but in case of VOP that device could be either the side that configures and implements the virtio devices, or the side that probes and uses them. Arnd