[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 11/11] target/s390x/cpu topology: Fix ordering and creation of TLE
|
From: |
Thomas Huth |
|
Subject: |
[PULL 11/11] target/s390x/cpu topology: Fix ordering and creation of TLEs |
|
Date: |
Tue, 7 Nov 2023 19:32:28 +0100 |
From: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
In case of horizontal polarization entitlement has no effect on
ordering.
Moreover, since the comparison is used to insert CPUs at the correct
position in the TLE list, this affects the creation of TLEs and now
correctly collapses horizontally polarized CPUs into one TLE.
Fixes: f4f54b582f ("target/s390x/cpu topology: handle STSI(15) and build the
SYSIB")
Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Message-ID: <20231027163637.3060537-1-nsg@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
target/s390x/kvm/stsi-topology.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/target/s390x/kvm/stsi-topology.c b/target/s390x/kvm/stsi-topology.c
index efd2aa71f1..c8d6389cd8 100644
--- a/target/s390x/kvm/stsi-topology.c
+++ b/target/s390x/kvm/stsi-topology.c
@@ -210,6 +210,9 @@ static S390TopologyId s390_topology_from_cpu(S390CPU *cpu)
static int s390_topology_id_cmp(const S390TopologyId *l,
const S390TopologyId *r)
{
+ int l_polarization = l->vertical ? l->entitlement : 0;
+ int r_polarization = r->vertical ? r->entitlement : 0;
+
/*
* lexical order, compare less significant values only if more significant
* ones are equal
@@ -219,9 +222,8 @@ static int s390_topology_id_cmp(const S390TopologyId *l,
l->book - r->book ?:
l->socket - r->socket ?:
l->type - r->type ?:
- /* logic is inverted for the next three */
- r->vertical - l->vertical ?:
- r->entitlement - l->entitlement ?:
+ /* logic is inverted for the next two */
+ r_polarization - l_polarization ?:
r->dedicated - l->dedicated ?:
l->origin - r->origin;
}
--
2.41.0
- [PULL 01/11] MAINTAINERS: Add the virtio-gpu documentation to the corresponding section, (continued)
- [PULL 01/11] MAINTAINERS: Add the virtio-gpu documentation to the corresponding section, Thomas Huth, 2023/11/07
- [PULL 02/11] MAINTAINERS: Add artist.c to the hppa machine section, Thomas Huth, 2023/11/07
- [PULL 04/11] s390/sclp: fix SCLP facility map, Thomas Huth, 2023/11/07
- [PULL 05/11] target/s390x/cpu_models: Use 'first_cpu' in s390_get_feat_block(), Thomas Huth, 2023/11/07
- [PULL 03/11] tests/avocado: Allow newer versions of tesseract in the nextcube test, Thomas Huth, 2023/11/07
- [PULL 06/11] target/s390x: Fix CLC corrupting cc_src, Thomas Huth, 2023/11/07
- [PULL 07/11] tests/tcg/s390x: Test CLC with inaccessible second operand, Thomas Huth, 2023/11/07
- [PULL 08/11] target/s390x: Fix LAALG not updating cc_src, Thomas Huth, 2023/11/07
- [PULL 10/11] tests/tcg/s390x: Test ADD LOGICAL WITH CARRY, Thomas Huth, 2023/11/07
- [PULL 09/11] tests/tcg/s390x: Test LAALG with negative cc_src, Thomas Huth, 2023/11/07
- [PULL 11/11] target/s390x/cpu topology: Fix ordering and creation of TLEs,
Thomas Huth <=
- Re: [PULL 00/11] s390x and MAINTAINERS updates, Stefan Hajnoczi, 2023/11/08