Re: [PATCH v6 2/7] s390: ap: new vfio_ap_queue structure

Pierre Morel
2019-03-28T16:06:06Z

On 28/03/2019 16:32, Tony Krowiak wrote:
> On 3/28/19 9:06 AM, Pierre Morel wrote:
>> On 26/03/2019 21:45, Tony Krowiak wrote:
>>> On 3/22/19 10:43 AM, Pierre Morel wrote:
>>>> The AP interruptions are assigned on a queue basis and

...
>>>> +static void vfio_ap_free_queue(int apqn, struct ap_matrix_mdev
>>>> *matrix_mdev)
>>>> +{
>>>> +    struct vfio_ap_queue *q;
>>>> +
>>>> +    q = vfio_ap_get_queue(apqn, &matrix_mdev->qlist);
>>>> +    if (!q)
>>>> +        return;
>>>> +    q->matrix_mdev = NULL;
>>>> +    vfio_ap_mdev_reset_queue(q);
>>>
>>> I'm wondering if it's necessary to reset the queue here. The only time
>>> a queue is used is when a guest using the mdev device is started. When
>>> that guest is terminated, the fd for the mdev device is /* Bits 41-47
>>> must all be zeros */closed and the
>>> mdev device's release callback is invoked. The release callback resets
>>> the queues assigned to the mdev device. Is it really necessary to
>>> reset the queue again when it is unassigned even if there would have
>>> been no subsequent activity?
>>
>> Yes, it is necessary, the queue can be re-assigned to another guest
>> later.
>> Release will only be called when unbinding the queue from the driver.
>
> That is true, but if the queue is never used, there is nothing to reset.

:) OK

Regards,
Pierre

--
Pierre Morel
Linux/KVM/QEMU in Böblingen - Germany