Message ID | 20230901155812.2696560-18-nsg@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: CPU Topology | expand |
On Fri, 2023-09-01 at 17:58 +0200, Nina Schoetterl-Glausch wrote: > From: Pierre Morel <pmorel@linux.ibm.com> > > A dedicated CPU in vertical polarization can only have > a high entitlement. > Let's check this from both host and guest point of view. > > Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> > Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> > Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
On 01/09/2023 17.58, Nina Schoetterl-Glausch wrote: > From: Pierre Morel <pmorel@linux.ibm.com> > > A dedicated CPU in vertical polarization can only have > a high entitlement. > Let's check this from both host and guest point of view. > > Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> > Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> > Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> > --- > tests/avocado/s390_topology.py | 33 +++++++++++++++++++++++++++++++++ > 1 file changed, 33 insertions(+) Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/tests/avocado/s390_topology.py b/tests/avocado/s390_topology.py index 733093723a..3b3902d646 100644 --- a/tests/avocado/s390_topology.py +++ b/tests/avocado/s390_topology.py @@ -298,3 +298,36 @@ def test_entitlement(self): self.guest_set_dispatching('0'); self.check_polarization("horizontal") self.check_topology(0, 0, 0, 0, 'high', False) + + + def test_dedicated(self): + """ + This test verifies that QEMU adjusts the entitlement correctly when a + CPU is made dedicated. + QEMU retains the entitlement value when horizontal polarization is in effect. + For the guest, the field shows the effective value of the entitlement. + + :avocado: tags=arch:s390x + :avocado: tags=machine:s390-ccw-virtio + """ + self.kernel_init() + self.vm.launch() + self.wait_until_booted() + + self.system_init() + + self.check_polarization("horizontal") + + res = self.vm.qmp('set-cpu-topology', + {'core-id': 0, 'dedicated': True}) + self.assertEqual(res['return'], {}) + self.check_topology(0, 0, 0, 0, 'high', True) + self.check_polarization("horizontal") + + self.guest_set_dispatching('1'); + self.check_topology(0, 0, 0, 0, 'high', True) + self.check_polarization("vertical:high") + + self.guest_set_dispatching('0'); + self.check_topology(0, 0, 0, 0, 'high', True) + self.check_polarization("horizontal")