NAME
pfdat_hash_locks — determines the size of the pfdat spinlock pool
VALUES
Allowed values
64 to 262144
DESCRIPTION
Global kernel structures containing information on a running process
or memory usage are frequently accessed or modified by several
threads concurrently.
To prevent race conditions, these structures are protected by spinlocks
(kernel data used for synchronization) which allow only the spinlock
'holder' to proceed, while all others attempting to access the
structure must wait.
Hashed spinlocks are used when each instance of such a data structure
is to be protected, and there are several instances.
Using a single spinlock for all instances would cause too much
contention, but using one spinlock per structure wastes memory
while the majority of the locks are unused at any given time.
By allocating a pool of hashed locks, a hash function picks one
lock per group of structures, reducing contention while conserving
memory.
This tunable sets the size of such a pool for the pfdat data
structure spinlocks.
Who Is Expected to Change This Tunable?
Only HP Field engineers should change the value of this tunable.
Restrictions on Changing
Changes to this tunable take effect at the next reboot.
When Should the Value of This Tunable Be Raised?
This tunable should be raised on systems with both low memory
contention and high lock contention due to a large number of
pfdat structures.
Typically, such a system would be a large memory system with
a large amount of processes or threads.
What Are the Side Effects of Raising the Value?
More memory is used by the kernel.
When Should the Value of This Tunable Be Lowered?
This tunable should only be lowered on systems with high contention
for physical memory and few processes and threads.
The memory saved by making the table smaller will be freed for
general use, and could cause contention if many pfdat structures
are present and requiring locks.
What Are the Side Effects of Lowering the Value?
Hash contention for pfdat locks is more likely, which increases
the possibility of threads needing to wait on the lock shared
between two or more pfdats.
What Other Tunables Should Be Changed at the Same Time?
None.
WARNINGS
All HP-UX kernel tunable parameters are release specific.
This parameter may be removed or have its meaning changed in
future releases of HP-UX.
AUTHOR
pfdat_hash_locks
was developed by HP.