|
From: | David Hildenbrand |
Subject: | Re: [PATCH v1 0/2] s390x/cpumodel: Introduce "best" model variants |
Date: | Fri, 8 Nov 2019 13:46:01 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
On 08.11.19 12:10, Peter Maydell wrote:
On Fri, 8 Nov 2019 at 11:08, David Hildenbrand <address@hidden> wrote:There was recently a discussion regarding CPU model versions. That concept does not fit s390x where we have a lot of feature variability. I proposed an alternative approach in [1], which might work for x86 as well (but I am not sure if x86 still can or wants to switch to that), and requires no real changes in upper layers. [1] and patch #2 contains more information on the motivation for this. E.g., specifying/expanding "z14-best" will result in the "best feature set possible on this accelerator, hw and, firmware". While a "z13" does not work under TCG and some z/VM versions, "z13-best" will work.I think other architectures call this concept "max", not "best". If we can manage some cross-architecture consistency that would be helpful, but is s390x using 'max' already for something else?
We have the "max" model just like other architecturess390 max Enables all features supported by the accelerator in the current host
It is basically the "host" model under KVM, and the "qemu" model under TCG (with minor differences for the latter).
This series introduces e.g.,s390 z900-best IBM zSeries 900 GA1 with best features supported by the accelerator in the current host
s390 z14-best IBM z14 GA1 with best features supported by the accelerator in the current host
s390 z14ZR1-best IBM z14 Model ZR1 GA1 with best features supported by the accelerator in the current host
s390 gen15a-best IBM z15 GA1 with best features supported by the accelerator in the current host
s390 gen15b-best IBM 8562 GA1 with best features supported by the accelerator in the current host
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.
Maybe, we even want a "-cpu best" that would not map to "-cpu host"/"-cpu max", but to a cleaned up "-cpu host"/"-cpu max" (e.g., disable deprecated features). Long term, we might even want to change the default when no "-cpu" is specified to "-cpu best" - which should now be possible with the latest QEMU changes to query the default model for a specific QEMU machine.
-- Thanks, David / dhildenb
[Prev in Thread] | Current Thread | [Next in Thread] |