summary refs log tree commit diff stats
path: root/gitlab/issues/target_ppc/host_missing/accel_missing/1509.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gitlab/issues/target_ppc/host_missing/accel_missing/1509.toml')
-rw-r--r--gitlab/issues/target_ppc/host_missing/accel_missing/1509.toml169
1 files changed, 169 insertions, 0 deletions
diff --git a/gitlab/issues/target_ppc/host_missing/accel_missing/1509.toml b/gitlab/issues/target_ppc/host_missing/accel_missing/1509.toml
new file mode 100644
index 00000000..e3c86e46
--- /dev/null
+++ b/gitlab/issues/target_ppc/host_missing/accel_missing/1509.toml
@@ -0,0 +1,169 @@
+id = 1509
+title = "ppc64 tcg guests get incorrect Capacity Entitlement values from SMP spapr machine's RTAS - examples given from AIX guest OS"
+state = "opened"
+created_at = "2023-02-27T00:08:10.532Z"
+closed_at = "n/a"
+labels = ["guest: AIX", "target: ppc"]
+url = "https://gitlab.com/qemu-project/qemu/-/issues/1509"
+host-os = "Fedora 37"
+host-arch = "x86"
+qemu-version = "7.1.0"
+guest-os = "AIX 7.2 TL5 SP5 2245"
+guest-arch = "ppc64"
+description = """Entitled Capacity of the guest OS is not equal to the number of vCPUs you configure with QEMU.
+
+It only gives you 1/4 entitlements to your configured capacity, and if you increase the number of processors, it converts the LPAR capacity to hundredths of a core, throttling guest performance."""
+reproduce = """Definition of terms from lparstat:
+Entitled Capacity: The number of processing units this LPAR is entitled to receive.
+Maximum Capacity: The maximum number of processing units this LPAR was defined to ever have. Entitled capacity can be increased up to this value.
+
+Some examples:
+
+1 QEMU vCPU:
+Entitled Capacity: 0.25
+Maximum Capacity: 1.00
+
+2 QEMU vCPUs (-smp cpus=2,sockets=1,cores=2,threads=1):
+Entitled Capacity = 0.50
+Maximum Capacity: 0.02
+
+3 QEMU CPUs (-smp cpus=3,sockets=1,cores=3,threads=1):
+Entitled Capacity = 0.75
+Maximum Capacity: 0.03
+
+4 QEMU CPUs (-smp cpus=4,sockets=1,cores=4,threads=1):
+Entitled Capacity = 1.00
+Maximum Capacity: 0.04
+
+I believe these Entitled and Maximum values are comming from the spapr machine's MaxEntCap, DesProcs and MaxPlatProcs settings which get affected by -smp passed to QEMU."""
+additional = """Details:
+
+1 QEMU vCPU:
+   ```
+kens@aix-ppc64$ lparstat -i | head -20
+Node Name                                  : aix-ppc64
+Partition Name                             : IBM AIX - IBM POWER9
+Partition Number                           : 0
+Type                                       : Shared
+Mode                                       : Capped
+Entitled Capacity                          : 0.25
+Partition Group-ID                         : 1
+Shared Pool ID                             : 1
+Online Virtual CPUs                        : 1
+Maximum Virtual CPUs                       : 1
+Minimum Virtual CPUs                       : 1
+Online Memory                              : 8192 MB
+Maximum Memory                             : 8192 MB
+Minimum Memory                             : 8192 MB
+Variable Capacity Weight                   : 128
+Minimum Capacity                           : 0.01
+Maximum Capacity                           : 1.00
+Capacity Increment                         : 1.00
+Maximum Physical CPUs in system            : 1
+Active Physical CPUs in system             : 1
+   ```
+2 QEMU vCPUs:
+   ```
+kens@aix-ppc64$ lparstat -i | head -20
+Node Name                                  : aix-ppc64
+Partition Name                             : IBM AIX - IBM POWER9
+Partition Number                           : 0
+Type                                       : Shared
+Mode                                       : Capped
+Entitled Capacity                          : 0.50
+Partition Group-ID                         : 1
+Shared Pool ID                             : 1
+Online Virtual CPUs                        : 2
+Maximum Virtual CPUs                       : 2
+Minimum Virtual CPUs                       : 2
+Online Memory                              : 8192 MB
+Maximum Memory                             : 8192 MB
+Minimum Memory                             : 8192 MB
+Variable Capacity Weight                   : 128
+Minimum Capacity                           : 0.02
+Maximum Capacity                           : 0.02
+Capacity Increment                         : 1.00
+Maximum Physical CPUs in system            : 2
+Active Physical CPUs in system             : 2
+   ```
+3 QEMU vCPUs:
+   ```
+kens@aix-ppc64$ lparstat -i | head -20
+Node Name                                  : aix-ppc64
+Partition Name                             : IBM AIX - IBM POWER9
+Partition Number                           : 0
+Type                                       : Shared
+Mode                                       : Capped
+Entitled Capacity                          : 0.75
+Partition Group-ID                         : 1
+Shared Pool ID                             : 1
+Online Virtual CPUs                        : 3
+Maximum Virtual CPUs                       : 3
+Minimum Virtual CPUs                       : 3
+Online Memory                              : 8192 MB
+Maximum Memory                             : 8192 MB
+Minimum Memory                             : 8192 MB
+Variable Capacity Weight                   : 128
+Minimum Capacity                           : 0.03
+Maximum Capacity                           : 0.03
+Capacity Increment                         : 1.00
+Maximum Physical CPUs in system            : 3
+Active Physical CPUs in system             : 3
+   ```
+4 QEMU vCPUs:
+   ```
+kens@aix-ppc64$ lparstat -i | head -2
+lparstat -i | head -2
+Node Name                                  : aix-ppc64
+Partition Name                             : IBM AIX - IBM POWER9
+kens@aix-ppc64$ lparstat -i | head -20
+lparstat -i | head -20
+Node Name                                  : aix-ppc64
+Partition Name                             : IBM AIX - IBM POWER9
+Partition Number                           : 0
+Type                                       : Shared
+Mode                                       : Capped
+Entitled Capacity                          : 1.00
+Partition Group-ID                         : 1
+Shared Pool ID                             : 1
+Online Virtual CPUs                        : 4
+Maximum Virtual CPUs                       : 4
+Minimum Virtual CPUs                       : 4
+Online Memory                              : 8192 MB
+Maximum Memory                             : 8192 MB
+Minimum Memory                             : 8192 MB
+Variable Capacity Weight                   : 128
+Minimum Capacity                           : 0.04
+Maximum Capacity                           : 0.04
+Capacity Increment                         : 1.00
+Maximum Physical CPUs in system            : 4
+Active Physical CPUs in system             : 4
+   ```
+So it seems to me like the OS assumes the following from the spapr machine settings:
+Entitled Capacity = cpus / 4 (OS is assuming smt=4 threads maybe, see below)
+Maximim Capacity = cpus / 100 (OS is assuming hundredths of a core, even though the Capacity Increment is 1.00, see below))
+
+On a real Power system (POWER8, smt=8), it looks like this:
+   ```
+kens@aix72$ lparstat -i | head -20
+Node Name                                  : aix72
+Partition Name                             : n1
+Partition Number                           : 1
+Type                                       : Shared-SMT-4
+Mode                                       : Uncapped
+Entitled Capacity                          : 6.00
+Partition Group-ID                         : 32784
+Shared Pool ID                             : 0
+Online Virtual CPUs                        : 12
+Maximum Virtual CPUs                       : 28
+Minimum Virtual CPUs                       : 1
+Online Memory                              : 131072 MB
+Maximum Memory                             : 196608 MB
+Minimum Memory                             : 1024 MB
+Variable Capacity Weight                   : 128
+Minimum Capacity                           : 0.50
+Maximum Capacity                           : 14.00
+Capacity Increment                         : 0.01
+Maximum Physical CPUs in system            : 80
+Active Physical CPUs in system             : 80
+   ```"""