C/C++ Programmer's Guide (G06.25+)

Handling TNS Data Alignment
HP C/C++ Programmer’s Guide for NonStop Systems429301-008
23-3
Misalignment Handling
Sampling is short and infrequent enough to avoid flooding the EMS log, even for a
continuous process with many misaligned-address exceptions. One sample logs a
maximum of 100 events, and at most one event is logged for any process.
If misaligned-address exceptions occur in different periods of a process, the operating
system produces multiple EMS events for the same process, and these EMS events
might have different program addresses.
For more information about EMS events or the EMS log, see the EMS Manual.
Misalignment Handling
Misalignment handling is determined by the following SCF attributes, which are set
system-wide (that is, for all processors in the node) during system configuration:
MISALIGNLOG
MISALIGNLOG enables or disables the tracing facility (see Misalignment Tracing
Facility on page 23-2).
TNSMISALIGN
TNSMISALIGN applies to all programs running in TNS mode or accelerated mode.
NATIVEATOMICMISALIGN
NATIVEATOMICMISALIGN applies to calls to pTAL atomic functions in programs
running in native mode. Non-atomic accesses in native mode are always
NOROUND (for the definition of NOROUND, see Table 23-1).
Table 23-1 on page 23-3 lists and describes the possible settings for TNSMISALIGN.
Each setting represents a different misalignment handling method. For more
information about TNSMISALIGN, see the SCF Reference Manual for the Kernel
Subsystem.
Table 23-1. TNS Misalignment Handling Methods (page 1 of 2)
Method Description
ROUND
(default)*
After rounding down a misaligned address, the system proceeds to access
the address, as in G06.16 and earlier RVUs.