HP-UX Reference (11i v2 07/12) - 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.
(although the clock interrupt still continues to come on each processor). This feature may not be sup-
ported 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 processors are made unavailable to the kernel daemons. Exter-
nal I/O interrupts and pending callouts on processors in pset are reas-
signed to processors 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
kernel daemons. The system may redistribute the external I/O inter-
rupts 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 proces-
sor set as applicable. If pset has any assigned workload, it continues
to execute in that processor 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 2: December 2007 Update