Chapter 1
About This Release

This document supports Version 4.6.0 of the DYNIX/ptx® operating system. Be sure to review this document before you install or run this release of DYNIX/ptx.


Software Compatibility

DYNIX/ptx V4.6.0 is supported on NUMA-Q® systems only.


Supported System Software and Layered Products

Following are the minimum version requirements for system software and layered products. Earlier versions of these products are not supported on DYNIX/ptx V4.6.0.


Unsupported Software

The following products are not supported on DYNIX/ptx V4.6.0:


Standards Compliance

The DYNIX/ptx operating system complies with the following standards:


Unsupported Platforms and Devices

The following platforms and their associated devices are not supported in DYNIX/ptx V4.6:

5.25" Pbays and devices are supported in the boot Pbay only.


COFF Compatibility Development Environment Has Been Removed

The COFF compatibility development environment has been removed. The COFF libraries present in earlier versions of DYNIX/ptx are no longer available.

COFF binaries will continue to work unless one or more of the following conditions exists:


Software Installation

For information about installing this release of DYNIX/ptx, refer to the DYNIX/ptx V4.6.0 and Layered Products Release Notes.


Operational Restrictions

The following restrictions must be followed when running DYNIX/ptx V4.6. In these restrictions, local refers to devices connected directly to the PCI/SCSI interface on NUMA-Q systems.


New Features in the V4.6.0 Release


UNIX98 Specification

DYNIX/ptx V4.6 has been modified to comply more closely with Single UNIX Specification, Version 2, the standard for UNIX98.


Shell Programs

The default shell is now the UNIX98 shell, which is similar to the 1993 release of the Korn shell. Previously, the Bourne shell was the default. You may need to modify existing Bourne and Korn shell programs to enable them to run properly with DYNIX/ptx V4.6. See Appendix A for a description of the UNIX98 shell and for details about converting scripts and making other shell-related changes.


Commands

The following changes have been made for compliance with UNIX98:

See the later section "Commands" for details about the changes made to specific commands. You may need to modify your shell scripts to reflect the changes.


Libraries

The following changes have been made for compliance with UNIX98:


External Interfaces

Several modifications have been made to header files and to the math, I/O, XTI, and process control interfaces.


Threads

Several new interfaces have been added to libc. See the later section "Threads Support" for information about these interfaces.


System Booting

In the DYNIX/ptx V4.4/V4.5 releases, the root and primary swap partitions had to be located on local SCSI disks connected to a bootable Pbay or boot bay. This restriction no longer applies.

In DYNIX/ptx V4.6, the root and primary swap partitions can be located on shareable disks attached to the Fibre Channel. On systems with multiple quads, the disks must be accessible from the first four quads. The system must be booted on V4.6 before installing the root filesystem on a shareable disk or moving the root filesystem to a shareable disk.

Disks that require the installation of a layered product, such as rd disks supported by ptx/RAID, cannot be used for root or swap partitions.

To support the ability to place the root and primary swap partitions on Fibre Channel devices, DYNIX/ptx V4.6 requires that the Master ID and Node ID be set on your system. Disk labels must also be used.


Disk Labels

Disk labels specify whether disks are owned by a node or a cluster. DYNIX/ptx V4.6 uses these labels to control access to shareable disks (that is, disks that can be potentially accessed from multiple nodes). The operating system cannot open a disk that does not have a label.

Disks containing root, primary swap, secondary swap, and dump partitions must be node-owned. The root disk is labeled automatically when you install DYNIX/ptx V4.6.


ATTENTION

Disks with disk labels cannot be opened under DYNIX/ptx V4.4/V4.5. The disk label must be removed if you need to use a labeled disk with DYNIX/ptx V4.4/V4.5.


A new command, diskown, is available for assigning labels to disks. You can also use this command to modify or delete a label, or to display disk label information.

You can also specify disk label information through the /etc/devlabel file. You will need to create this file during the V4.6 installation procedure as described in the DYNIX/ptx V4.6.0 and Layered Products Software Installation Release Notes.


Master ID and Node ID

Before installing DYNIX/ptx V4.6, you will need to set the Master ID and Node ID on your system. The Node ID is specified in your service contract. On a single-node system, the Master ID should mach the Node ID. On a clustered system, each node must have the same Master ID, which should be the lowest numbered Node ID of the nodes in the cluster. For information about setting these IDs, see the DYNIX/ptx V4.6.0 and Layered Products Software Installation Release Notes.


New Physical Specifiers

The bootpath uses a physical specifier to identify the root disk. In previous releases, the specifier was a physical path:

quad(0)pci(0)scsi(0)disk(3)

In DYNIX/ptx V4.6, you can also use the disk's user_defined_name or a combination of its vendor ID, product ID, and serial number as the physical specifier.

The user_defined_name is included in the disk label and is typically added with the diskown command during the V4.6 installation. If the root disk has a user_defined_name, you can use the nm token to represent it in the bootpath:

nm(user_defined_name)disk()

You can also use the sn token in the bootpath. This token specifies the vendor ID, product ID, and serial number for the device. To obtain the sn token for a particular device, use the mapdev -s option.

sn(vendor,product,serial_number)disk()

The following commands are equivalent:

# /etc/bootflags 'bootPath=quad(0)pci(0)scsi(0)disk(3)'
# /etc/bootflags 'bootPath=nm(user_defined_name)disk(3)'
# /etc/bootflags 'bootPath=sn(vendor,product,serial_number)disk(3)'

For more information about the boot syntax, see DYNIX/ptx System Administration.


Implementation Changes in the V4.6.0 Release


awk, nawk, and oawk

For compliance with the UNIX98 standard, the nawk utility has been renamed to awk. The previous awk utility has been renamed to oawk.

These changes may affect your scripts. If a script refers to awk, the new implementation of awk (previously nawk) will be invoked. Old awk scripts should continue to run under the DYNIX/ptx V4.6 implementation of awk. However, if a script does not run correctly, the old version of awk is available as oawk.

The nawk utility still exists. If your scripts reference nawk, they will continue to work as in previous releases, with the exception of changes made for UNIX98 compliance.

The following changes have been made to awk (previously nawk) in V4.6:

oawk (previously awk) now handles uninitialized fields correctly. You can create uninitialized fields in a record by assigning a value to them. In this case, the NF variable will increase, any intervening fields will be created with a null string, and the value of $0 will be recomputed using the value of the OFS variable.

For example, when oawk reads this simple script:

#!/bin/ksh
	awk '{
		$4 = "field4"
		print $0
		print $NF
  
	}' <<EOF 	field1 field2
	EOF

It now produces this output:

field1 field2  field4
	4

Previously it produced this incorrect output:

field1 field2
        2 

Disk Management


VTOCs


mkvtoc.

