On 28.12.2018 04:12, Wei Wang wrote:
> On 12/27/2018 08:03 PM, Christian Borntraeger wrote:
>> On 27.08.2018 03:32, Wei Wang wrote:
>>> static int init_vqs(struct virtio_balloon *vb)
>>> {
>>> - struct virtqueue *vqs[3];
>>> - vq_callback_t *callbacks[] = { balloon_ack, balloon_ack, stats_request
>>> };
>>> - static const char * const names[] = { "inflate", "deflate", "stats" };
>>> - int err, nvqs;
>>> + struct virtqueue *vqs[VIRTIO_BALLOON_VQ_MAX];
>>> + vq_callback_t *callbacks[VIRTIO_BALLOON_VQ_MAX];
>>> + const char *names[VIRTIO_BALLOON_VQ_MAX];
>>> + int err;
>>>
>>> /*
>>> - * We expect two virtqueues: inflate and deflate, and
>>> - * optionally stat.
>>> + * Inflateq and deflateq are used unconditionally. The names[]
>>> + * will be NULL if the related feature is not enabled, which will
>>> + * cause no allocation for the corresponding virtqueue in find_vqs.
>>> */
>> This might be true for virtio-pci, but it is not for virtio-ccw.
>
> Hi Christian,
>
>
> Please try the fix patches: https://lkml.org/lkml/2018/12/27/336
See answer to that thread. It fixes the random boot crashes.
There is still the regression that ballooning does no longer work on
s390 (see the call trace).
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization