Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp453985pxx; Thu, 29 Oct 2020 06:37:24 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxcEfJxXr7pgNocue8MqSSQLduU87sTNeUzgbf0UoFn5fqss3ieMj85nCWNTgQUTpIdEaGK X-Received: by 2002:a17:906:3acd:: with SMTP id z13mr4281305ejd.118.1603978644490; Thu, 29 Oct 2020 06:37:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603978644; cv=none; d=google.com; s=arc-20160816; b=VlOGRV6H25/axV/xxzRhoqKr3U+Ky54XMoum0lbImUTANOCFoDtFa5jvClgLrhFq2B H9e0E3HUmomV5q7VfIpo4mQr19wnyxbjDoHCwa5hVqUJ+U+tNlOH1WA9D3SZsu0q8KyT vRRV93/mFBRzv8HwWpbez0deJMTS7ypJhyHa9iOIqMKhU/mUZjrdiqHT9EM3XeOMmFYy mJUKSnGEDdcm4iTygQ5KXWPpEneZCcCCenimP/+NFI5qPjNPgYm88qgxg3kI2QyIM7Jq Xa8V8FK7hzc9jW5UiEbXB535SIpXc5YoU4YRmAeIoec97SskbKM9pIdfIIl+/VAacL10 oQng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent:references:in-reply-to :subject:cc:to:from:message-id:date:ironport-sdr:ironport-sdr; bh=nY7k9eRXRfZOiZe/itsF5MGZw+VCPWBIGRteBoDgvvY=; b=WGbjgwrsXyhoiMHq5amA/GzbcmmUYMGtWUNs4kVH8YWCAGEEekuSlvQrQNI5V9cjXY O004489yuEOuyHy6XqdD8NQuMzhq7J13ZYD2lr+8FO5epvtun+l6SsWnlRfizNOC2zvk h3rstYoW4z0u9JqT5+DSKYYESfxwNc1RfPMQ1I/GBgGP9y062Vs0S4WLiPLt2gGIyzgD 87EFUXNc63PyqqmZNdBy7aJPVV4PsK402C1TgSZ70cIvXpFQEtJnfRDsoAO4f0CqzOon PWbsLDZV+iOU1yC5wcsNhxqBNotUo81Ap0q8rCkfj1Ba0feCTLJ5vk0ifbYGCEX/7RX8 Z/ZA== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nw21si880498ejb.708.2020.10.29.06.37.01; Thu, 29 Oct 2020 06:37:24 -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; 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=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727151AbgJ2NfS (ORCPT + 99 others); Thu, 29 Oct 2020 09:35:18 -0400 Received: from mga12.intel.com ([192.55.52.136]:20010 "EHLO mga12.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726482AbgJ2NfS (ORCPT ); Thu, 29 Oct 2020 09:35:18 -0400 IronPort-SDR: bpmpPhVGBayGAeS3y0iKZ5Ftri9VWXF1RBT3l6oGB/RDjSnbC167Qmh2c3g7jwLC0JffAsXnDl 9n8el13XQHrA== X-IronPort-AV: E=McAfee;i="6000,8403,9788"; a="147712752" X-IronPort-AV: E=Sophos;i="5.77,430,1596524400"; d="scan'208";a="147712752" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Oct 2020 06:35:12 -0700 IronPort-SDR: 6KqWRgHxOkP1pXZ8FWz1pviQebG2iDeb3+NBxWwkrq352GAjT320g+H7E/Kq0ks+cXaHLmGx2k WqQy163E1vkA== X-IronPort-AV: E=Sophos;i="5.77,430,1596524400"; d="scan'208";a="351449000" Received: from adixit-mobl1.amr.corp.intel.com (HELO adixit-arch.intel.com) ([10.212.42.193]) by fmsmga004-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Oct 2020 06:35:12 -0700 Date: Thu, 29 Oct 2020 06:35:11 -0700 Message-ID: <87mu05f94g.wl-ashutosh.dixit@intel.com> From: "Dixit, Ashutosh" To: Arnd Bergmann 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" Subject: Re: [PATCH V3 2/4] misc: vop: do not allocate and reassign the used ring In-Reply-To: References: <20201023092650.GB29066@infradead.org> <20201027062802.GC207971@kroah.com> <20201027151106.e4skr6dsbwvo4al6@axis.com> <93bd1c60ea4d910489a7592200856eaf8022ced0.camel@intel.com> <20201029100727.trbppgbusd5vogpz@axis.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?ISO-8859-4?Q?Goj=F2?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 29 Oct 2020 04:53:09 -0700, Arnd Bergmann wrote: > > On Thu, Oct 29, 2020 at 11:07 AM Vincent Whitchurch > wrote: > > > > On Wed, Oct 28, 2020 at 04:50:36PM +0100, Arnd Bergmann wrote: > > > I think we should try to do something on top of the PCIe endpoint subsystem > > > to make it work across arbitrary combinations of host and device > > > implementations, > > > and provide a superset of what the MIC driver, (out-of-tree) Bluefield endpoint > > > driver, and the NTB subsystem as well as a couple of others used to do, > > > each of them tunneling block/network/serial/... over a PCIe link of some > > > sort, usually with virtio. > > > > VOP is not PCIe-specific (as demonstrated by the vop-loopback patches I > > posted a while ago [1]), and it would be a shame for a replacement to be > > tied to the PCIe endpoint subsystem. There are many SOCs out there > > which have multiple Linux-capable processors without cache-coherency > > between them. VOP is (or should I say was since I guess it's being > > deleted) the closest we have in mainline to easily get generic virtio > > (and not just rpmsg) running between these kind of Linux instances. If > > a new replacement framework were to be PCIe-exclusive then we'd have to > > invent one more framework for non-PCIe links to do pretty much the same > > thing. > > > > [1] https://lore.kernel.org/lkml/20190403104746.16063-1-vincent.whitchurch@axis.com/ > > Right, sorry I forgot about that. I think this means we should keep having > an abstraction between VOP (under whichever name) and the lower levels, > and be aware that it might run on any number of these: > > - 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.