Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 65
Controlling the IPU Affinity of Processes
IPU Affinity Classes
A process has one of the following types of IPU affinity, known as its IPU affinity class:
Hard - the process can only be run on a specific IPU and is not subject to any kind
of movement.
Group - only applies to DP2 process groups (the one to eight processes that
compose a disk volume). The group as a whole can be moved from IPU to IPU but
only as the whole group.
Dynamic - only applies to system processes known as Interrupt Processes (IPs)
and Auxiliary Processes (APs). All of these processes other than the TSMSGIP,
TSCOMIP, and TSSTRIP can run on any IPU as selected by the low level software
for optimum response time, and are not subject to user control of the IPU
placement. The TSMSGIP, TSCOMIP, and TSSTRIP processes are the only
dynamic affinity processes that are subject to user control of their IPU affinity.
Soft - all user processes and any other processes which do not fall into one of the
other categories.
Soft Bind - Soft Affinity processes whose IPU affinity has been set via the
IPUAFFINITY_SET_ procedure.
The IPU affinity class of a process can be obtained via PROCESS_GETINFOLIST_
at
tribute 136.
IPU Affinity Control
The IPUAFFINITY_SET_ procedure is used to bind a process to an IPU. Once set the
process will only run on the associated IPU. This procedure can be used on all user
processes and many system processes. In particular it can be used on the ServerNet
Interrupt Processes (TSMSGIP, TSCOMIP, and TSSTRIP), $TMP and DP2 process
groups. The procedure is also used to disassociate a process from an IPU, thereby
allowing the process scheduler to control any subsequent IPU assignments of the
process.
Note. Beginning with the J06.12 and H06.23 RVUs, there are two instances of the TSMSGIP
process active on each CPU on quad-core (4-IPU) systems, both of which by default are
assigned to IPU 0. However, prior to J06.14 and H06.25, only the first instance is active and
available to do work.
The TSMSGIP process handles interrupts generated by inter-CPU Message System traffic.
S
tarting with J06.14 and H06.25, you can reassign one of the TSMSGIP instances to another
IPU using the IPUAFFINITY_SET_ procedure. This is beneficial for certain workloads with
high levels of inter-CPU Message System traffic.