On Fri, 8 Nov 2019 at 12:46, David Hildenbrand <da...@redhat.com> wrote: > There is a small but important difference between "max"/"host" and > "best". Max really means "all features", including deprecated ones. > "best", however, can disable experimental or deprecated features. Or any > other features we don't want to be enabled when somebody selects a model > manually. > > On s390x, the feature "csske" is deprecated. New HW still has it, but we > want new guests to run without this facility. Dropping it from "max" > would affect existing setups. We already changed the default model > (e.g., -cpu z13) to disable it with never QEMU machines. > > E.g., nested virtualization features on some architectures could be a > feature set you want to disable, although contained in the "max" model. > (e.g., no migration support yet). > > > I am not completely against calling these "max" models instead of "best" > models, but I think this makes it clearer that there is indeed a difference.
Hmm. I see the distinction, but is it one that's sufficiently worth making that we want to expose it to our users, possibly try to add it to the other architectures, etc ? How bad is it if the CPU provides some legacy deprecated feature that the guest just doesn't use ? 'max' already shouldn't include experimental features, at least for Arm -- those should be off by default, because they're experimental and you only want users to get them if they explicitly opt in via '-cpu something,+x-my-feature'. thanks -- PMM