On 11.03.22 05:17, Collin Walling wrote: > The s390x architecture has a growing list of features that will no longer > be supported on future hardware releases. This introduces an issue with > migration such that guests, running on models with these features enabled, > will be rejected outright by machines that do not support these features. > > A current example is the CSSKE feature that has been deprecated for some time. > It has been publicly announced that gen15 will be the last release to > support this feature, however we have postponed this to gen16a. A possible > solution to remedy this would be to create a new QEMU QMP Response that allows > users to query for deprecated/unsupported features. > > This presents two parts of the puzzle: how to report deprecated features to > a user (libvirt) and how should libvirt handle this information. > > First, let's discuss the latter. The patch presented alongside this cover letter > attempts to solve the migration issue by hard-coding the CSSKE feature to be > disabled for all s390x CPU models. This is done by simply appending the CSSKE > feature with the disabled policy to the host-model. > > libvirt pseudo: > > if arch is s390x > set CSSKE to disabled for host-model That violates host-model semantics and possibly the user intend. There would have to be some toggle to manually specify this, for example, a new model type or a some magical flag. Gluing this to the "host-model" feels wrong. The other concern I have is that deprecated features are a moving target, and with a new QEMU version you could suddenly have more deprecated features. Hm. Maybe you'd want some kind of a host-based-model from QEMU that does this automatically? I need more coffee to get creative on a name. -- Thanks, David / dhildenb