Skip to content
This repository has been archived by the owner on May 12, 2021. It is now read-only.

vhost-user devices not available on Z #659

Closed
ghost opened this issue Aug 29, 2018 · 16 comments
Closed

vhost-user devices not available on Z #659

ghost opened this issue Aug 29, 2018 · 16 comments

Comments

@ghost
Copy link

ghost commented Aug 29, 2018

Description of problem

Qemu on s390x does not support vhost-user devices. We need to find a workaround to bypass this limitation.

any thoughts?

/cc @markdryan @rbradford @mcastelino @WeiZhang555 @jcvenegas @amshinde @devimc @jodh-intel

@jodh-intel
Copy link
Contributor

First question: why doesn't it support this feature?

@borntraeger
Copy link

Several reasons:
the s390 machine uses the ccw bus instead of the pci bus to drive virtio. So we would need
vhost-user-ccw backends, which are not wired up. This would be a smaller change, but there is another issue: vhost-user requires shared memory between qemu and another process. Right now shared memory (such as -object memory-backend-file or hugetlbfs) is not supported either with QEMU/kvm on s390x.

@jodh-intel
Copy link
Contributor

Hi @borntraeger - thanks for the information. Is adding support for memory-backend-file planned?

@borntraeger
Copy link

I had memory-backend-file not on my radar. The object itself can be created, but it cannot be used to back the guest as of today. FWIW, hugetlbfs support is also not available today (but in the works)
We would need to implement the numa support first to be able to attach a memory-backend-file object to a memory node.
So I do not expect this support to be ready soon, it needs someone working on that.

@jodh-intel
Copy link
Contributor

/cc @markdryan, @rbradford.

Related: https://github.com/intel/govmm.

@alicefr
Copy link
Member

alicefr commented Aug 29, 2018

@jodh-intel would it be possible to avoid VhostUserEndpointType? We can avoid to use huge page by avoiding to set the #enable_hugepages = true in the configuration.toml. It isn't complete clear to me in which case the vhost-user devices are required. Do they need explicitly to be configured in the devices.json ? Thanks for your help

@jodh-intel
Copy link
Contributor

/cc @amshinde, @egernst, @mcastelino.

@jcvenegas
Copy link
Member

@ydjainopensource @alicefr the VhostUserEndpointType endpoint today I think is only used for dpdk use cases. If that is the case the VhostUserEndpointType should not be used at all. @egernst is that correct?

@amshinde
Copy link
Member

@alicefr You will hit VhostUserEndpointType code path, only if you are using a CNM/CNI network plugin that explicitly passes a vhost-user endpoint. You do not need to do any other configuration. So, we can simply list this as a limitation on s390x.

@egernst
Copy link
Member

egernst commented Aug 29, 2018

Yes, @jcvenegas.

@devimc devimc assigned ghost Aug 29, 2018
@jcvenegas
Copy link
Member

agree with @amshinde it should be documented as a limitation.

@ghost
Copy link
Author

ghost commented Aug 30, 2018

Sounds sane to me. We will document this as a limitation.

@alicefr
Copy link
Member

alicefr commented Aug 30, 2018

thanks everybody! Yes, we can introduce this limitation on s390x and well document it. @ydjainopensource you could also introduce an error message in the function appendVhostUserDevice that explicitly uses vhost-user devices and it can be reimplemented for each architectures.

@grahamwhaley
Copy link
Contributor

Just for ref then, Kata has a limitations doc over at https://github.com/kata-containers/documentation/blob/master/Limitations.md
Right now I don't believe there is any arch specific info in there - but, that doesn't mean you can't be the first to add some ;-) I don't know if it makes sense to then add architecture specific sections to that doc (I suspect maybe), or just blend the limitations into the rest of the text.

alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 7, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.>
@alicefr
Copy link
Member

alicefr commented Dec 7, 2018

@jodh-intel I guess we can close this issue. An error message is thrown if the vhost-user devices are used on s390x (in govmm also). See #990 and kata-containers/govmm#68

alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 7, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 7, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
@jodh-intel
Copy link
Contributor

@alicefr - ack. closing...

alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 10, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 10, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 10, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 10, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 11, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
alicefr pushed a commit to alicefr/runtime that referenced this issue Dec 11, 2018
The PR adds the support for s390x.

In the case of CCW devices, the vhost-user devices are not supported.
See kata-containers#659. An error message is thrown if they tried to be used.

Memory hotplug is not supported on s390 yet and an error message is thrown.

The VirtioNetPCI has been changed to VirtioNet. The generalization
allows to set the VirtioNet to the correct CCW device for s390x.

Fixes: kata-containers#666

Co-authored-by: Yash D Jain ydjainopensource@gmail.com
Signed-off-by: Alice Frosi <afrosi@de.ibm.com>
egernst pushed a commit to egernst/runtime that referenced this issue Feb 9, 2021
For func NewAgentClient(), the parameter of 'enableYamux'
has nothing to do with 'Proxybuiltin' and it can be figured
out by the dialer's address scheme. Thus there is no need to
pass the parameter 'enableYamux'.

Fixes: kata-containers#659

Signed-off-by: lifupan <lifupan@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants