dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@mellanox.com>
To: Jason Wang <jasowang@redhat.com>
Cc: "rdunlap@infradead.org" <rdunlap@infradead.org>,
	"jakub.kicinski@netronome.com" <jakub.kicinski@netronome.com>,
	"christophe.de.dinechin@gmail.com"
	<christophe.de.dinechin@gmail.com>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	"airlied@linux.ie" <airlied@linux.ie>,
	"heiko.carstens@de.ibm.com" <heiko.carstens@de.ibm.com>,
	"dri-devel@lists.freedesktop.org"
	<dri-devel@lists.freedesktop.org>,
	"oberpar@linux.ibm.com" <oberpar@linux.ibm.com>,
	"kwankhede@nvidia.com" <kwankhede@nvidia.com>,
	"rob.miller@broadcom.com" <rob.miller@broadcom.com>,
	"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>,
	"sebott@linux.ibm.com" <sebott@linux.ibm.com>,
	"lulu@redhat.com" <lulu@redhat.com>,
	"eperezma@redhat.com" <eperezma@redhat.com>,
	"pasic@linux.ibm.com" <pasic@linux.ibm.com>,
	"borntraeger@de.ibm.com" <borntraeger@de.ibm.com>,
	haotian.wang@s
Subject: Re: [PATCH V13 4/6] mdev: introduce mediated virtio bus
Date: Tue, 19 Nov 2019 14:14:33 +0000	[thread overview]
Message-ID: <20191119141429.GF26739@mellanox.com> (raw)
In-Reply-To: <d38abc98-b828-64cd-50cd-cb0d239e1696@redhat.com>

On Tue, Nov 19, 2019 at 10:02:08PM +0800, Jason Wang wrote:
> 
> On 2019/11/19 下午8:38, Jason Gunthorpe wrote:
> > On Tue, Nov 19, 2019 at 10:41:31AM +0800, Jason Wang wrote:
> > > On 2019/11/19 上午4:28, Jason Gunthorpe wrote:
> > > > On Mon, Nov 18, 2019 at 03:27:13PM -0500, Michael S. Tsirkin wrote:
> > > > > On Mon, Nov 18, 2019 at 01:41:00PM +0000, Jason Gunthorpe wrote:
> > > > > > On Mon, Nov 18, 2019 at 06:59:21PM +0800, Jason Wang wrote:
> > > > > > > +struct bus_type mdev_virtio_bus_type;
> > > > > > > +
> > > > > > > +struct mdev_virtio_device {
> > > > > > > +	struct mdev_device mdev;
> > > > > > > +	const struct mdev_virtio_ops *ops;
> > > > > > > +	u16 class_id;
> > > > > > > +};
> > > > > > This seems to share nothing with mdev (ie mdev-vfio), why is it on the
> > > > > > same bus?
> > > > > I must be missing something - which bus do they share?
> > > > mdev_bus_type ?
> > > > 
> > > > Jason
> > > 
> > > Note: virtio has its own bus: mdev_virtio_bus_type. So they are not the same
> > > bus.
> > That is even worse, why involve struct mdev_device at all then?
> > 
> > Jason
> 
> 
> I don't quite get the question here.

In the driver model the bus_type and foo_device are closely
linked. Creating 'mdev_device' instances and overriding the bus_type
is a very abusive thing to do.

> My understanding for mdev is that it was a mediator between the driver and
> physical device when it's hard to let them talk directly due to the
> complexity of refactoring and maintenance.

Really, mdev is to support vfio with a backend other than PCI, nothing
more.

Abusing it for other things is not appropriate. ie creating an
instance and not filling in most of the vfio focused ops is an abusive
thing to do.

> hardware that can offload virtio datapath but not control path. We want to
> present a unified interface (standard virtio) instead of a vendor specific
> interface, so a mediator level in the middle is a must. For virtio driver,
> mediator present a full virtio compatible device. For hardware, mediator
> will mediate the difference between the behavior defined by virtio spec and
> real hardware.

If you need to bind to the VFIO driver then mdev is the right thing to
use, otherwise it is not.

It certainly should not be used to bind to random kernel drivers. This
problem is what this virtual bus idea Intel is working on might solve.

