 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHKL_34534
Patch Description: s700_800 11.11 vPar,callout, abstime, sync perf, wakeup
Creation Date: 06/03/06
Post Date: 06/04/05
Hardware Platforms - OS Releases:
s700: 11.11
s800: 11.11
Products: N/A
Filesets:
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP
Automatic Reboot?: Yes
Status: General Superseded
Critical:
Yes
PHKL_34534: HANG
PHKL_26037: PANIC HANG
The problem may happen only when using the HP-UX
Virtual Partitions product with dynamic CPU
migration.
PHKL_25367: HANG
Category Tags:
defect_repair enhancement general_release critical panic
halts_system manual_dependencies
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_34534
Symptoms:
PHKL_34534:
( SR:8606424910 CR:JAGaf84430 )
An application using pthread library can hang
intermittently.
PHKL_30837:
( SR:8606338067 CR:JAGae99066 )
If the system time is changed explicitly while an
application has a pthread_cond_timedwait(2) call with an
absolute time specified in progress, this could in some
situations cause the timeout to expire either too early or
too late.
PHKL_26037:
( SR:8606230908 CR:JAGae00146 )
This change provides pre-enablement of the Real Time
Extensions to the HP-UX Processor Sets (PROCSETS)
product.
This change will have no impact on your system until the
Real Time Extensions are fully enabled.
( SR:8606233949 CR:JAGae03172 )
A system panic or hang may result from the corruption of
callout data structures. This may happen with the HP-UX
Virtual Partitions product when dynamic CPU migration across
virtual partitions is used. This defect was discovered
through inspection, but due to timing issues involved with
this defect, internal testing did not produce this panic.
PHKL_24546:
( SR:8606197207 CR:JAGad66401 )
This patch is a member of a set of patches needed to enable
the HP-UX Virtual Partitions product. When the HP-UX Virtual
Partitions product (VPARSBASE or T1335AA) is installed, it
will install the full set of required patches for that
product, including this patch.
If the HP-UX Virtual Partitions product is not installed,
this change will have no impact on your system.
PHKL_27316:
( SR:8606266056 CR:JAGae30309 )
This product update is a member of a set needed to enable
the optional HP-UX Shared Synchronization Primitives
Performance enhancement. Upon installation, the HP-UX
Shared Synchronization Primitives Performance bundle
(SSPP11i) will install the full set of product updates
(including this one) to enable this performance
enhancement.
If the HP-UX Shared synchronization Primitives
Performance product is not installed, this product
update will have no impact on your system.
PHKL_26468:
( SR:8606231620 CR:JAGae00858 )
Enhancement: This product update is a member of a set
needed to enable "Release mode" functionality for
PTHREAD_PROCESS_SHARED mutexes.
The full list of product updates required for this feature
are: PHKL_26467, PHKL_26468, PHKL_26469 and PHCO_26466.
If any member of this set of product updates is not
installed, this product update will have no impact on
your system.
PHKL_25367:
( SR:8606167399 CR:JAGad36685 )
Occasionally a thread would miss a timeout interrupt and
sleep forever or until it was sent a signal. The sleeping
thread could cause an application hang.
( SR:8606194815 CR:JAGad64021 )
Occasionally a thread holding a resource was starved
for cpu time; this starvation in turn delayed other threads
waiting for that resource.
Defect Description:
PHKL_34534:
( SR:8606424910 CR:JAGaf84430 )
When a thread waiting on a time based condition variable is
awakened, a signal might be posted to it before it starts
running. In this case the kernel returns a 'timed out'
status to the libpthread library instead of a 'woken'
status. This causes erroneous bookkeeping in the library
and the potential for subsequent application hangs.
Resolution:
In processing the interrupted sleep, a check has been added
to see if the thread has also received a wakeup. If so, a
'wake up' status is returned to the caller rather than a
'timed out' status. This resolves the libpthread bookkeeping
inconsistencies and prevents subsequent application hangs.
PHKL_30837:
( SR:8606338067 CR:JAGae99066 )
A timeout is registered for the delta between the absolute
time specified to the pthread_cond_timedwait(2) call and
current system time. This delta is not adjusted when the
system time is changed.
Resolution:
Modify the code to adjust the pthread_cond_timedwait(2)
timeout, if the system time is changed.
PHKL_26037:
( SR:8606230908 CR:JAGae00146 )
This change contains minor enhancements required to
pre-enable the Real Time Extensions to the HP-UX Processor
Sets product.
Resolution:
Enable Callout Migration functionality for Real Time
Extensions to Processor Sets product. This functionality
was previously enabled only for the Virtual Partitions
product.
( SR:8606233949 CR:JAGae03172 )
The HP-UX callout subsystem uses per-CPU-callout locks to
protect callout data structures and synchronize callout
operations. The operating system identifies and takes the
callout lock based on the CPU assigned to the callout. If
the callout gets migrated to another CPU after the function
has read its CPU assignment, but before it can take the
associated callout lock, the code may end up with an
incorrect callout lock leading to potential race conditions
and data structure corruption.
Resolution:
Handle the race condition in callout module by re-validating
the assigned CPU of the callout after acquiring the per CPU
callout lock. If we are not holding the callout lock for the
assigned CPU, drop the lock and try again.
PHKL_24546:
( SR:8606197207 CR:JAGad66401 )
This patch contains minor enhancements required to support
the HP-UX Virtual Partitions product.
Resolution:
Enhancements added to support CPU migration.
PHKL_27316:
( SR:8606266056 CR:JAGae30309 )
This product update contains enhancements that improve
the performance of shared synchronization primitives
such as LWP semaphores, pthread condition variables
and pthread RW locks.
Resolution:
The solution provided with this product update
will mitigate the contention for kernel internal
synchronization by increasing the granularity.
PHKL_26468:
( SR:8606231620 CR:JAGae00858 )
This product update contains minor enhancements
required to enable the "Release mode" functionality
for PTHREAD_PROCESS_SHARED mutexes.
Resolution:
The changes in this product update include support
for new locking primitives introduced in the product
update PHKL_26469 which also provides support for
release mode in PTHREAD_PROCESS_SHARED mutexes.
PHKL_25367:
( SR:8606167399 CR:JAGad36685 )
A timing window existed in the sleep routines such that
if the timeout interrupt occurred before the thread had
gone to sleep, the thread would miss the timeout and
sleep forever or until it was sent a signal.
Resolution:
Modified the timeout interrupt routine to correctly handle
the case where the thread is not yet asleep when the timeout
interrupt occurs.
( SR:8606194815 CR:JAGad64021 )
A thread exiting ksleep() retained its normal
low priority, leading to its starvation while holding the
resource.
Resolution:
Modified ksleep() to temporarily boost the thread's user
priority when the sleep ends.
Enhancement:
No (superseded patches contained enhancements)
PHKL_30837:
Enhancements were delivered in a patch this one has
superseded. Please review the Defect Description
text for more information.
PHKL_27316:
Enhancements added to improve performance
of shared synchronization primitives.
Additional enhancements were delivered in a patch
this one has superseded. Please review the Defect
Description text for more information.
SR:
8606424910 8606167399 8606194815 8606197207 8606230908
8606231620 8606233949 8606266056 8606338067
Patch Files:
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libpm.a(pm_callout.o)
/usr/conf/lib/libpm.a(subr_ksleep.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libpm.a(pm_callout.o)
/usr/conf/lib/libpm.a(subr_ksleep.o)
what(1) Output:
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
/usr/conf/lib/libpm.a(pm_callout.o):
pm_callout.c $Date: 2004/05/06 11:03:45 $Revision: r
11.11/3 PATCH_11.11 (PHKL_30837)
/usr/conf/lib/libpm.a(subr_ksleep.o):
subr_ksleep.c $Date: 2006/03/02 10:22:29 $Revision:
r11.11/5 PATCH_11.11 (PHKL_34534)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libpm.a(pm_callout.o):
pm_callout.c $Date: 2004/05/06 11:03:45 $Revision: r
11.11/3 PATCH_11.11 (PHKL_30837)
/usr/conf/lib/libpm.a(subr_ksleep.o):
subr_ksleep.c $Date: 2006/03/02 10:22:29 $Revision:
r11.11/5 PATCH_11.11 (PHKL_34534)
cksum(1) Output:
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
247712147 21120 /usr/conf/lib/libpm.a(pm_callout.o)
1431336189 11408 /usr/conf/lib/libpm.a(subr_ksleep.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
555291026 51720 /usr/conf/lib/libpm.a(pm_callout.o)
60692511 28760 /usr/conf/lib/libpm.a(subr_ksleep.o)
Patch Conflicts: None
Patch Dependencies: None
Hardware Dependencies: None
Other Dependencies:
PHKL_26468: To enable the process shared mutex performance,
the following must be installed: PHKL_26467, PHKL_26468,
PHKL_26469 and PHCO_26466. These product updates may be
installed in any order. If any of these product updates are
not installed, this product update will have no impact on
your system.
Supersedes:
PHKL_30837 PHKL_27316 PHKL_26468 PHKL_26037 PHKL_25367 PHKL_24546
Equivalent Patches: None
Patch Package Size: 80 KBytes
Installation Instructions:
Please review all instructions and the Hewlett-Packard
SupportLine User Guide or your Hewlett-Packard support terms
and conditions for precautions, scope of license,
restrictions, and, limitation of liability and warranties,
before installing this patch.
------------------------------------------------------------
1. Back up your system before installing a patch.
2. Login as root.
3. Copy the patch to the /tmp directory.
4. Move to the /tmp directory and unshar the patch:
cd /tmp
sh PHKL_34534
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_34534.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_34534. If you do not wish to retain a
copy of the original software, include the patch_save_files
option in the swinstall command above:
-x patch_save_files=false
WARNING: If patch_save_files is false when a patch is installed,
the patch cannot be deinstalled. Please be careful
when using this feature.
For future reference, the contents of the PHKL_34534.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_34534.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_34534.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|