76 POWER7 and POWER7+ Optimization and Tuning Guide
Resource sets
These resource sets are:
Thread effective RSET Created by ra_attachrset(). Must be a subset (improper or
proper) of “Other RSETs” on page 76.
Thread partition RSET Used by WLM. Partition RSETS allow WLM to limit where a
thread can run.
Process effective RSET Created by ra_attachrset(), ra_exec(), and ra_fork(). Must
be a subset (improper or proper) of the process partition RSET.
Process partition RSET Used by WLM to limit where processes in a WLM class are
allowed to run. Can also be created by root users using the
rs_setpartion() service.
Other RSETs
Another type of RSET is the exclusive RSET. Exclusive use processor resource sets
(XRSETs) allow an installation to limit the usage of the processors in XRSETs; they are used
only by work that is attached to those XRSETS. They can be created by running the mkrset
command in the 'sysxrset' namespace.
RSET data types and operations
The public shipped header file rset.h contains declarations for the public RSET data types
and function prototypes.
An RSET is an opaque data type. Applications allocate an RSET by calling rs_alloc().
Applications receive a
handle to the RSET. The RSET handle (datatype rsethandle_t in
sys/rset.h) is then used in RSET APIs to manipulate or attach the RSET.
Summary of RSET commands
Here is a summary of the RSET commands:
lsrset: Displays RSETS stored in the system registry or RSETS attached to a process.
For example:
lsrset -av Displays all RSETS in the system registry.
lsrset -p 28026 Displays the effective RSET attached to PID
28026.
mkrset: Makes a named RSET containing specific CPU and memory pools and place the
RSET in the system registry. For example, mkrset -c 6 10-12 test/lotsofcpus creates
an RSET named test/lotsofcpus that contains the specified CPUs.
rmrset: Removes an RSET from the system registry. For example:
rmrset test/lotsofcpus
attachrset: Attaches an RSET to a specified PID. The RSET can either be in the system
registry or CPUs or mempools that are specified in the command. For example:
attachrset test/lotsofcpus 28026 Attaches an RSET in a register to a process.
attachrset -c 4-8 28026 Attaches an RSET with CPUs 4 - 8 to a process as
an effective RSET.
attachrset -P -c 4-8 28026 Attaches an RSET with CPUs 4 - 8 to process as a
partition rset.
detachrset: Detaches an RSET from a specified PID. For example:
detachrset 28026 Detaches an effective RSET from a PID.
detachrset -P 20828 Detaches a partition RSET from a PID.