It seems the only thing people care about with mdev is the GUID
lifecycle stuff, but at the same time folks like Parav are saying they
don't want to use that lifecycle stuff and prefer devlink
instead.

Most likely, at least for virtio-net, everyone else will be able to
use devlink as well, making it much less clear if that GUID lifecycle
stuff is a good idea or not.

Jason
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

  parent reply	other threads:[~2019-11-19 14:14 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-18 10:59 [PATCH V13 0/6] mdev based hardware virtio offloading support Jason Wang
2019-11-18 10:59 ` [PATCH V13 1/6] mdev: make mdev bus agnostic Jason Wang
2019-11-19  3:08   ` Randy Dunlap
2019-11-19  3:08     ` Randy Dunlap
2019-11-18 10:59 ` [PATCH V13 2/6] mdev: split out VFIO bus specific parent ops Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-18 10:59 ` [PATCH V13 3/6] mdev: move to drivers/ Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-19  3:11   ` Randy Dunlap
2019-11-19  3:11     ` Randy Dunlap
2019-11-18 10:59 ` [PATCH V13 4/6] mdev: introduce mediated virtio bus Jason Wang
2019-11-18 13:41   ` Jason Gunthorpe
2019-11-18 13:41     ` Jason Gunthorpe
2019-11-18 20:27     ` Michael S. Tsirkin
2019-11-18 20:27       ` Michael S. Tsirkin
2019-11-18 20:28       ` Jason Gunthorpe
2019-11-18 20:28         ` Jason Gunthorpe
2019-11-19  2:41         ` Jason Wang
2019-11-19  2:41           ` Jason Wang
2019-11-19 12:38           ` Jason Gunthorpe
2019-11-19 14:02             ` Jason Wang
2019-11-19 14:02               ` Jason Wang
2019-11-19 14:14               ` Jason Gunthorpe [this message]
2019-11-20  2:14                 ` Jason Wang
2019-11-20  2:14                   ` Jason Wang
2019-11-20 13:49                   ` Jason Gunthorpe
2019-11-20 13:49                     ` Jason Gunthorpe
2019-11-21  3:05                     ` Jason Wang
2019-11-21  3:05                       ` Jason Wang
2019-11-26 12:07                   ` Rob Miller
2019-11-26 12:07                     ` Rob Miller
2019-11-19  2:40     ` Jason Wang
2019-11-19  2:40       ` Jason Wang
2019-11-19  3:13   ` Randy Dunlap
2019-11-19  3:13     ` Randy Dunlap
2019-11-18 10:59 ` [PATCH V13 5/6] virtio: introduce a mdev based transport Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-18 10:59 ` [PATCH V13 6/6] docs: sample driver to demonstrate how to implement virtio-mdev framework Jason Wang
2019-11-18 10:59   ` Jason Wang
2019-11-18 15:17   ` Greg KH
2019-11-18 15:17     ` Greg KH
2019-11-19  3:03     ` Jason Wang
2019-11-19  3:03       ` Jason Wang
2019-11-19 12:40       ` Jason Gunthorpe
2019-11-19 14:07         ` Jason Wang
2019-11-19 14:07           ` Jason Wang
2019-11-19 16:39           ` Jason Gunthorpe
2019-11-18 15:45   ` Cornelia Huck
2019-11-18 15:45     ` Cornelia Huck
2019-11-19  3:04     ` Jason Wang
2019-11-19  3:04       ` Jason Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191119141429.GF26739@mellanox.com \
    --to=jgg@mellanox.com \
    --cc=airlied@linux.ie \
    --cc=borntraeger@de.ibm.com \
    --cc=christophe.de.dinechin@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=eperezma@redhat.com \
    --cc=haotian.wang@s \
    --cc=heiko.carstens@de.ibm.com \
    --cc=jakub.kicinski@netronome.com \
    --cc=jasowang@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwankhede@nvidia.com \
    --cc=linux-s390@vger.kernel.org \
    --cc=lulu@redhat.com \
    --cc=mst@redhat.com \
    --cc=oberpar@linux.ibm.com \
    --cc=pasic@linux.ibm.com \
    --cc=rdunlap@infradead.org \
    --cc=rob.miller@broadcom.com \
    --cc=sebott@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox