CPU Configuration Guidelines for vPars

19
Figure 22. GlancePlus individual CPU utilization report.
5.1 Manual Redistribution of I/O Interrupts
There are two ways of redistributing the I/O interrupts across CPU’s: reboot the vPar that requires the
I/O interrupts to be redistributed or use the intctl command to move interrupts from over-utilized CPU’s
to under-utilized CPU’s. The first option requires downtime and is normally not an option. The second
choice requires rolling up your sleeves and figuring out how to distribute the I/O interrupts.
The I/O interrupts that are most important to distribute are from I/O cards used for mass storage and
networking. The intctl command displays the assignment of I/O interrupts and should be issued when
the system first boots so you can view how the HP-UX kernel has distributed the interrupts during boot.
Figure 23 shows the assignment of I/O interrupts on 4 of the 8 CPU’s on the system. This distribution
was arrived at during the experiment to determine the minimum number of CPU’s necessary to meet
the service level objective for a steady state workload. To get to this distribution of I/O interrupts, a
real time processor set was created and 4 CPU’s were moved to it. This forced the I/O interrupts
assigned to these CPU’s to be distributed amongst the remaining 4 CPU’s in the default processor set.
The CPU’s were then moved back to the default processor set where they were used to execute the
workload for the peak workload experiment. This will be the template used to redistribute the I/O
interrupts from the boot CPU to 3 additional CPU’s using the intctl command.
The intctl command to move a specific I/O interrupt to another CPU has the following syntax.
Intctl –M –H hardware_path –I interrupt_id –c cpu_id
The –M option specifies the migration operation, the –H option specifies the hardware path to the
interrupt source, the –I option specifies the interrupt identifier, and –c option specifies the target CPU
to migrate the interrupt to. The hardware path is shown in the first column of the intctl output, the
interrupt identifier is shown in the eighth column of the intctl output, and the target CPU number is
shown in the 4 column of the intctl output.