From: David Hildenbrand <david@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>
Cc: "Thomas Huth" <thuth@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Janosch Frank" <frankja@linux.ibm.com>,
"Cornelia Huck" <cohuck@redhat.com>,
"Richard Henderson" <richard.henderson@linaro.org>,
qemu-devel@nongnu.org, "Markus Armbruster" <armbru@redhat.com>,
"Halil Pasic" <pasic@linux.ibm.com>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
qemu-s390x@nongnu.org, "Jiri Denemark" <jdenemar@redhat.com>
Subject: Re: [PATCH v2 2/2] s390x/cpumodel: Introduce dynamic feature groups
Date: Mon, 2 Dec 2019 10:15:12 +0100 [thread overview]
Message-ID: <a5ae30ef-e193-fd22-b3e2-a7626e82d9b1@redhat.com> (raw)
In-Reply-To: <20191129193317.GE14595@habkost.net>
>> Say the user has the option to select a model (zEC12, z13, z14), upper
>> layers always want to have a model that includes all backported security
>> features. While the host model can do that, CPU definitions can't. You
>> can't change default models within a QEMU release, or for older releases
>> (e.g., a z13).
>>
>
> This is a good description of the main use case we're worried
> about in x86 too, and the main reason we have added versioned CPU
> models.
>
> I remember I was planning to use `query-cpu-model-expansion` for
> "please give me the best configuration for this specific CPU
> model" (which would be very similar to the approach used in this
> series). Now, I need to refresh my memory and try to remember
> why I concluded this approach wouldn't work for x86.
I would be interested in that - I don't really think exposing CPU
versions to the user is necessary here.
E.g., you can maintain the versions internally and enable the stored
features of the fitting one with "recommended-features=on...".
>
>
>>>
>>> Maybe its just the interface or the name. But I find this very non-intuitive
>>
>> I'm open for suggestions.
>>
>>>
>>> e.g. you wrote
>>>
>>> Get the maximum possible feature set (e.g., including deprecated
>>> features) for a CPU definition in the configuration ("everything that
>>> could be enabled"):
>>> -cpu z14,all-features=off,available-features=on
>>>
>>> Get all valid features for a CPU definition:
>>> -cpu z14,all-features=on
>>>
>>> What is the point of this? It is either the same as the one before, or it wont
>>> be able to start.
>>
>> valid != available, all != available. Yes, the model won't run unless
>> you are on pretty good HW :)
>>
>> Maybe I should just have dropped the last example, as it seems to
>> confuse people - it's mostly only relevant for introspection via CPU
>> model expansion.
>>
>> I am open for better names. e.g. all-features -> valid-features.
>
> "all" is not a meaningful name to me. It surely doesn't mean
> "all features in the universe", so it means a more specific set
> of features. How is that set defined?
>
> "valid" seems clearer, but we still need a description of what
> "valid" means exactly.
>
So, we have
+static S390DynFeatGroupDef s390_dyn_feature_groups[] = {
+ /* "all" corresponds to our "full" definitions */
+ DYN_FEAT_GROUP_INIT("all-features", ALL, "Features valid for a CPU
definition"),
[...]
+};
it includes features that are not available - all features that could
theoretically be enabled for that CPU definition.
(e.g., "vx" was introduced with z13 and cannot be enabled for the z12.
It's part of the full model of a z13, but not of a z12)
--
Thanks,
David / dhildenb
next prev parent reply other threads:[~2019-12-02 9:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-25 17:20 [PATCH v2 0/2] s390x/cpumodel: Introduce dynamic feature group David Hildenbrand
2019-11-25 17:20 ` [PATCH v2 1/2] s390x/cpumodel: Factor out CPU feature dependencies David Hildenbrand
2019-11-25 17:20 ` [PATCH v2 2/2] s390x/cpumodel: Introduce dynamic feature groups David Hildenbrand
2019-11-26 7:54 ` Christian Borntraeger
2019-11-26 8:04 ` David Hildenbrand
2019-11-26 12:59 ` Christian Borntraeger
2019-11-26 14:07 ` David Hildenbrand
2019-11-29 19:33 ` Eduardo Habkost
2019-12-02 9:15 ` David Hildenbrand [this message]
2019-12-05 14:35 ` Eduardo Habkost
2019-12-05 14:48 ` David Hildenbrand
2019-12-09 23:29 ` Eduardo Habkost
2019-12-12 15:27 ` David Hildenbrand
2019-11-25 23:20 ` [PATCH v2 0/2] s390x/cpumodel: Introduce dynamic feature group no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a5ae30ef-e193-fd22-b3e2-a7626e82d9b1@redhat.com \
--to=david@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=borntraeger@de.ibm.com \
--cc=cohuck@redhat.com \
--cc=ehabkost@redhat.com \
--cc=frankja@linux.ibm.com \
--cc=jdenemar@redhat.com \
--cc=pasic@linux.ibm.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-s390x@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).