All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Collin Walling <walling@linux.ibm.com>
To: qemu-s390x@nongnu.org, qemu-devel@nongnu.org
Cc: thuth@redhat.com, david@redhat.com, wangyanan55@huawei.com,
	philmd@linaro.org, marcel.apfelbaum@gmail.com,
	eduardo@habkost.net, armbru@redhat.com,
	Collin Walling <walling@linux.ibm.com>
Subject: [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features
Date: Wed, 24 Apr 2024 17:56:31 -0400	[thread overview]
Message-ID: <20240424215633.48906-1-walling@linux.ibm.com> (raw)

Previous version here (different subject line): 
https://mail.gnu.org/archive/html/qemu-devel/2024-04/msg03200.html

Changelog

    v3
        - removed optional disable-deprecated-feats argument
        - added deprecated-props array to CpuModelInfo struct
        - amended cover letter language to reflect design

    v2 
        - removed "static-recommended" expansion type
        - implemented optional disable-deprecated-feats argument

---

The current implementation of query-cpu-model-expansion is lacking a way to retrieve
CPU models with properties (i.e. features) that are flagged as deprecated. To remedy
this, a list of deprecated-props has been appended to the CpuModelInfo struct, and
will currently be reported by a query-cpu-model-expansion.

Check patch #2 description for an example output.

A simple interface is designed that contains an array of feature bits that are flagged
as deprecated. This list may be easily populated with more features in the future.

    void s390_get_deprecated_features(S390FeatBitmap features)
    {
        static const int feats[] = {
             /* CSSKE is deprecated on newer generations */
             S390_FEAT_CONDITIONAL_SSKE,
             S390_FEAT_BPB,
             /* Deprecated on z16 */
             S390_FEAT_CONSTRAINT_TRANSACTIONAL_EXE,
             S390_FEAT_TRANSACTIONAL_EXE
        };
        int i;

        for (i = 0; i < ARRAY_SIZE(feats); i++) {
            set_bit(feats[i], features);
        }
    }

Use case example:

Newer s390 machines may signal the end-of-support for particular CPU features,
rendering guests operating with older CPU models incapable of running on
said machines. A manual effort to disable certain CPU features would be
required.

Reporting a list of deprecated features allows the user / management app to
take the next steps to ensure the guest is defined in a way that ensures
a migration in the future.

Collin L. Walling (2):
  target/s390x: report deprecated-props in cpu-model-expansion reply
  target/s390x: flag te and cte as deprecated

 qapi/machine-target.json         |  5 ++++-
 target/s390x/cpu_features.c      | 17 +++++++++++++++++
 target/s390x/cpu_features.h      |  1 +
 target/s390x/cpu_models_sysemu.c |  6 ++++++
 4 files changed, 28 insertions(+), 1 deletion(-)

-- 
2.43.0



             reply	other threads:[~2024-04-24 21:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-24 21:56 Collin Walling [this message]
2024-04-24 21:56 ` [PATCH v3 1/2] target/s390x: report deprecated-props in cpu-model-expansion reply Collin Walling
2024-04-26  8:42   ` Markus Armbruster
2024-04-26 17:35     ` Collin Walling
2024-04-26 20:11       ` Collin Walling
2024-04-26 17:44   ` David Hildenbrand
2024-04-26 17:45     ` David Hildenbrand
2024-04-26 19:28       ` Collin Walling
2024-04-24 21:56 ` [PATCH v3 2/2] target/s390x: flag te and cte as deprecated Collin Walling
2024-04-24 22:05 ` [PATCH v3 0/2] query-cpu-model-expansion: report deprecated features Collin Walling

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=20240424215633.48906-1-walling@linux.ibm.com \
    --to=walling@linux.ibm.com \
    --cc=armbru@redhat.com \
    --cc=david@redhat.com \
    --cc=eduardo@habkost.net \
    --cc=marcel.apfelbaum@gmail.com \
    --cc=philmd@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=qemu-s390x@nongnu.org \
    --cc=thuth@redhat.com \
    --cc=wangyanan55@huawei.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.