kata-containers/govmm

QEMU removed -realtime -- do we need to update the virtcontainers API?

Jakob-Naucke opened this issue · 12 comments

QEMU removed the -realtime option, instead, -overcommit mem-lock=on|off should be used. This is a trivial change to make in GoVMM, but the virtcontainers API 1.0 has the Realtime bool.
Does this mean we need to update the virtcontainers API?

QEMU removed the -realtime option, instead, -overcommit mem-lock=on|off should be used. This is a trivial change to make in GoVMM, but the virtcontainers API 1.0 has the Realtime bool.
Does this mean we need to update the virtcontainers API?

It does. But we should do that once we add support to QEMU 6.0 on our side.

@wainersm, @jcvenegas, I remember you, Carlos, was working on getting QEMU 6.x to be used. Is this something we should do for 2.3.x? Or do you guys see this as something to be done ASAP ... even being late in the cycle for 2.2.x?

/cc @kata-containers/architecture-committee as well.

I got into this because -realtime is not supported on s390x, but -overcommit is. Honestly though, I don't think it's critical to rush this into 2.2.x.

It does. But we should do that once we add support to QEMU 6.0 on our side.

@wainersm, @jcvenegas, I remember you, Carlos, was working on getting QEMU 6.x to be used. Is this something we should do for 2.3.x? Or do you guys see this as something to be done ASAP ... even being late in the cycle for 2.2.x?

@fidencio I am only aware of that kata-containers/kata-containers#1958 which bump to QEMU 6.0 on our side. I reviewed and approved it while ago, it is pending more reviews. Or if none feature is demanding the update then we can wait until QEMU 6.1 which the release is schedule to the end of August according to https://wiki.qemu.org/Planning/6.1 .

@fidencio thanks for your review on the PR -- but do we need the API update?

@fidencio thanks for your review on the PR -- but do we need the API update?

As in the govmm update? I think it doesn't hurt as @dgibson already merged a bunch of changes related to that.
see: kata-containers/kata-containers#2502

I meant: We still call this flag Realtime in virtcontainers: https://github.com/kata-containers/kata-containers/blob/45d40179c2f1bb6b3bbafa338557e196a9c7f540/src/runtime/virtcontainers/hypervisor.go#L423
but that name is kind of dead since v6 so it's a little confusing.

Oh, I see, IMHO we could keep it as it's there, but I'd like to hear from David on that.

is there any API stability guarantees on virtcontainers? Because I think such as API change will represent a break.

@devimc DYT it's fine to keep calling the bool Realtime in the virtcontainers API even though QEMU doesn't use it any more?

@Jakob-Naucke let's remove it in favor of QEMU 6, wdyt?

IMO we can do it, even though it requires an incompatible and therefore new API version. I might not get around to it in the very near future though.