United States-English |
|
|
HP-UX Reference > Iintctl(1M)HP-UX 11i Version 3: February 2007 |
|
NAMEintctl — manage the interrupt configuration of the system SYNOPSIS/usr/sbin/intctl [-h | -F | -p | -c cpu_id] /usr/sbin/intctl [-C class] [-H hw_path] /usr/sbin/intctl [[-w] -M -H hw_path -I intr_id -c cpu_id] /usr/sbin/intctl [[-w] -M -H hw_path -f file] /usr/sbin/intctl [-r file | -s file] /usr/sbin/intctl [-l [cell_id]] DESCRIPTIONA processor receives an interrupt when either the processor's interrupt pin is asserted (for line based interrupts) or if a processor detects an interrupt message bus transaction on the system bus (for transaction based interrupts). Interrupts from the interface cards can be line or transaction based. Interrupts are routed to different processors during boot time. The intctl command is a tool that allows a performance expert to display and modify these interrupt assignments. The tool only supports migration of external device interrupts. The performance analyst can also save and restore the interrupt configuration. If interrupt migration process completes successfully, a message is logged to the console and/or to the /var/adm/syslog/syslog.log file. intctl resides in /usr/sbin/bin (a symbolic link exists in /usr/contrib/bin), and the command can be executed only by the super user. The intctl command is not a general system administration command. It should be used only by performance tuning experts with a high level of system knowledge. The performance specialist can use the intctl command to view the interrupt configuration of the system and modify the interrupt assignments of the CPUs to re-distribute the system load across the CPUs. intctl is synchronized with other High Availability (HA) events happening simultaneously on the system. An HA event can be a PCI OLA/R or Processor allocation/de-allocation. If any of these events are happening when intctl is trying to display interrupt information or is trying to migrate an interrupt to a CPU, intctl will exit with the error message, "Another HA event is in progress, try again!" and the user should retry the command. Non-MP safe drivers do not support interrupt migration. The tool will display an error message if the user tries to move the interrupts of a non-MP safe driver to a different CPU. On a system with virtual partitions (vPars), intctl will only display CPUs in the current partition. A CPU belonging to a partition can be either a bound or a floater CPU. A bound CPU is bound to the partition and the interrupt state of these CPUs can be either ENABLED, DISABLED or RESERVED for interrupts. Floater CPUs are not bound to the partition and the state of these CPUs is DISABLED; interrupts cannot be assigned to these CPUs. A bound CPU in DISABLED state can be ENABLED for interrupts through the PSETS interface. To get more information about the state of a floater CPU belonging to other partitions, the performance expert can use the vPars vparstatus command. OptionsBy default, the command displays interrupt information about all the interface cards on the system. intctl recognizes the following options:
Interrupt Configuration DisplayThe interrupt configuration can be displayed sorted by CPU ID (intctl -p) or sorted by interface card hardware path (intctl -H hw_path). By default, the command displays interrupt information about all the interface cards on the system. Here is a sample interrupt configuration display, and the fields are explained below. Note: For cards using two or more interrupts, only the CPU and interrupt information is displayed from the second interrupt entry. The option -F can be used to get all the information repeated for every interrupt entry (which is same as what previous version of intctl displayed for cards using multiple interrupts).
hw path class drv card cpu cpu intr intr card name cell ID cell type ID description =================================================================== 0/0/0/0/0 tty asio0 0 0 0 L 1 PCI SimpleComm (103c1290) 0/0/0/0/1 tty asio0 0 0 0 L 1 PCI Serial (103c1048) 0/0/0/1/0 lan igelan 0 2 0 L 1 HP A7109-60001 PCI 1000Base-T Core 0/0/0/2/0 ext_bus c8xx 0 3 0 T 2 SCSI C1010 Ultra Wide Single-Ended 3 0 L 1 0/0/0/2/1 ext_bus c8xx 0 2 0 T 2 SCSI C1010 Ultra Wide Single-Ended 2 0 L 1
RedirectionThe intctl command allows the performance specialist to modify the interrupt assignment of an interface card. The user must specify the hardware path of interface card, the interrupt ID that needs to be moved, and the new CPU ID that the interrupt will be routed to. When an interrupt is moved from one CPU to another, if the interrupt shares a line with other interrupts, all the interrupts on that line will be moved to the specified CPU. The kernel will add a message to the /var/adm/syslog/syslog.log file which will contain the hardware path and interrupt IDs of the interrupts being moved and the CPU ID of the CPU to which these interrupts were moved. When migrating an interrupt from one CPU to another, if the card to which the interrupt belongs is in timed-out state, from either a SUSPEND or RESUME operation (see olrad(1M)), then the interrupt will not be moved. If an interrupt shares a line with other interrupts, and if any of the cards is in timed-out state, then none of the interrupts on the line will be moved to the specified CPU. Saving & Restoring System Interrupt ConfigurationsThe intctl command can save and restore the system interrupt configuration in a user specified file. Before restoring the configuration, the intctl command checks to see if the system setup has changed by checking that all the interface cards and CPUs from the saved configuration are still present in the system and that the CPUs are in the same state as in the saved configuration. The command will continue to restore the configuration if new cards or CPUs have been added to the system since the interrupt configuration was saved. EXAMPLESDisplay information about all interface cards which belong to the class lan: intctl -C lan Display the interrupt information of the card with hardware path 0/4/0/0/5/0: intctl -H 0/4/0/0/5/0 Display interrupt information of all the interface cards under the path, 0/4: intctl -H 0/4 Display interrupt information of all interface cards under the hardware path 0/4 and which belong to class lan: intctl -C lan -H 0/4 Display interrupt information about the CPU with CPU ID 3: intctl -c 3 Migrate the interrupt with ID 1, coming from the card whose hardware path is 0/4/0/0/5/0 to CPU 3. intctl -M -H 0/4/0/0/5/0 -I 1 -c 3 Migrate interrupts of the card whose hardware path is 0/4/0/1 as specified by the entries in the file intr_assign. intctl -M -H 0/4/0/1 -f intr_assign Store the system interrupt configuration to myconfig. If myconfig already exists, its contents are overwritten. intctl -s myconfig Restore the system interrupt configuration from myconfig. intctl -r myconfig Display all the CPUs available in cell_id 2. intctl -l 2 WARNINGSThe intctl command can be executed only by the super user. The intctl command should be used only by performance analysts for performance tuning purposes. If care is not taken to redistribute the interrupts properly, it could lead to a decrease in the overall system performance by overloading some processors and by not optimally utilizing the remaining processors. |
Printable version | ||
|