Patch-ID# 103970-02 Keywords: libaio sigprof segfault core CS6400 cray4d Synopsis: SunOS 5.5 CS6400: libaio patch Date: Feb/25/97 Solaris Release: 2.5 SunOS Release: 5.5 CS6400 Unbundled Product: Unbundled Release: Topic: SunOS 5.5 CS6400: libaio patch NOTE 1: This is the CS6400 platform specific version of patch 103238-04. Cray SPR's fixed with this patch: 99027 Cray SPR changes incorporated in this version: BugId's fixed with this patch: 1235099 1244805 1246846 4006064 Changes incorporated in this version: 1244805 Relevant Architectures: sparc.cray4d Patches accumulated and obsoleted by this patch: 642002-01 103238-03 Patches which conflict with this patch: Patches required with this patch: Obsoleted by: Files included with this patch: /usr/lib/libaio.so.1 Problem Description: 1244805 aiowrite strange behaviour (from 103238-03) 4006064 dbx 3.1 collector message: Profile data corrupted with libaio library (from 103238-02) 1246846 sigaction() call in libaio returns incorrect return value SunOS 5.5: Using sigprof and libaio will (From C642002-01) 99027: 2.5 FIX FOR SPR 78722 LIBAIO CAN'T SUPPORT >50 WORKER THREADS. SUN BUGID 1172304 The _max_workers variable governs the maximum number of asynchronous threads that can be created by a process to handle asynchronous IO requests. These threads are created by libaio via calls to aioread() and aiowrite(). The user of these calls, aioread() and aiowrite(), has no knowledge or control over the number of threads created. This decision is made by libaio. When we allowed the creation of up to 256 worker threads instead of 50 this yielded a significant increase in the TPC-B throughput. We can see no downside to increasing the maximum number of worker threads. These threads will spend most of their life waiting on a synchronous IO and therefore consume very little CPU time. When the worker threads have no more IO's on their queues, they simply sleep until the process exits. (From 103238-01) 1235099 Using sigprof and libaio will cause program to segfault. Patch Installation Instructions: -------------------------------- Refer to the Install.info file within the patch for instructions on using the generic 'installpatch' and 'backoutpatch' scripts provided with each patch. Any other special or non-generic installation instructions should be described below. Special Install Instructions: ----------------------------- None.