Kernel parameter AIXTHREAD_SCOPE=S is recommended on AIX to prevent potential process deadlocks.

Article: 100029880
Last Published: 2015-01-19
Ratings: 0 0
Product(s): NetBackup

Problem

Kernel parameter AIXTHREAD_SCOPE=S is recommended on AIX to prevent potential process deadlocks.

Solution

For AIX systems:

The default threading model on AIX is process contention scope. Under process contention scope there is an M:N mapping of user threads to kernel threads. User threads share their kernel thread with other user threads. This may cause threaded applications to "hang" or experience a deadlock.

The recommended threading model to resolve these issues is system contention scope. Under system contention scope there is a 1:1 mapping of user threads to kernel threads. User threads have a dedicated kernel thread that is not used by any other user threads and thread scheduling is handled in the kernel.

The many-to-one or one-to-one thread relationship is set via the AIXTHREAD_SCOPE kernel parameter.

The IBM Thread Tuning section of the Performance Management Guide provides more information on the two threading models and can be found at the following link:
  https://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixbman/prftungd/2365c35.htm

To check if AIXTHREAD_SCOPE has been set, create a script containing the following lines:

if /usr/bin/test $AIXTHREAD_SCOPE
then
if [ $AIXTHREAD_SCOPE = "S" ]
then
/usr/bin/echo AIXTHREAD_SCOPEGood
else
/usr/bin/echo AIXTHREAD_SCOPEBad
fi
else
/usr/bin/echo AIXTHREADNotSet
fi

Execute the script from the command line.

If the result from the above script is AIXTHREAD_SCOPEGood , then AIXTHREAD_SCOPE is set to S which is system contention scope, and no changes are necessary.  If the result is either AIXTHREAD_SCOPEBad or AIXTHREADNotSet , then set the AIXTHREAD_SCOPE to S.

To set the AIXTHREAD_SCOPE kernel parameter:
Add the AIXTHREAD_SCOPE=S command to the /etc/environment file.  This affects all applications running on the box.

Additional information on AIXTHREAD_SCOPE may be obtained at IBM Website:
  https://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/thread_supp_tun_params.htm
 

 

Was this content helpful?