HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)

_
__pset_rtctl(2) __pset_rtctl(2)
NAME
__pset_rtctl() - real-time processor set control
SYNOPSIS
#include <sys/rtpset.h>
int __pset_rtctl(
pset_rt_req_t
request,
psetid_t
pset,
int
arg,
);
DESCRIPTION
HP-UX Processor Sets allow a subset of processors in the system to be isolated for exclusive use by specified
threads and processes. Only the threads bound to a processor set can execute on processors in that proces-
sor set (see pset_create (2)).
The __pset_rtctl()
function extends processor set functionality for real-time applications to minimize
operating system activities in a processor set. A processor set can be configured as a real-time processor set
(referred to as RTE processor set). An RTE processor set has the following special features that are not
available in standard processor sets:
No Kernel Daemons
The scheduler does not schedule kernel daemons on processors in the RTE processor set. Kernel dae-
mons are restricted to processors in non-RTE processor sets.
No External I/O Interrupts
External I/O interrupts on processors in the RTE processor set are disabled. The system is
reconfigured to not deliver any external I/O interrupts to processors in the RTE processor set. (The
clock interrupt still continues to come on each processor though). This feature may not be supported
on all platforms (see intctl(1M) for details).
Callouts Migration
All pending callouts on processors in the RTE processor set are reassigned to processors in non-RTE
processor sets. However, if a real-time application in an RTE processor set requests a service which
requires callout support in the kernel, such callouts may execute on RTE processors.
The system always has at least one non-RTE processor set. The system default processor set (see
pset_create(2)) cannot be configured as an RTE processor set. Since the system default processor set is
never empty, there is always at least one processor in a non-RTE processor set to execute the kernel dae-
mons, I/O interrupts and callouts for the system.
The request argument specifies the operation to perform on the processor set pset for real time extension.
The following values are supported:
RTE_PSET_CONFIG Configure the specified processor set, pset, as an RTE processor set. The
processor set may or may not have processors assigned at this point. If
pset has processors assigned to it at the time of this request, these pro-
cessors are made unavailable to the kernel daemons. External I/O inter-
rupts and pending callouts on processors in pset are reassigned to proces-
sors in non-RTE processor sets in the system. The processor set attribute
values are changed to default values for an RTE processor set. If pset
has any assigned workload, it continues to execute in that processor set.
The arg argument is ignored.
RTE_PSET_UNCONFIG Unconfigure the specified processor set pset as an RTE processor set.
The processors, if any, in this processor set are made available to the ker-
nel daemons. The system may redistribute the external I/O interrupts
with availability of these processors. Pending callouts in the system are
not redistributed to these processors. The processor set attribute values
are restored to default values for a non-RTE processor set as applicable.
If pset has any assigned workload, it continues to execute in that proces-
sor set. The arg argument is ignored.
RTE_PSET_GETFIRSTPSET Return the ID of the first RTE processor set in the system. The pset and
arg arguments are ignored.
24 Hewlett-Packard Company 1 HP-UX 11i Version 3: February 2007