[lkml]   [2020]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH V2 3/5] vDPA: introduce vDPA bus

On 2020/2/13 下午9:41, Jason Gunthorpe wrote:
> On Thu, Feb 13, 2020 at 11:34:10AM +0800, Jason Wang wrote:
>>> You have dev, type or
>>> class to choose from. Type is rarely used and doesn't seem to be used
>>> by vdpa, so class seems the right choice
>>> Jason
>> Yes, but my understanding is class and bus are mutually exclusive. So we
>> can't add a class to a device which is already attached on a bus.
> While I suppose there are variations, typically 'class' devices are
> user facing things and 'bus' devices are internal facing (ie like a
> PCI device)

Though all vDPA devices have the same programming interface, but the
semantic is different. So it looks to me that use bus complies what
class.rst said:


Each device class defines a set of semantics and a programming interface
that devices of that class adhere to. Device drivers are the
implementation of that programming interface for a particular device on
a particular bus.


> So why is this using a bus? VDPA is a user facing object, so the
> driver should create a class vhost_vdpa device directly, and that
> driver should live in the drivers/vhost/ directory.

This is because we want vDPA to be generic for being used by different
drivers which is not limited to vhost-vdpa. E.g in this series, it
allows vDPA to be used by kernel virtio drivers. And in the future, we
will probably introduce more drivers in the future.

> For the PCI VF case this driver would bind to a PCI device like
> everything else
> For our future SF/ADI cases the driver would bind to some
> SF/ADI/whatever device on a bus.

All these driver will still be bound to their own bus (PCI or other).
And what the driver needs is to present a vDPA device to virtual vDPA
bus on top.


> I don't see a reason for VDPA to be creating busses..
> Jason

 \ /
  Last update: 2020-02-13 16:01    [W:0.059 / U:10.536 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site