bindintcpu Command

Purpose

Assigns a bus interrupt level to be delivered only to the indicated CPUs.

Syntax

bindintcpu Level CPU [ CPU...]

bindintcpu -u Level

bindintcpu -q Level

Description

The bindintcpu command lets system administrators direct interrupts from a specific hardware device at the specified bus interrupt Level to a specific CPU number, or sets of CPU numbers. Normally, on multiple CPU systems, hardware device interrupts can be delivered to any running CPU, and the distribution among the CPUs is determined by a predefined method. The bindintcpu command lets the system administrator bypass the predefined method, and control the interrupts distribution from a specific device to selected CPUs. This command is applicable only on selective hardware types.

If an interrupt level has been bound with certain CPUs, all interrupts coming from that level will be distributed only to specified CPUs until it is redirected by bindintcpu again. If the -q flag is used, this utility will instead list to which CPUs the interrupt Level is bound. With the -u flag, an administrator can unbind a specified interrupt from its CPUs, and that interrupt will once again be delivered to any running CPU through some predefined method. However, interrupts bound to CPU0 cannot be redirected again. If an interrupt level has been bound to CPU0, it stays on CPU0 until the system is booted again.

Notes:
  • Not all hardware models support one-to-many bindings, specifying multiple CPUs with bindintcpu results in errors on certain types of machines. For consistency, it is recommended to specify one CPU per bindintcpu whenever possible.
  • To see the bus interrupt level for a specific adapter, use the lsattr command and reference the busintr field. For example, device ent0 below has busintr value of 6.
     lsattr -E -l ent0
    busio           0xbff400       Bus I/O address                   False
    busintr         6              Bus interrupt level               False
    intr_priority   3              Interrupt priority                False
    tx_que_size     256            TRANSMIT queue size               True
    rx_que_size     256            RECEIVE queue size                True
    rxbuf_pool_size 384            RECEIVE buffer poof size          True
    media_speed     10_Half_Duplex Media Speed                       True
    use_alt_addr    no             Enable ALTERNATE ETHERNET address True
    alt_addr        0x000000000000 ALTERNATE ETHERNET address        True
    ip_gap          96             Inter-Packet Gap                  True
     

Flags

Item Description
-q List to which CPUs the interrupt Level is bound.
-u Unbinds a specified interrupt from its CPUs.

Security

Attention RBAC users and Trusted AIX® users: This command can perform privileged operations. Only privileged users can run privileged operations. For more information about authorizations and privileges, see Privileged Command Database in Security. For a list of privileges and the authorizations associated with this command, see the lssecattr command or the getcmdattr subcommand.

Examples

  1. To direct all interrupts from bus interrupt level 6 to CPU1, enter the following command:
    bindintcpu 6 1
  2. To direct all interrupts from buss interrupt level 6 to CPU2 and CPU3, enter the following command:
    bindintcpu 6 2 3

Files

Item Description
/usr/sbin/bindintcpu Contains the bindintcpu command.