When the mkvtoc command includes the -s option to specify the VTOC to be installed on the disk, it is no longer necessary to specify a disktype.

If the command does not include the -s flag, a disktype must be specified and the appropriate /etc/diskinfo/<disktype>.geom file must exist.


Custom VTOCs.

DYNIX/ptx V4.6 includes a new command, crtvtoc, that can be used to create a custom VTOC and install it on a disk. The command includes options to create root, swap, and dump partitions for a root disk.

For other partitions, you can use the following options:

The ptx/ADMIN "Create a Custom VTOC File" option has been modified to use crtvtoc. For more information, see crvtoc(1M) and DYNIX/ptx System Administration.


devbuild, devdestroy, and /etc/devtab

The following changes have been made:


Application Region Manager

DYNIX/ptx now supports the "borrow" memory policy, which allows you to specify the minimum and maximum amounts of memory for a region. The minimum amount of memory is guaranteed to be available to the region. The region can borrow additional memory up to the maximum amount from the free pool maintained by the system. You can set the "borrow" memory policy with either ptx/ADMIN or the rgnctl command.

The operating system now reserves a minimum amount of memory for the system region. A new tunable kernel parameter, SYSRGN_MIN_RESERVE, specifies the minimum amount; the default is 64 MB. You can also use the rgnctl command to change the minimum amount of memory reserved for the system region:

rgnctl -m -R mem_min=amt system

The minimum reserve is in effect only when a user-defined region is active. Otherwise, the system region has all of the free memory on the system.

See DYNIX/ptx System Configuration and Performance and the rgnctl(1M) man page for more information about these features.


Tune Parameters with sysdef

The /etc/sysdef command can now be used to tune many kernel parameters dynamically. The change takes effect when you run the command; you do not need to compile the kernel.


ATTENTION

You can also tune these parameters with the ptx/ADMIN "Kernel Configuration" option; however, this method requires that you compile the kernel and reboot.



sysdef Options

The sysdef command has the following options:

-a parameter value
Adjusts the value of the specified parameter. You must be root to use this option.
-d
Prints only the parameters that can be tuned with sysdef. The values of the parameters are also printed.
-F file
Reads parameters from a file and sets their values accordingly. Each parameter must be listed on a separate line. Use the following form:
name     value

You must be root to use this option.

-p parameter
Prints the name and current value of the specified parameter.
-t
Terse. Prints only the value of the specified parameter. This option works in conjunction with -p or -d and is intended for use in scripts.
-v
Prints the name, default value, and range for each tunable parameter. This option works in conjunction with -p or -d.

When using sysdef to modify parameters, keep in mind that the change takes place at the time the command is executed; it cannot retroactively change a parameter. For example, the following command immediately increases the number of CDFS filesystem inodes allocated in the kernel.

# /etc/sysdef -a CDFS_NINODE 92

However, if the SHM_LOCK_OK flag is enabled and you then disable it with sysdef, the command will have no effect on operations that are already locked.


Parameters That Can Be Tuned with sysdef

The following parameters can be tuned with sysdef. For more information about these parameters, see DYNIX/ptx System Configuration and Performance.

Semaphore Parameters:

SEMAEM
The maximum adjust-on-exit value for undo structures.
SEMMNS
The maximum number of semaphores that can be allocated.
SEMMNU
The number of undo structures in the system.
SEMMSL
The maximum number of semaphores allowed per semaphore identifier.
SEMOPM
The maximum number of semaphore operations that can be executed per semop() system call.
SEMUME
The maximum number of undo semaphores per process.
SEMVMX
The maximum value a semaphore can take.
SEMURT
The reclaim threshold for IPC semaphore undo structures.

IPC Message Parameters:

MSGMEM
The maximum amount of memory to use for IPC messages.
MSGTQL
The maximum number of outstanding messages allowed on each queue.
MSGMNB
The maximum size (in bytes) of a single message queue.
MSGMAX
The maximum size (in bytes) of a single message.
MSGTQL
The maximum number of outstanding messages allowed on each queue.

IPC Shared Memory Parameters:

SHMMIN
The minimum size of an individual shared-memory segment.
SHMMAX
The maximum size of an individual shared-memory segment.
SHMGAP
For COFF processes only, determines where the the shared-memory segment is attached when shmat() is called with an address of 0.
SHM_LOCK_OK
Whether SHM_LOCK operations are allowed.
SHM_LOCK_UID
The SHM_LOCK euid.
SHM_LOCK_MIN
The minimum size (in bytes) of a segment for SHM_LOCK.
SHM_LOCK_MAX
The maximum size (in bytes) of a segment for SHM_LOCK.
SHM_LOCKDF_OK
Whether implicit SHM_LOCK is enabled.
SHM_LOCKDF_UID
The implicit SHM_LOCK euid.
SHM_LOCKDF_MIN
The minimum segment size (in bytes) for implicit locking.
SHM_LOCKDF_MAX
The maximum segment size (in bytes) for implicit locking.

Other Parameters:

CHOWN_RESTRICTED

Whether use of the chown() system call is restricted to the superuser.

PARALLEL_IO
Whether parallel I/O is enabled.
CDFS_NINODE
The number of active CDFS filesystem inodes allocated in the kernel for all CDFS filesystems.
NPROC_RTIMAX
The amount of additional physical memory that the system can allocate dynamically if it uses all NPROC table slots.
STICKYHACK
Whether data is saved in the buffer cache when a user sets the sticky bit on a nonexecutable file.
UFS_DSORT_FSIZE

The size of the frame used in the disksort algorithm. We recommend that you change this parameter only under the direction of customer support.

UFS_AGE_READS
Whether a block is aged as the operating system reads off its end. This parameter is enabled by default. We recommend that you change it only under the direction of customer support.
UFS_AGE_WRITES
Whether a block is aged as the operating system writes off its end. This parameter is enabled by default. We recommend that you change it only under the direction of customer support.
UFS_WRITE_BEHIND

Whether a block write is scheduled when the operating system writes off its end. This parameter is enabled by default. We recommend that you change it only under the direction of customer support.

UFS_RESOURCE_COMPLAINT_INTERVAL

The interval (in seconds) between complaints about filesystem resource exhaustion. We recommend that you change this parameter only under the direction of customer support.


Save Parameter Changes

When you set a parameter with the sysdef command, the change stays in effect only until the next system boot. To save these changes and reinstate them at boot time, add a script containing the changes to the directory /etc/ktune.d.The script can contain multiple sysdef commands, one per line. You can give the script any name you want; however, it must be executable.

Alternatively, you can modify the parameter through ptx/ADMIN and recompile the kernel. The change will then be in effect each time the system is rebooted.


Other Kernel Changes


kmstune Memory Pools

The following memory pools have been added:

