HP-UX 11i June 2001 Release Notes

Process, Threads, Memory, and Kernel Parameters
System-V IPC SEMMSL Dynamic Kernel Tunable (new at 11i original release)
Chapter 8176
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
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 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. By increasing the limitations on semaphore sets, 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 conjuction 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.
Compatibility Issues
The change from a hard-coded SEMMSL to a dynamic tunable is
transparent to applications.
In releases prior to 11i, a “SEMMSL” symbol was hardcoded to 2048 in
sys/sem.h. This symbol will no longer always be an accurate
representation of the maximum number of semaphores in a set. Uses of
the symbol in programs should be removed. The pstat(2) interface can
return an accurate value for this kernel tunable.
Performance Issues
Some applications will be able to scale to utilize larger systems, where
scaling depends upon the size of a semaphore set.