<div dir="ltr">Hi,<div><br></div><div><br></div><div>I have a question regarding capability caching  in the context of KubeVirt.</div><div>Since we start in KubeVirt one libvirt instance per VM, libvirt has to re-discover on every VM start the qemu capabilities which leads to a 1-2s+ delay in startup.</div><div><br></div><div>We already discover the features in a dedicated KubeVirt pod on each node. Therefore I tried to copy the capabilities over to see if that would work.<br><br>It looks like in general it could work, but libvirt seems to detect a mismatch in the exposed KVM CPU ID in every pod. Therefore it invalidates the cache. The recreated capability cache looks esctly like the original one though ...<br><br>The check responsible for the invalidation is this:<br><br>```<br>Outdated capabilities for '%s': host cpuid changed<br>```<br><br>So the KVM_GET_SUPPORTED_CPUID call seems to return slightly different values in different containers.<br><br>After trying out the attached golang scripts in different containers, I could indeed see differences.<br><br>I can however not really judge what the differences in these KVM function registers mean and I am curious if someone else knows. The files are attached too (as json for easy diffing).<br><br>Best regards,<br>Roman<br><br></div></div>