HP-UX 11i June 2002 Release Notes

Process, Threads, Memory, and Kernel Parameters
System-V InterProcess Communications (IPC)
Chapter 10
190
operate properly even with larger queues. Even some of those programs which do use the
fields may do so in such a manner that the inaccuracy does not adversly affect program
behavior.
These concerns arise only for separately-built binaries which share common message
queues. A group of binary programs which uses queues less than or equal to 64K are not
affected by a separate group of programs which may be using other queues greater than
64K.
The special compile-time symbol, __BIGMSGQUEUE_ENABLED, selects the enhanced
capabilities. It is anticipated that, at the major release to follow 11i, the default will be
switched so that programs recompiled without this symbol will create big queues.
Programs recompiled on 11i will be capable of handling the larger queue size fields, even
if not compiled with __BIGMSGQUEUE_ENABLED. You should consider whether your
applications should be recompiled on 11i to prepare for that future release.
Performance Issues
The purpose of increasing the size limits on System-V IPC message queues is to improve
performance of applications which pass large messages between processes. Specifically,
increased size limits eliminate the necessity to break messages into smaller pieces, as
well as reduce the high rate of context switching associated with such techniques.
Documentation Changes
The msgget (2), msgctl (2), and glossary (9) manpages have been modified to reflect these
changes.
System-V IPC SEMMSL Dynamic Kernel Tunable
new at 11i
original release
The System-V IPC kernel tunable configuration parameter SEMMSL, which sets the
maximum number of semaphores per ID which can be grouped within a single System-V
IPC semaphore set, has changed from a hard-coded value of 2048 in kernel code to a
dynamic kernel tunable. Its minimum and default value is 2048 while its upper limit is
10240. For 11i, dynamic tune adjustments to SEMMSL may only be done using System
Administration Manager (SAM).
With the increase in system sizes, applications have the ability to handle greater
numbers of cooperating processes. Some applications synchronize operations of these
processes by semaphores within a single set. Thus, the increase in the possible size of a
semaphore set means that these applications may increase the number of processes they
use.
This enhancement is available on all systems.
Impact
Increasing the SEMMSL kernel tunable to allow larger System-V IPC semaphore sets
does not itself consume any additional kernel resources such as memory. However, in
conjunction with increasing this tunable, you may need to increase the total number of
semaphores in the system by increasing the SEMMNS kernel tunable. This will consume
additional system memory.