HP-UX Reference (11i v2 07/12) - 5 Miscellaneous (vol 9)
p
pthread_condvar_prio_boost(5) pthread_condvar_prio_boost(5)
(Tunable Kernel Parameters)
NAME
pthread_condvar_prio_boost - control priority boost for userspace threads using pthread condition variables
VALUES
Default
0
Allowed values
0 Turn Off
1 Turn On
DESCRIPTION
pthread_condvar_prio_boost
is a dynamic tunable that enables or disables support for priority
boosting of a thread doing wakeup of other thread(s) waiting on condition variables. This priority boost
may improve the performance of certain type of multithreaded applications that use mutexes and condi-
tional variables.
Who Is Expected to Change This Tunable?
Engineers who tune multithreaded application performance.
Restrictions on Changing
Changes to this tunable take effect immediately.
When Should the Tunable Be Turned On?
This tunable may be turned on when the priority boosting is intended for a thread issuing the wakeup on
other threads sleeping on the condition variable using either
pthread_cond_wait()
or
pthread_cond_timedwait()
.
In general, applications that have the following type of code sequences may benefit by turning this tunable
ON:
int ret;
...
ret = pthread_mutex_lock(&mutex);
// assert that the ’ret’ value is 0.
ret = pthread_cond_signal(&cond);
// assert that the ’ret’ value is 0.
ret = pthread_mutex_unlock(&mutex);
// assert that the ’ret’ value is 0.
What Are the Side Effects of Turning the Tunable On?
This tunable affects all multithreaded applications running in the system. Some applications may show a
performance degradation as a result of turning this on.
When Should the Tunable Be Turned Off?
This tunable is turned off by default.
What Is the Disadvantage of Turning Off the Tunable?
When the tunable is turned off, applications will not have the advantage of the priority boost.
What Other Tunable Values Should Be Changed at the Same Time?
None.
WARNINGS
This tunable is the system wide setting that affects all multithreaded applications running in the system.
This tunable affects only the threads with the SCHED_TIMESHARED scheduling policy. Setting this tun-
able will not have any effect on threads with other scheduling policies.
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.
Installation of optional kernel software, from HP or other vendors, may cause changes to tunable parame-
ter values. After installation, some tunable parameters may no longer be at the default or recommended
values. For information about the effects of installation on tunable values, consult the documentation for
HP-UX 11i Version 2: December 2007 Update − 1 − Hewlett-Packard Company 329