base.sem
The number of semaphore identifiers that will be allocated when the system is initialized (that is, the number of unique semaphore sets that can be active at one time). This value was previously set with the SEMNMI parameter.
base.shm
The maximum number of shared-memory identifiers, system-wide. This value was previously set with the SHMMNI parameter.
base.msg
The maximum number of queues allowed in the system. This value was previously set with the MSGMNI parameter.

The base.file memory pool, which specifies the maximum number of concurrently open files, was previously limited by the NFILE kernel parameter. This parameter has been removed in V4.6. Instead, a new script, base.file, sets the limit for this pool during system boot.

The base.file script is located in the /etc/ktune.d directory. This directory also contains the scripts base.sem, base.msg, and base.shm, which set the limits for the corresponding memory pools at boot time.

To dynamically adjust the value for a pool, use kmstune to modify the red attribute. To preserve the change across system boots, also modify the value in the corresponding script in the /etc/ktune.d directory.

Each structure pool has a size statistic that specifies the size of the structure. The size of a page is then calculated as 4096 divided by the pool's size. When you set the red zone for a structure pool, kmstune will round up the value you specified to the granularity of a page of memory.


New Semantics for NPROC

The number of available process table slots can now be tuned dynamically. At boot time, the system allocates virtual memory for NPROC_MAX process table slots and physical memory for NPROC process table slots. If the system uses all NPROC table slots, it can dynamically allocate additional physical memory up to NPROC_RTIMAX slots.

The parameters have this relationship:

NPROC <= NPROC_RTIMAX <= NPROC_MAX

The NPROC_RTIMAX and NPROC_MAX parameters are new in V4.6.

The NPROC and NPROC_MAX parameters are located in the /usr/conf/uts/kernel/i386_space/config file and can be tuned with the ptx/ADMIN "Kernel Configuration" option. You will need to recompile the kernel after changing these parameters. You can tune the NPROC_RTIMAX parameter dynamically with the sysdef command.


New Region Parameter

A new parameter, SYSRGN_MIN_RESERVE, specifies the minimum amount of memory that will be reserved for the system region. The default value is 64 MB. This parameter can be tuned with the ptx/ADMIN "Kernel Configuration" option.


Obsolete Parameters

The following parameters are now obsolete. If these parameters are in your local site file (/usr/conf/uts/symmetry/sci/site.<machine.name>), remove them before you upgrade to DYNIX/ptx V4.6.

Table 1-1. Obsolete Kernel Parameters

CDFS_NCDIV

FLINO_MULT

NFILE

CDFS_NCMULT

MFILE_DIV

NMFILE

CDFS_NCSIZE

MFILE_MULT

P_LOCK_DEBUG

FDIV_BUG_FLAG

MSGMAP

SEMMAP

FILCK_MULT

MSGMNI

SEMMNI

FILE_DIV

MSGSEG

SHMMNI

FILE_MULT

MSGSSZ

SHMSEG

FIST_BUG



Threads Support

Several interfaces have been added to libc for UNIX98 compliance. To compile code that calls any of the interfaces, either specify the compiler switch -Kthread or define the symbol _SEQUENT_THREADS. The compiler parameter -lpthread can be specified, but is not necessary.


Thread Synchronization Object Process-Shared Attribute Routines


Thread Concurrency Routines


Thread Stack Guard Size Routines


Realtime Threads Feature Group Routines

The following interfaces are not supported and return ENOSYS.

pthread_attr_getinheritsched()
pthread_attr_setscope()
pthread_attr_setinheritsched()
pthread_mutexattr_getprioceiling()
pthread_attr_getschedpolicy()
pthread_mutexattr_setprioceiling()
pthread_attr_setschedpolicy()
pthread_getschedparam()
pthread_setschedparam()
pthread_mutex_getprioceiling()
pthread_mutex_setprioceiling()
pthread_mutexattr_getprotocol()
pthread_attr_getscope()
pthread_mutexattr_setprotocol()

ptx/ADMIN

The following options on the Disk Drive Management menu (System Administration -> Disk Management) have changed:

The "Shut Down the System" form (System Operations -> Change System Run Level -> Shut Down the System) now asks whether the shutdown was planned or unplanned. This information is logged and can then be used to measure system availability.

The form for configuring a kernel now lets you specify whether you are configuring a standard or manufacturing (Mfg) kernel.


Changes to ptx/C and Programming Tools


ptx/C

The following changes have been made:

The predefined macro _SEQUENT_ remains in ptx/C V4.6 for compatibility with previous releases, but its use in new code is discouraged.


debug Debugger

When the create command is used, processes are now stopped at the starting address specified in the object file. Previously, they were stopped immediately after the exec system call was executed. Statically linked programs will see no change in behavior. For dynamically linked programs, the behavior is now similar to that of statically linked programs.

A new option, -h exec, causes debug to revert to the old behavior and stop after the exec. Another new option, -h init, stops in the dynamic linker before .so init sections are run, allowing you to debug C++ static constructors in shared objects.

You can specify a -h option with either the debug or the create command. If you enter a -h option on the debug command line, debug passes the option to the create command it executes automatically at startup.


edb Debugger

The following changes have been made:


Commands


New Commands

convert_kscript
Assists in the conversion of scripts from the previous version of the Korn shell to the V4.6 Korn shell.
crtvtoc
Creates and installs a VTOC on a disk. See crtvtoc(1M).
diskown
Adds, modifies, deletes, or displays the disk label information on a disk. This command is intended for systems running DYNIX/ptx V4.6. See diskown(1M).
edc
New -R option specifies the alternate filesystem to be used for installing ptx/ADMIN menus. See edc(1M).
fferrctl
Controls the Fibre Channel error-detection mechanism. See fferrctl(1).
genxlt
Generates a codeset conversion table for the iconv library. See genxlt(1).
iodt
Displays the maximum I/O drain time registered since the last boot. See iodt(1).
kbinfo
Lists the current kernel build parameters. See kbinfo(1M).
lbledit
Adds, modifies, deletes, or displays the disk label information on a disk. This command is intended for systems running DYNIX/ptx V4.4 or V4.5. See lbledit(1M).
localedef
Defines the locale environment. See localedef(1).
mapdev
Maps device names to their physical specifiers and vice-versa. See mapdev(1M).
mkcatdefs
Preprocesses a message source file for input to the gencat command. See mkcatdefs(1).
rme
Displays the current FCP routing element information for the specified (adapter, target) pair in the given fabric. See rme(1M).
uconvdef
Compiles or generates a UCS-2 (Unicode) conversion table for use by the iconv library. See uconvdef(1).
vcsversinfo
Displays version information for the NUMA-Q console software that is currently installed. See vcsversinfo(1M).

Changed Commands

