Re: [PATCH v2 8/8] virtio/s390: make airq summary indicators DMA

Michael Mueller
2019-05-28T14:58:11Z

On 28.05.19 16:33, Halil Pasic wrote:
> On Mon, 27 May 2019 14:00:18 +0200
> Cornelia Huck <cohuck@redhat.com> wrote:
>
>> On Thu, 23 May 2019 18:22:09 +0200
>> Michael Mueller <mimu@linux.ibm.com> wrote:
>>
>>> From: Halil Pasic <pasic@linux.ibm.com>
>>>
>>> Hypervisor needs to interact with the summary indicators, so these
>>> need to be DMA memory as well (at least for protected virtualization
>>> guests).
>>>
>>> Signed-off-by: Halil Pasic <pasic@linux.ibm.com>
>>> ---
>>> drivers/s390/virtio/virtio_ccw.c | 22 +++++++++++++++-------
>>> 1 file changed, 15 insertions(+), 7 deletions(-)
>>
>> (...)
>>
>>> @@ -1501,6 +1508,7 @@ static int __init virtio_ccw_init(void)
>>> {
>>> /* parse no_auto string before we do anything further */
>>> no_auto_parse();
>>> + summary_indicators = cio_dma_zalloc(MAX_AIRQ_AREAS);
>>
>> What happens if this fails?
>
> Bad things could happen!
>
> How about adding
>
> if (!summary_indicators)
> virtio_ccw_use_airq = 0; /* fall back to classic */
>
> ?
>
> Since it ain't very likely to happen, we could also just fail
> virtio_ccw_init() with -ENOMEM.

That is what I'm currently doing in v3.

>
> Regards,
> Halil
>
>
>>
>>> return ccw_driver_register(&virtio_ccw_driver);
>>> }
>>> device_initcall(virtio_ccw_init);
>>
>

Michael