New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
runtime-rs: make compilation for QEMU on s390x #8454
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @BbolroC, Thx for your work.
Can we break this PR down into smaller commits? The commit messages don't seem to match the code changes. For example, a lot of the code changes don't seem to be related to "make compilation for QEMU on s390x".
Yes, I will definitely. Thanks for the comment. I also got the similar comment from @gkurz. But at the moment this PR has lots of conflict with #8185 (upcoming QEMU implementation) which also depends on #8414. I will start re-working this PR after getting the confirmation for going ahead from @pmores . Thanks. 😉 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @BbolroC, one initial question. I would also be grateful if you could break this into smaller commits.
70275b6
to
8346fee
Compare
7818a9a
to
5f3e900
Compare
use hypervisor::ch::CloudHypervisor; | ||
#[cfg(feature = "cloud-hypervisor")] | ||
#[cfg(all(feature = "cloud-hypervisor", not(target_arch = "s390x")))] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would love for the resulting code to have fewer conditional compilation lines but frankly, I don't see how to achieve that at the moment, without a major refactor to group individual hypervisors' code more closely together.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I support your preference. Refactoring will be necessary (potentially not a small scale, I think), and this could be effectively handled by one of the Rust experts.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Definitely out of scope for this PR, to be handled by a subsequent one I agree. I approved already regardless of this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @BbolroC !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is certain that you had to enable the compilation first in order to hit the build issues and fix them. Now that this code is going to be merged into main, please consider bisectability : in order for the enablement patch to not break the build, it should be applied after the fixes, i.e. last in the PR.
5f3e900
to
182df14
Compare
Dragonball and cloud-hypervisor are not supported on s390x. We need to exclude the plugins for these hypervisors from compilation. Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
It fails to compile virt_container because Dragonball is only used in the implementation of the trait method Persist::restore(). As the hypervisor is not compiled on s390x and QEMU implements the trait method, this commit is to let the method use QEMUi's. Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
182df14
to
e7e8eb9
Compare
/test |
Until now, runtime-rs couldn't be compiled on s390x. We need to lift those restrictions in Makefile first. Fixes: kata-containers#8446 Signed-off-by: Hyounggyu Choi <Hyounggyu.Choi@ibm.com>
e7e8eb9
to
bb6f507
Compare
/test |
I have finished studying |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thanks for understanding the git bisect
related request @BbolroC ! 😃
This PR is to make
runtime-rs
compilable with QEMU on s390x. This is just a base work for the s390x enablement. There must be a few more steps (implementation for s390x-specific) to run a container with runtime-rs.Fixes: #8446
Signed-off-by: Hyounggyu Choi Hyounggyu.Choi@ibm.com