bfset
New -g option sets the rolling-upgrade state for a node of a cluster. This option is intended for use in installation scripts only. See bfset(1M).
bfget
New -g option obtains the rolling-upgrade state of the node. See bfget(1M).
cal
The output now lists two months per line instead of three.
cd
New options: -L does not expand symbolic links when the shell sets the environment variable PWD to the new working directory; -P expands the symbolic links. See cd(1).
chmod
The behavior of the -R option has changed. When a symbolic link is encountered, the -R option now changes the mode of the target and then stops recursion. In the previous release, the mode was not changed and recursion continued. This change may affect scripts that depend on the previous behavior.
devbuild, devdestroy
Several changes have been made to these commands. See "devbuild, devdestroy, and /etc/devtab," earlier in this chapter, for more information.
devctl
When configuring a device with -c or deconfiguring a device with -d, several new options are available to restrict the operation. New options are also provided to deconfigure a link between parent and child devices without deconfiguring either device. See devctl(1M) for details.

In the previous release, before changing the permanent name of a disk drive, you needed to run devdestroy to remove the VTOC driver from the disk. This step is no longer necessary.

dumpconf
The -b option now displays the physical specifier for disk devices in serial number format. To see the physical path for a disk, use mapdev -o. New options: -t displays the temporary names that were assigned during system boot; -s lists the names of all configured physical devices sorted by the alphabetical part of the name. Additional flags have been added to indicate the devbuild state and the label type for disk devices.
ex
New -l option indents appropriately for Lisp code and accepts the (), {}, [[, and ]] characters as text instead of interpreting them as commands in visual mode.
fc
If the -e editor option is not specified, fc now uses the value of HISTEDIT as the default editor.
file
The output has changed when file is run on a shell script. For /bin/sh scripts, the output has changed from "Bourne Shell script text" to "Commands Text." For /bin/ksh, the output has changed from "Korn Shell script text" to "Commands Text." For /bin/nawk, the output has changed from "Nawk Commands Text" to "Awk Commands Text."
fuser
Moved from /etc to /usr/bin. A symbolic link points to the old location. See fuser(1).
gencat
Moved from /usr/lbin to /usr/bin. A symbolic link points to the old location. See gencat(1).
getconf
New -v option indicates the specification and version for which configuration variables are to be determined. See getconf(1).
iconv
Moved from /usr/lbin to /usr/bin. A symbolic link points to the old location. The -m, -d, and -v options are no longer available. Characters can now be read from standard input. See iconv(1).
infodev
Now displays Node and Port WWN information for FC Host Adapters.
ipcs
The first line of the output has changed. Previously, it had the following form:
IPC status as of Wed Jun 14 13:35:01 2000

It now has this form:

IPC status from <running system> as of 
 Wed Jun 14 13:35:01 EDT 2000

link, unlink
Moved from /etc to /usr/bin. A symbolic link points to the old location.
man
The -k option can now use Extended Regular Expressions.
mkvtoc
When the command includes the -s option to specify the VTOC to be installed on the disk, it is no longer necessary to specify a disktype.

If the command does not include -s, a disktype must be specified and the appropriate /etc/diskinfo/<disktype>.geom file must exist.

pax
When pax recreates an existing file, it now sets the file attributes as follows:

Previously, the existing file was unlinked and a new file was created.

prs
The argument to the -d option is now required. Previously it was optional.
ps
New -H option prints the name of the region from which memory resources are allocated. See ps(1).
rgnctl
A minimum amount of memory can now be reserved for the system region. The "borrow" policy for the memory resource is now supported. See rgnctl(1M).
shutdown
New options: -p marks the shutdown as planned; -u marks the shutdown as unplanned. These options are logged in /var/adm/wtmp and /var/adm/wtmp_avail. The information can then be used for measuring overall system availability.

These switches are optional in ordinary system installations. For high availability sites, one of these switches must be specified when shutting down the system. This is enforced by the file /etc/.log_shutdown. See shutdown(1M).

stty
New local mode iexten (-iexten) enables or disables implementation-dependent special control characters not currently controlled by icanon, isig, ixon, or ixoff. See stty(1).
upsmon
The etc/inittab entry for upsmon has been corrected. See upsmon(1M).

System Calls and Libraries


New System Calls and Libraries


Changed System Calls and Libraries


New Features and Changes in the V4.5.x Release


Support for POSIX Threads

DYNIX/ptx now provides support for POSIX threads. The traditional UNIX process model consisted of an address space and exactly one thread. POSIX threads extends this model to be an address space with one or more threads of control. Because of the shared nature of the address space among threads, multi-threaded applications must synchronize access to process global resources.

When compiling a threaded application, you must include the -Kthread option on the cc command line as described in the cc(1) man page.

For more information about the DYNIX/ptx implementation of threads, see DYNIX/ptx Programming and Tools.


Application Region Manager

The Application Region Manager has been enhanced to allow memory and process table resources to be assigned to an application region. Previously, only CPUs could be assigned to a region. When you create a region, you must assign at least one CPU to the region. Assigning memory and process table resources is optional.

Users can now be assigned to an application region. At login time, the user is placed in the specified region and all processes started by the user will execute there.


Compliance With ISO/IEC 9899 Amendment 1, C Integrity

DYNIX/ptx is now compliant with the ISO/IEC 9899 Amendment 1, C Integrity standard.

For applications to be compliant with this standard, the __STRICT_ISO_C_AMM1__ macro must be used.

The following changes were made for compliance with this standard:

The ISO C standard specifies that streams have an orientation. When a file is opened, the stream is considered unbound (or without any orientation). When byte I/O functions are applied on the stream, the stream is considered to be byte-oriented. Similarly, when wide character I/O functions are applied on a stream that is not oriented, the stream is considered to be wide-oriented. Wide character I/O functions are not allowed on byte-oriented streams and byte I/O functions are not allowed on wide-character streams (these functions fail with the error code EINVAL). A stream's orientation can be changed with either freopen(), which removes any orientation, or fwide(). Also, wide character streams include an mbstate_t object that maintains the current conversion state information of the stream. This mbstate_t object is used in locales that support shift-state-encoding.


Support for Perl

DYNIX/ptx now includes Perl Version 5.005-03, the third maintenance release of V5.005. Perl is installed as /usr/bin/perl. The Perl Programmer's Reference Guide is provided in man-page format. See perl(1) for more information.


System Boot


Improved System Boot Time

Changes have been made in the device autoconfiguration routines to greatly reduce the time required to boot the operating system. The improvement you will see is dependent on your hardware configuration. In general, machines with large Fibre Channel Bridge or Pbay configurations show the most improvement; devices on these machines will be configured several times faster than with DYNIX/ptx V4.4.


Change to Verbose Output During Boot

