HP-UX Reference (11i v1 05/09) - 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 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).
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 time of this request, these processors are made unavailable to the
kernel daemons. External I/O interrupts and pending callouts on processors in pset
are reassigned 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 proces-
sors, if any, in this processor set are made available to the kernel daemons. The sys-
tem may redistribute the external I/O interrupts with availability of these proces-
sors. 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
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 argu-
ments are ignored.
RTE_PSET_GETNEXTPSET
Return the ID of the next RTE processor set in the system after pset. The arg
Section 2−−2 Hewlett-Packard Company − 1 − HP-UX 11i Version 1: September 2005