24.05.2014 Views

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

AIX Version 4.3 Differences Guide

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

already available than it is to create a new kernel thread once the event<br />

has taken place.<br />

<strong>AIX</strong>THREAD_MINKTHREADS<br />

This variable is a manual override to the <strong>AIX</strong>THREAD_MNRATIO. It<br />

allows you to stipulate the minimum number of active kernel threads.<br />

The library scheduler will not reclaim kernel threads below this number.<br />

SPINLOOPTIME<br />

This variable controls the number of times the system will try to get a<br />

busy lock without taking a secondary action, such as calling the kernel<br />

to yield the processor. This control is really intended for MP systems<br />

where it is hoped that the lock is held by another actively running<br />

pthread and will soon be released. On uniprocessor systems, this value<br />

is ignored.<br />

YIELDLOOPTIME<br />

This variable controls the number of times that the system yields the<br />

processor when trying to acquire a busy mutex or spin lock before<br />

actually going to sleep on the lock. This variable has been shown to be<br />

effective in complex applications where multiple locks are in use.<br />

<strong>4.3</strong>.6 Maximum Number of Threads<br />

The maximum number of threads a single process can create has been increased<br />

to 32767. To obtain this limit, it is necessary to increase the data limit for the<br />

process since stacks are malloced out of the heap. If may also be necessary to<br />

use the large program model.<br />

<strong>4.3</strong>.7 Combined Thread-Safe Libraries<br />

Non-thread-safe and thread-safe libraries have been combined into one set of<br />

libraries, thereby turning thread-safety on by default.<br />

<strong>AIX</strong> <strong>Version</strong> 4.2 libc.a (non-thread-safe) and libc_r.a (thread-safe).<br />

<strong>AIX</strong> <strong>Version</strong> <strong>4.3</strong>.1 libc.a which is thread-safe.<br />

Libraries, such as X11R6, which link with libc.a are not thread-safe by default;<br />

they are thread-aware.<br />

New libraries that are thread-safe include:<br />

• libbsd.a<br />

• libm.a<br />

• libmsaa.a<br />

• librts.a<br />

• libodm.a<br />

• libs.a<br />

• libdes.a<br />

• libXm.a<br />

• libXt.a<br />

• libX11.a<br />

These thread-safe libraries enable a convenient programming model for<br />

exploiting SMPs and simplify exploitation of threads by applications, middleware,<br />

and other API providers.<br />

Application Development and Pthreads 75

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!