When the system is booted with the -v (verbose) option, the kernel messages are now displayed in a different order. The first messages, which begin with a plus sign, indicate the first devices to be configured. The second group of messages describe the available memory on the system. The third group of messages begin with processor numbers and indicate that the remaining devices are being configured.

 +qlc0 pci port - (unit 0xb) found on +quad0 pci port 0 (unit -)
   +asy0 eisa port - (unit 0x0) found on +quad0 eisa port - (unit -)
   +asy1 eisa port - (unit 0x1) found on +quad0 eisa port - (unit -)
   +mdc0 eisa port - (unit 0x0) found on +quad0 eisa port - (unit -)
   real memory = 24544.00 megabytes.
   available memory = 23126.39 megabytes.
   using 131072 buffers containing 1024.00 megabytes of memory.
   00: Configuring devices, please wait.
   20: +scsibus0 mscsi port - (unit -) found on +qlc0 mscsi port 0 (unit 0x70)
   16: +scsibus1 mscsi port - (unit -) found on +qlc1 mscsi port 0 (unit 0x70)
   12: +scsibus2 mscsi port - (unit -) found on +qlc2 mscsi port 0 (unit 0x70)
   16: +sd0 scsi port - (unit 0x0) found on +scsibus1 scsi port - (unit -)
   09: +sd3 scsi port - (unit 0x30) found on +scsibus1 scsi port - (unit -)
   10: +sd1 scsi port - (unit 0x20) found on +scsibus1 scsi port - (unit -)
   11: +sd2 scsi port - (unit 0x10) found on +scsibus1 scsi port - (unit -)   ...

Consoleless Reboot

Under the following scenarios, the operating system can be rebooted although the system console is not running.

The following types of situations can cause a consoleless reboot to fail:

In these cases, a working console will be needed to diagnose and fix any problems, to boot the system, or to perform the necessary user interactions.


Changes Affecting Users


Change to Default PATH Variable

In previous releases, /bin/login set the default path for the PATH environment variable to .:/bin:/usr/bin, which caused the home directory to be searched first. To provide better security, the default path is now /bin:/usr/bin:., which causes the current working directory to be searched last.


Change to Korn Shell Syntax

In previous releases, ksh accepted the syntax "((...)...)", but did not always interpret it correctly. This syntax has been replaced by "( (...)...)". (A space is now required between the left parentheses.) The shell now reports an error for the older syntax.

If your shell scripts rely on the older syntax, you will need to modify them to use the new "( (...)...)" syntax.


Filesystem Changes


Additional Cylinder Group Information

Each cylinder group now contains additional information that identifies the filesystem to which the cylinder group belongs. This information is used to help detect filesystem inconsistency. The cylinder groups in older filesystems are automatically upgraded with this information the first time that fsck is run on the filesystems.


Memory Filesystems

Previously, memory (mfs) filesystems were temporary; when the filesystem was unmounted, its contents were lost. These filesystems can now be stored in a regular file. A new -I image_file option has been added to the mount_mfs command to allow you to specify the file where the image is to be stored. If image_file already exists, the -I option will mount it. The filesystem utilities have been enhanced as necessary to work with the image_file.


Fibre Channel Changes


Changes to the Fibre Channel Subsystem

When an optical unit (GBIC or GLM) in a FC Host Adapter, Switch port, or Bridge begins to fail, it can intermittently, but repeatedly, corrupt data transfers to and from Fibre Channel components within the mass storage subsystem.

In previous DYNIX/ptx releases, when this situation occurred, the system could become bottlenecked and stall for long periods of time as it attempted to recover from I/O failures caused by the failing component. Although the system could sometimes eventually recover, critical applications may have timed-out and failed by then. These failures were characterized by a series of command sequence timeout messages logged by the Fibre Channel Host Adapter driver (ff).

In DYNIX/ptx V4.5, the affected SCSI bus initiator(s) and/or specific disk ports/routes will be disabled when the failure occurs. This enables the system to quickly route around the point of failure if possible and avoids system stalls. The SCSI bus driver and/or the disk driver will log error messages indicating that a SCSI bus initiator or a specific disk port/route has been disabled. The system will automatically attempt to reintegrate disabled SCSI bus initiators at five minute intervals. Disk ports will be quickly reenabled and reintegrated into the system if they pass a simple driver-provided diagnostic, but will be "permanently disabled" if they exhibit the behavior again within the next 10 minutes.

Once the source of the failure(s) has been determined and corrected, you can use OLR operations (with devctl(1M)) to restore disk access through the "permanently disabled" ports. Alternatively, you can use the revive option to the pbayid/diskid program to restore access. The revive option avoids the overhead of OLR, as you do not need to unmount filesystems, take disks out of SVM control, or destroy VTOCs.

To ensure that the system can route around disabled components, you can use the following configuration methods to provide alternate routes:


Fibre Channel Diagnostics

The NUMA-Q online diagnostics product includes a new utility, /usr/onldiag/fcdcu, that collects diagnostic data from the Fibre Channel devices on the system. The utility is started automatically when the system is booted to multiuser mode. By default, it runs as a daemon and polls the FC devices every 30 minutes. fcdcu stores the data it collects in a log file in the /usr/adm/fclog directory. A shell script, /usr/onldiag/purgefclogs, is also provided to find old log files and remove them from the system. For more information, see DYNIX/ptx System Administration.


New Switch Utility

The NUMA-Q online diagnostics product includes a new utility, /usr/onldiag/swutil, that extracts the SES pages from a Switch. This utility makes it unnecessary to telnet into the Switch to obtain similar data through the standard command line interface. For more information about this utility, see the swutil man page.


Kernel Changes


Change to I_UNLINK and I_PUNLINK ioctls

In previous releases, when a user connected two streams using the ioctl() operations I_LINK or I_PLINK, any other user could unlink them with I_UNLINK or I_PUNLINK . To improve security, the I_UNLINK and I_PUNLINK operations are now restricted to the owner of the link (the user who created the link) and to the root user.

This restriction is enabled by the new configurable parameter muxunlink_restricted. When the parameter is set to 1, which is the default value, the restriction is in effect.

We recommend that you modify your applications to use the new behavior of these ioctls. However, if your site requires the previous unrestricted behavior, you can set the muxunlink_restricted parameter to 0 and then recompile the kernel and reboot. The parameter is located in /etc/conf/uts/kernel/i386_space/param_space.c.


Change to Virtual Memory Parameters

The kernel now maintains files containing vmtune parameters for each user-defined application region defined on your system, allowing you to tune each region separately. The file for the system region contains global vmtune parameters.

The new vmtune -gregion option can be used to view or change the parameters for a specific region.

For information about maintaining parameter changes across system boots, see DYNIX/ptx System Configuration and Performance.


Change to eXtended Kernel Virtual Address Space (XKVA)

