diff options
Diffstat (limited to 'results/classifier/gemma3:12b/hypervisor/1509')
| -rw-r--r-- | results/classifier/gemma3:12b/hypervisor/1509 | 162 |
1 files changed, 162 insertions, 0 deletions
diff --git a/results/classifier/gemma3:12b/hypervisor/1509 b/results/classifier/gemma3:12b/hypervisor/1509 new file mode 100644 index 000000000..7f9896d23 --- /dev/null +++ b/results/classifier/gemma3:12b/hypervisor/1509 @@ -0,0 +1,162 @@ + +ppc64 tcg guests get incorrect Capacity Entitlement values from SMP spapr machine's RTAS - examples given from AIX guest OS +Description of problem: +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. +Steps to 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 information: +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 + ``` |