CPU polarization
![]()
You can modify the operation of a vertical SMP environment by adjusting the SMP factor.
Before you begin
About this task
Horizontal CPU polarization means that the underlying hypervisor dispatches each virtual CPU of an LPAR for the same amount of time.
If vertical CPU polarization is active, the hypervisor dispatches certain CPUs for a longer time than others for maximum performance. For example, if a guest has three virtual CPUs, each of them with a share of 33%, then in case of vertical CPU polarization all of the processing time would be combined to a single CPU, which would run all the time, while the other two CPUs would get nearly no CPU time.
There are three types of vertical CPUs: high, medium, and low. Low CPUs hardly get any real CPU time, while high CPUs get a full real CPU. Medium CPUs get something in between.
Procedure
# chcpu -p horizontal|verticalAlternatively, you can write a
0 for horizontal polarization (the default) or a 1 for vertical
polarization to /sys/devices/system/cpu/dispatching.vertical.# chcpu -p verticalYou can achieve the same results by issuing the following command:
# echo 1 > /sys/devices/system/cpu/dispatching
What to do next
# cat /sys/devices/system/cpu/cpu<N>/polarization
horizontal- each of the guests' virtual CPUs is dispatched for the same amount of time.vertical:high- full CPU time is allocated.vertical:medium- medium CPU time is allocated.vertical:low- very little CPU time is allocated.unknown- temporary value following a polarization change until the change is completed and the kernel has established the new polarization of each CPU.