Starting in the DYNIX/ptx V4.4.4 release, a mechanism called eXtended Kernel Virtual Address space (XKVA) was provided to extend the range of KVA addresses possible on NUMA-Q systems configured with wide 64-bit PTEs. This mechanism overlayed an additional 3 GB of kernel virtual space on top of the standard 3 GB of user virtual space. The kernel then mapped and remapped user virtual space and XKVA as needed.

By default, this mechanism was enabled for all NUMA-Q systems running with wide 64-bit PTEs, providing support for up to 64 GB of physical memory. However, on systems that did not need the extra kernel virtual space (physical memory was 16 GB or less and the system was not running out of kernel virtual space in primary KVA), this mechanism could reduce system performance, as it required extra faults and TLB flushing. Systems that did not need the XKVA feature could disable it by patching the kernel variable xkva_alloc_enabled.

In the V4.5 release, the XKVA implementation has been improved. The operating system now uses XKVA for dynamic kernel virtual space allocations only when all primary KVA is completely used up. The xkva_alloc_enabled parameter is obsolete; systems that do not need the XKVA feature no longer need to disable it. The V4.5 release also includes several improvements in direct I/O page-locking, which improves the performance of direct I/O operations when XKVA usage is forced by the system workload.


Dynamic Allocation of Kernel Structures

The following kernel structures are now allocated dynamically:

In previous releases, the allocation of most of these structures was controlled by tunable kernel parameters. The allocations can now be adjusted as necessary with the kmstune command. See the next section "Changes to kmstune" for information about the memory pools that are used to allocate these structures.


Changes to kmstune


New Memory Pools.

The following memory pools have been added in DYNIX/ptx V4.5:

base.cdfs.mount
The number of CDFS filesystem mounts allowed on the system. This value was previously controlled by the CDFS_MOUNT kernel parameter.
base.fifo
The maximum number of FIFOs/pipe ends in the system (need one per FIFO, two per pipe). This value was previously controlled by the NFIFO kernel parameter.
base.file
The maximum number of concurrently open files. This value was previously controlled by the NFILE kernel parameter.
base.flox
The maximum number of file and record locks available at a given time.
base.io.ptem
The maximum number of ptem structures (used for pty hardware emulation) on the system.
base.linkblk
The maximum number of multiplexor links on the system.
base.mfile
The maximum number of mapped file descriptors that the system can use at any one time.
base.ofile
The maximum number of open files per process.
base.procdirs
Process resource control blocks; maintains some process-wide information. This structure is used in the support of multiple-threaded processes. Do not modify this pool.
base.queue
The number of streams queues to be configured.
base.session
Resource levels for sessions.
base.snode
The number of specfs nodes that can be created on the system.
base.stream
The number of stream-head (stdata) structures to be configured.
base.ufs.inode
The maximum number of concurrently active inodes.
base.ufs.mount
The maximum number of mounted filesystems, including the root filesystem, that can exist at any one time. This value was previously controlled by the NMOUNT kernel parameter.
base.ufs.quota
The maximum number of disk-quota structures that can be active at any one time. This value was previously controlled by the NDQUOT kernel parameter.
base.allocb.buffer.lo4g.c[ 0-8 ]
These pools are the same as the corresponding base.alloc.buffer.c[0-8] pools except that they are guaranteed to be allocated in the lowest 4 GB of memory on a quad. These pools are needed only if there is a DMA-challenged PCI card that must DMA from a quad whose physical memory straddles a 4-GB boundary.
base.allocb.lo4g.c[0-8]
These pools are the same as the corresponding base.alloc..c[0-8] pools except that they are guaranteed to be allocated in the lowest 4 GB of memory on a quad. These pools are needed only if there is a DMA-challenged PCI card that must DMA from a quad whose physical memory straddles a 4-GB boundary.

Site modifications to kernel structure pools can be easily saved and reinstated at boot time. See DYNIX/ptx System Configuration and Performance for more information.


Obsolete Parameters

The fllowing parameters are now obsolete:


Parameters With New Default Values

The default values have been changed for the following parameters. If your site file includes any of these parameters, you may want to reconfigure them.

SYMLINK_MAX
This parameter specifies the maximum number of symbolic links that can be processed when interpreting a pathname. Its default value has been increased to 64.
NSTREAM
This parameter specifies the number of stream-head (stdata) structures to be configured. The default value is now 10 + TTYMULT * MAXUSERS.
STRBUF
This parameter is used to size most of the NBLKn parameters. Its default value is now the same as NSTREAM.
NQUEUE
This parameter specifies the number of streams queues to be configured. Its default value is now 8 * NSTREAM.
NBLK*
The default values of these parameters have been reduced by about a factor of ten because STREAMS buffers are now dynamically allocated. The parameters are set to the beginning "reserved values" that the kernel is guaranteed to allocate. If a value is too low, the system will dynamically allocate additional buffers automatically. The default values are now as follows:

NBLK4096
10 + NSTREAM / 40
NBLK2048
10 + STRBUF / 10
NBLK1024
10 + STRBUF / 40
NBLK512
10 + STRBUF / 40
NBLK256
10 + STRBUF /40
NBLK128
10 + STRBUF / 40
NBLK64
10 + STRBUF / 10
NBLK16
10 + STRBUF * 2 / 5
NBLK4
10 + STRBUF * 8 / 5 + NPERM


New Tunable Parameters

The following parameters were added in the V4.5 release:

MAXULWP
The maximum number of lightweight processes per non-root user. The default value is 1024. The range of values is 2 to any number.
INODECACHE
The number of entries that will be maintained on the inode cache list (or free inode list). The default value is NINODE /10. The range of values is 0 to any number.
MAXAIO_HARD
The hard limit for the maximum number of pending asynchronous I/O requests per process. The default value is 50. The range of values is MAXAIO to any number.

The existing MAXAIO parameter now provides a soft limit for the maximum number of pending asynchronous I/O requests per process. Its default value is also 50.

maxunlink_restricted

Whether the I_UNLINK and I_PUNLINK operations are restricted to the owner of the link and the root user. By default, the parameter is set to 1, which provides the restricted behavior.


New Core File Format

The format used for core files has been changed. A core file now includes the following process information:

The size of the core file created by a process can be controlled by the user (see getrlimit(2)). Core files for multi-threaded processes are typically much larger than core files for single-threaded processes.

For more information about the new format, see core(4).


Changes to ptx/ADMIN


Region Management Menu

The Create a Region option now allows you to include memory and process table resources in an application region. The Modify a Region option allows you to modify those resources.

The Display Regions option now allows you to select the regions for which you want to display attributes.

A new option, Configure Region Options, allows you to specify the default login region.


User Management Menu

The Add a User Account and Change a User Account options now allow you to specify the application region into which a user should be placed at login.


Changes to ptx/C and Programming Tools


New cc Options

The following options can now be specified on the cc command line:

-K{thread | nothread}

