Re: [PATCH v3 04/20] i40e: Register a virtbus device to provide RDMA

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/16/2019 12:45 PM, Greg KH wrote:
> On Mon, Dec 16, 2019 at 03:48:05AM +0000, Parav Pandit wrote:
[..]
>>> I feel like the virtual bus code is getting better, but this use of the
>>> code, um, no, not ok.
>>>
>>> Either way, this series is NOT ready to be merged anywhere, please do
>>> not try to rush things.
>>>
>>> Also, what ever happened to my "YOU ALL MUST AGREE TO WORK TOGETHER"
>>> requirement between this group, and the other group trying to do the
>>> same thing?  I want to see signed-off-by from EVERYONE involved before
>>> we are going to consider this thing.
>>
>> I am working on RFC where PCI device is sliced to create sub-functions.
>> Each sub-function/slice is created dynamically by the user.
>> User gives sf-number at creation time which will be used for plumbing by
>> systemd/udev, devlink ports.
> 
> That sounds exactly what is wanted here as well, right?

Not exactly.
Here, in i40 use case - there is a PCI function.
This PCI function is used by two drivers:
(1) vendor_foo_netdev.ko creating Netdevice (class net)
(2) vendor_foo_rdma.ko creating RDMA device (class infiniband)

And both drivers are notified using matching service virtbus, which
attempts to create to two virtbus_devices with different driver-id, one
for each class of device.

However, devices of both class (net, infiniband) will have parent device
as PCI device.

In case of sub-functions, created rdma and netdevice will have parent as
the sub-function 'struct device'. This way those SFs gets their
systemd/udev plumbing done rightly.

> 
>> This sub-function will have sysfs attributes = sfnumber, irq vectors,
>> PCI BAR resource files.
>> sfnumber as sysfs file will be used by systemd/udev to have
>> deterministic names of netdev and rdma device created on top of
>> sub-function's 'struct device'.
>>
>> As opposed to that, matching service devices won't have such attributes.
>>
>> We stayed away from using mdev bus for such dual purpose in past.
> 
> That is good.
> 
>> Should we have virtbus that holds 'struct device' created for different
>> purpose and have different sysfs attributes? Is it ok?
> 
> That's fine to do, I was expecting that to happen.
> 
ok. Thanks a lot.
Lets understand above additional (non sysfs) difference as well on how
virtbus device is getting used differently between sub-functions and
matching service purposes.




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux