Re: [RFC PATCH] s390: vfio-ap: Register the vfio_ap module for the "ap" parent bus

Tony Krowiak
2022-01-27T15:10:44Z

On 1/27/22 05:33, Thomas Huth wrote:
> On 14/12/2021 22.28, Tony Krowiak wrote:
>>
>>
>> On 12/13/21 10:44, Harald Freudenberger wrote:
>>> On 01.12.21 15:11, Thomas Huth wrote:
>>>> The crypto devices that we can use with the vfio_ap module are sitting
>>>> on the "ap" bus, not on the "vfio_ap" bus that the module defines
>>>> itself. With this change, the vfio_ap module now gets automatically
>>>> loaded if a supported crypto adapter is available in the host.
>>>>
>>>> Signed-off-by: Thomas Huth <thuth@redhat.com>
>>>> ---
>>>>   Note: Marked as "RFC" since I'm not 100% sure about it ...
>>>>         please review carefully!
>>>>
>>>>   drivers/s390/crypto/vfio_ap_drv.c | 2 +-
>>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/s390/crypto/vfio_ap_drv.c
>>>> b/drivers/s390/crypto/vfio_ap_drv.c
>>>> index 4d2556bc7fe5..5580e40608a4 100644
>>>> --- a/drivers/s390/crypto/vfio_ap_drv.c
>>>> +++ b/drivers/s390/crypto/vfio_ap_drv.c
>>>> @@ -39,7 +39,7 @@ static struct ap_device_id ap_queue_ids[] = {
>>>>       { /* end of sibling */ },
>>>>   };
>>>> -MODULE_DEVICE_TABLE(vfio_ap, ap_queue_ids);
>>>> +MODULE_DEVICE_TABLE(ap, ap_queue_ids);
>>>>   /**
>>>>    * vfio_ap_queue_dev_probe:
>>> I had a chance to check this now.
>>> First I have to apologize about the dispute with vfio devices
>>> appearing on the ap bus.
>>> That's not the case with this patch. As Connie states the
>>> MODULE_DEVICE_TABLE() does not
>>> change the parent of a device and vfio_ap_drv is a driver for ap
>>> devices and thus
>>> belongs to the ap bus anyway.
>>> So what's left is that with this change the vfio_ap kernel module is
>>> automatically loaded
>>> when an ap device type 10-13 is recognized by the ap bus. So the
>>> intention of the patch
>>> is fulfilled.
>>> Yet another kernel module which may occupy memory but will never get
>>> used by most customers.
>>> This may not be a problem but I had a glance at the list of kernel
>>> modules loaded on my
>>> LPAR with and without the patch and the difference is:
>>> ...
>>> kvm                   512000  1 vfio_ap
>>> vfio_ap                28672  0
>>> ...
>>> So the vfio_ap module has a dependency to the biggest kernel module
>>> ever - kvm.
>>> Do I need to say something more?
>>>
>>> If this dependency is removed then I would not hesitate to accept
>>> this patch. However
>>> this is up to Tony as he is the maintainer of the vfio ap device
>>> driver.
>>
>> The vfio_ap device driver has a dependency on kvm, it can not be
>> removed.
>> If the user base for vfio_ap is minimal, then I see no reason why the
>> vfio_ap
>> module should be automatically loaded when an AP device type 10-13 is
>> recognized by the AP bus. The module is needed only to pass through AP
>> queue devices to a KVM guest.
>
> To continue the discussion here - it seems like my patch here won't be
> accepted? Shall I send another one instead to remove the bad
> MODLE_DEVICE_TABLE from the vfio_ap_drv.c file?
>
>  Thomas

After re-reviewing all of the comments, I am okay with this patch:

Reviewed-by: Tony Krowiak <akrowiak@linux.ibm.com>

If there are any other objections, speak now or forever hold your peace:)