Generates code for threaded or non-threaded applications. The default is -Knothread.

-W0,-xstring_merge_ro

Creates only one copy of identical read-only (const char *) literal strings.

-W0,-xstring_merge_rw

Creates only one copy of identical read/write (char *) literal strings.

-W0,-xstring_merge

Shorthand for specifying both -W0,-xstring_merge_ro and -W0,-xstring_merge_rw.

-W1,-no_red_zone

Suppresses the generation of stack probe code for multi-threaded applications.


New Macros

Two new predefined macros, __STDC_VERSION__ and __STRICT_ANSI__, are now available. Table 1-3 shows how these macros are defined in each cc compilation mode.

Table 1-3. Macro Definitions for cc Compilation Modes

Mode

__STDC_VERSION__

__STRICT_ANSI__

-Wc,-seq

undefined

undefined

-Xs

undefined

undefined

-Xt

199409L

undefined

-Xa

199409L

undefined

-Xc

199409L

1



Changes to Programming Utilities

as
New options: -Pmmx recognizes Intel i386TM, i486TM, Pentium®, Pentium Pro, and Pentium II XeonTM instructions. Without this option, the compilation system displays a warning message for any instructions that are specific to the Pentium II Xeon. -Pxmm recognizes Intel i386, i486, Pentium, Pentium Pro, Pentium II Xeon, and Pentium III Xeon instructions. Without this option, the compilation system displays a warning message for any instructions that are specific to the Pentium III Xeon. See as(1).
ld
New -R path option that lists directory pathnames to be used to specify library search directories to the run-time linker. See ld(1).
lint
New -Kthread and -Knothread options to turn on the appropriate preprocessor flags for threaded or non-threaded applications. The default is -Knothread. See lint(1).
ofl_dump
A man page is now available for ofl_dump, the "ordering for locality" (OFL) trace file dumper. See ofl_dump(1).

Support for ISO/IEC 9899:1990/Amendment 1

By default, ptx/C is compliant with most areas of the ISO/IEC 9899 Amendment 1, C Integrity standard. For complete compliance with the standard, specify -D __STRICT_ISO_C_AMM1__ on the cc command line. This macro causes different versions of the following functions to be used:


New Assembler Instructions

The assembler now supports the MMXTM and Streaming SIMD instruction set extensions. The MMX instructions are supported on both Pentium II Xeon and Pentium III Xeon processors; the SIMD instructions are supported only on Pentium III Xeon processors. If a system contains a mix of processor types, application writers can use a primitive to ensure that the MMX instructions are run only on processors that support those instructions. The SIMD instructions are restricted to systems containing only Pentium III Xeon processors. Another primitive is available to determine whether all processors on the system support SIMD instructions. For information about these primitives, see the engdata(3SEQ) man page. For descriptions of the instructions, see the DYNIX/ptx Assembly Language User's Manual.


Debugger Support

The edb debugger is now provided with DYNIX/ptx. (This debugger was previously provided with ptx/C++.) edb must be used to control and debug multi-threaded programs and to analyze core files from them. The older debug debugger is still available and can be used to debug non-threaded programs only.


Changes in edb V3.3.5

The following changes have been made since the previous release of edb.

New functionality:

New options:

autoupdatejob
Makes edb change job when an event occurs on another job
showlimit
Specifies the number of declarations to show before paging
printlimit
Specifies the number of identifiers to print before paging
returnrepeats
Entering a blank line should (not) repeat the previous command

Enhancements to the edb graphical user interface:

Three new commands have been added to the popup menu of the Source pane. Right click in the Source pane to see these items:

print
Prints the value of the selected expression
show
Shows the definition of the selected identifier
address of
Dereferences the selected identifier

An X resource toggle to display icons has been added:

Edb*iconsPaneToggle.set: true

The edb control buttons can now be personalized:

Edb*viewer_run_button.labelString:

Run

Edb*viewer_continue_button.labelString:

Continue

Edb*viewer_step_button.labelString:

Step

Edb*viewer_step_over_button.labelString:

Step over

Edb*viewer_return_button.labelString:

Return

Edb*viewer_halt_button.labelString:

Halt

Edb*viewer_detach_button.labelString:

Detach

Edb*viewer_kill_button.labelString:

Kill

Edb*viewer_make_button.labelString:

Make

Edb*viewer_edit_button.labelString:

Edit



Commands


New Commands

bfget
Displays boot parameters. See bfget(1M).
bfset
Modifies boot parameters and files. See bfset(1M).
listkernprods
Lists the names and version numbers of products that are currently installed and have kernel components.
rgnopt
Lists or sets options that affect the behavior of the application region subsystem. See rgnopt(1M).

Changes to Commands

aliasmgmt
Now preserves comments in the /etc/audit_aliases file when the command is used to delete or modify an entry in the file. (If the comment is no longer correct, it should be modified manually.) See aliasmgmt(1M).
crash
New commands: mpctr evaluates multiprocessor counters; lwp provides information about lightweight processes. The region command now provides more information.
dumpconf
When the -m option is not used, the UNIT column displays Fibre Channel addresses in the same way as in DYNIX/ptx V4.4.2. The lower six hex digits of the unit are the Fibre Channel N-PORT address.
NAME         CFGTYPE  DEVNUM  UNIT        FLAGS  OnBUS    OnDEVICE
ff0          ff            0  0x00000006  SP     pci      quad0
fabric8      fabric        8  0x00000001  SM     fc       ff0

If you need LUN information, you must use the -m option, which produces output in a machine-readable format. In this format, the units of Fibre Channel devices can contain very large numbers (22 hex-digits). The first six hex-digits are the N-PORT address; the remaining hex-digits are the LUN (NNNNNNLLLLLLLLLLLLLLLL). Programs should treat these unit values as strings because they are too large to fit in any machine-sized number, even the long long type in C.

egrep
This command is now obsolete. The grep -E command should be used instead.
fgrep
This command is now obsolete. The grep -F command should be used instead.
fsirand
newfs and mkfs now have a built-in version of fsirand to install a filesystem ID into each cylinder group when a filesystem is created. See fsirand(1M).
fsck
A new -X FSType option forces fsck to call the specified version of fsck. This option is useful when fsck cannot determine the filesystem type because the superblock is corrupted. See fsck(1M).
fsck_ufs
Now requires that cylinder groups contain correct filesystem IDs and corrects the IDs if necessary. The first time fsck is run on an older filesystem, the cylinder groups will be upgraded with the appropriate filesystem IDs.

A new -o modifyroot option has been added to allow fsck to modify the root filesystem at boot time and in certain disaster recovery situations. fsck will not modify the root filesystem if this option is not provided. See fsck_ufs(1M).

getconf
A new configurable system variable, C2_CONFIG, has been added. The variable has a non-zero value if the kernel is configured for C2-level security; otherwise, the value is zero. See getconf(1).
ipcs
New options: -r region_name lists shared memory segments created by the processes running in the specified region; -R prints the region in which each shared memory segment was created, as well as the names of regions whose processes have attachments to the segment. The -C and -N options have been removed. See ipcs(1).
kill
New -v option lists the symbolic signal names and their numeric values. See kill(1).
killall
New -r region_name option kills active processes in the specified region. See killall(1M).
ksh
New -v option to the built-in kill command lists the symbolic signal names and their numeric values. The syntax "((...)...)" has been replaced by "( (...)...)", as the shell did not always interpret the older syntax correctly. See ksh(1).
login
If login regions are used, now places users in the specified login region, or in the default login region. See login(1).
lpadmin
New -t retry_time option specifies the time period to wait before resending a print job. See lpadmin(1M).
localedef
The setuid bit has been disabled to prevent non-privileged users from creating public locales in /usr/lib/locale. If necessary, the administrator can re-enable the setuid bit to allow users to create public locales.
mailbug
This command is now obsolete. Contact your service representative to report problems with your system.
MAKEDEV
The MAKEDEV(1M) man page has been updated to describe the following options:
S nslice
Specify the number of partitions to be created for disk devices.
P npass
Specify the number of pass-through devices to be created for fabric or scsibus devices.
M mbits
Use mbits as the size of the minor device. This option is passed through to mknod.
mkfs
Now writes a filesystem ID into each cylinder group when a filesystem is created. See mkfs(1M).
mkvtoc
New -o option writes the VTOC binary data to a file instead of the device. See mkvtoc(1M).
monitor
The names of several fields have been changed to represent the lightweight process (LWP) as the schedulable kernel entity and a new field has been added to specify the number of lightweight processes in the system. Additional fields have also been added to display region metrics. See monitor(1M).
mount
Previously, if the filesystem type was not specified and the filesystem did not appear in /etc/vfstab, the filesystem type defaulted to UFS. In V4.5, mount uses heuristics to try to determine the filesystem type.
mount_mfs
New -I image_file option enables the memory filesystem image to be saved in a regular file. If the image_file already exists, it will be mounted. The filesystem utilities, such as fsck and exfs, can be used with the image_file. See mount_mfs(1M).
newfs
Now writes a filesystem ID into each cylinder group when a filesystem is created. See newfs(1M).
offline
New -r region_name option prints the number of processors that are currently offline in the specified region. When used with the -a option, all but one processor in the specified region are brought offline. See online(1M).
online
New -r region_name option prints the number of processors that are currently online in the specified region. When used with the -a option, all processors in the specified region are brought online. See online(1M).
ps
New options: -P produces output in a machine parsable format (a single hyphen is printed for each null field); -q rqidlist prints data only for those processes having the specified run queue IDs; -T prints one line of output for each lightweight process (LWP) in each selected process. New variables for the -o option: lwp specifies the decimal value of the LWP's ID; nwlp specifies the number of LWPs for a process. See ps(1).
passmgmt
New -R login_region option specifies the region into which the user will be placed at login. See passmgmt(1M).
rgnctl
Now allows memory and process table resources to be assigned to a region. New -g option causes the operation to fail if the specified minimum resource limits are not available at the time of the operation. See rgnctl(1M).
rgnstat
Now displays information for memory and process table resources. New options: -f displays information about the resources in the free pool; -l, which must be combined with -a, -s, or -f, lists additional attributes, statistics, or resources in the free pool. See rgnstat(1M).
sar
New -R region option that reports activity for a specific region. See sar(1).
shadcheck
The command now returns an exit status of 2 when the shadow and password files are inconsistent or in an incorrect format. It previously returned 0 in this situation. See shadcheck(1M).
sort
Previously the -ykmem option, which specifies the amount of memory to be allocated, could be used to improve the performance of the sort utility. Changing the amount of memory allocated at one time no longer has a significant effect on sort's performance.
strstat
New options: -u unix option specifies an alternate kernel file to be used instead of /unix; -b displays low 4-GB stream buffers. See strstat(1M).
tar
The -t option can now list information for specific files. See tar(1).
tistat
New -u unixname option specifies an alternate kernel. See tistat(1M).
top
By default, top displays one line per lightweight process. If the -p option is specified, top displays one line per process, aggregating the information from all its lightweight processes, and displaying the process's lightweight process count (LWP) in place of the weighted CPU percentage (WCPU). See top(1).
top2
New "nwlp" field displays the number of LWPs for the process. When multiple processors are concurrently executing LWPs belonging to the same process, the per-process "engno" field now displays the first processor number, followed by a + to indicate that multiple processors are involved. See top2(1).
truss
New -T option prepends each line of trace output with the ID of the responsible lightweight process. If -f is also specified, each line of trace output is prepended with both the process ID and the lightweight process ID. See truss(1).
umountall
New -o flag to specify filesystem-specific options. This option should be used with the -f option. See mountall(1M).
uname
New -R option prints the name of the caller's region. See uname(1).
useradd
New -R login_region option specifies the region into which the user will be placed at login. See useradd(1M).
usermod
New -R login_region option changes the region into which the user will be placed at login. See usermod(1M).
vi
Now supports \< and \> for beginning-of-word and end-of word pattern matching and substitution. See vi(1).
vmtune
New -g region_name option displays the virtual-memory parameters for the specified region. -g can also be used to set the parameters for a specific region. See vmtune(1M).
who
New -g region_name option lists the users belonging to the specified region. It can be combined with other options to display other information for the region. See who(1).
whodo
New -r region_name option lists the users in the specified region and the active processes belonging to those users. See whodo(1M).

System Calls and Library Routines


New System Calls and Library Routines


Changes to System Calls and Library Routines


DYNIX/ptx Documentation

The following documentation is available on the documentation CD or at http://webdocs.sequent.com/:

DYNIX/ptx System Administration
DYNIX/ptx System Configuration and Performance
DYNIX/ptx Printer Management
ptx/INSTALL Software Installation
DYNIX/ptx V4.6 System Recovery and Troubleshooting Guide
DYNIX/ptx User's Information
DYNIX/ptx Error Messages
ptx/C User's Information
edb User's Guide
debug User's Information
DYNIX/ptx Programming and Tools
Assembly Language User's Manual
Link Editor (ld) Technical Reference
DYNIX/ptx STREAMS Programming Guide
DYNIX/ptx Network Programming Guide
DYNIX/ptx RPC Programming Guide
Extended Terminal Interface (ETI) Programming Guide
DYNIX/ptx Implementation Differences
POSIX Conformance Specification
X/Open Conformance Specification
ptx/ADMIN Development Guide
DYNIX/ptx FACE User's Guide
DYNIX/ptx FMLI Programming Guide