 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHKL_30032
Patch Description: s700_800 11.11 detach; NOSTOP, Abort; Psets; slpq1 perf;FSS
Creation Date: 03/12/08
Post Date: 03/12/18
Repost: 04/03/11
The Other Dependencies section of the patch documentation
was modified to clarify that PHKL_30037 must also be
installed on systems with the HP-UX Processor Sets software.
Warning: 04/09/02 - This Critical Warning has been issued by HP.
- PHKL_30032 introduced behavior in the FSS (Fair Share
Scheduler) that can cause a system panic. The panic has
only been observed during HP's internal direct testing of
the FSS. Customer systems can only access the FSS
through the PRM (Process Resource Manager) and WLM
(Workload Manager). To date, HP internal testing has not
been able to reproduce the FSS panic using PRM and WLM
configurations to perform processor resource management,
therefore it is unlikely that this behavior will be
observed on customer systems.
- The system panic will show a stack trace that is similar
to the following:
trap+0x9dc
thandler+0xd5c
fss_balance+0xe20
statdaemon+0x1e0
im_statdaemon+0xfc
DoCalllist+0xc0
main+0x28
$vstart+0x48
$locore+0x94
- Additional information on this behavior may be found in
Service Request 8606351864 (JAGaf12669).
- Should the above described panic be experienced then HP
recommends that patch PHKL_30216 be installed on the
system that experienced the panic. Should you decide to
first remove PHKL_30032 before installing PHKL_30216,
then be aware that you will need to remove and reinstall
patch PHKL_30033, PHKL_30034, PHKL_30035, PHKL_30036, and
on systems using psets PHKL_30037 too as these patches
have a dependency on PHKL_30032.
- Patch PHKL_30032 should also be removed and replaced by
patch PHKL_30216 in software depots that are used to
install patches on these systems.
- The behavior is corrected in patch PHKL_30216, which is
released.
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 With Warnings
Critical:
No (superseded patches were critical)
PHKL_29707: ABORT
PHKL_27092: ABORT PANIC MEMORY_LEAK
PHKL_25728: HANG
PHKL_24254: OTHER
Hung, Unkillable Process
Category Tags:
defect_repair enhancement general_release critical panic
halts_system memory_leak manual_dependencies
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_30032
Symptoms:
PHKL_30032:
( SR:8606314571 CR:JAGae77335 )
Certain workloads cannot achieve their entitlements
with the Fair Share Scheduler (FSS) when capping is enabled.
This results in a performance degradation for some
workloads.
PHKL_29707:
( SR:8606247911 CR:JAGae14311 )
A Process Resource Manager (PRM) and Fair Share Scheduler
(FSS) group with a large entitlement and just enough jobs
to get that share could be outperformed by a smaller
entitlement group with more jobs.
( SR:8606248543 CR:JAGae14941 )
Veritas Volume Manager (VxVM) file systems get EINVAL or
ENOTSUP errors when Process Resource Manager (PRM) disk
controls are attempted.
PHKL_27317:
( SR:8606262276 CR:JAGae26611 )
Applications which use pthread_detach() may encounter a
problem where the exited threads are not properly reaped
(remain "zombie" threads). This can waste some memory
and prevent the application from creating threads up to
its entitled limits.
PHKL_27294:
( SR:8606234249 CR:JAGae03469 )
Enhancement: This product update is a member of a set
needed to support the kernel sleep/wakeup queuing
performance enhancement. The full list of product updates
required for this feature are: PHKL_27091, PHKL_27294,
PHKL_27093 and PHKL_27094.
Performance degradation may be seen on systems in
which a large number (500 or more) of TIMESHARE threads
call the accept(2) function on a single socket.
If any member of this set of product updates is not
installed, this product update will have no impact on
your system.
PHKL_27092:
( SR:8606241506 CR:JAGae08764 )
Increasing kernel memory consumption with heavy debugger
use leaves less memory available for the application. This
may result in increased paging.
( SR:8606233458 CR:JAGae02681 )
The system panics due to a data page fault in the signal
routines for multi-threaded processes. This panic is quite
rare, occuring only under extreme loading conditions, such
as those existing during HP internal kernel stress
testing. To date, this problem has not been reported by any
customer. The stack trace of the faulting thread will be
similar to the following:
crash event was a panic
panic+0x14
report_trap_or_int_and_panic+0x80
trap+0xdb8
nokgdb+0x8
pm_signalx+0x25c
pm_psignalx+0x54
psignalx+0x74
kill1+0x228
kill+0x58
syscall+0x8f0
( SR:8606248132 CR:JAGae14532 )
The 64bit Java Virtual Machine (JVM) aborts due to
"unexpected signal" or "illegal instruction" or
"segmentation violation" or due to other non-deterministic
error.
PHKL_25840:
( SR:8606229034 CR:JAGad98088 )
Enhancement to provide support for the interruption of a
specic thread blocked interruptibly in a system call.
PHKL_25728:
( SR:8606216254 CR:JAGad85424 )
High comsumption of CPU resources can result in an apparent
system hang. This occurs with applications that use a large
number of threads per process.
PHKL_24568:
( SR:8606200799 CR:JAGad69975 )
This patch is a member of a set of patches needed to enable
the HP-UX Processor Sets product (PROCSETS). When PROCSETS
product is installed, it will install the full set of
required patches for that product, including this patch.
If the HP-UX Processor Sets product is not installed, this
change will have no impact on your system.
PHKL_24254:
( SR:8606159451 CR:JAGad28779 ) Duplicate
( SR:8606103740 CR:JAGab70789 )
A multi-threaded process being executed over NFS can become
hung and unkillable while performing either a fork, core,
setrlimit, SIGSTOP, or debugger operations. This can happen
with mutiple threads in different processes competing for
the same resource when one thread is stopped.
PHKL_24844:
( SR:8606200984 CR:JAGad70160 )
An MP system may show as being 100% busy with a load that
should have only kept it 60-70% busy.
These symptoms were observed on N class and V class systems
running a load consisting of many short transactions with
many threads. The observed behavior is not limited,
however, to these type of systems alone and can occur on MP
systems with a similar type of load.
PHKL_24574:
( SR:8606200799 CR:JAGad69975 )
This patch is a member of a set of patches needed to enable
the HP-UX Processor Sets product (PROCSETS). When PROCSETS
product is installed, it will install the full set of
required patches for that product, including this patch.
If the HP-UX Processor Sets product is not installed, this
change will have no impact on your system.
Defect Description:
PHKL_30032:
( SR:8606314571 CR:JAGae77335 )
Existing algorithms of the fair-share scheduler (FSS)
make some decisions which are inappropriate for some
workloads when the capping feature of FSS is enabled.
This causes processors to remain idle even when some
FSS groups have not attained their entitlements.
Resolution:
The FSS balancer and thread selection algorithms
have been modified where capping is enabled so that
the processors do not inappropriately idle. This
improves the ability of FSS groups to attain their
entitlements.
PHKL_29707:
( SR:8606247911 CR:JAGae14311 )
Due to the way HP-UX round-robin jobs separately among the
processors for each CPU, all groups start on the same CPU.
That means on a 4 processor box, if a system has four
groups each with 24% and one job, they all ended up
sharing the same CPU. A fifth group with only 4% but lots
of jobs would end up spread over all the CPUs, and take
about 76% of the over all system cycles.
Resolution:
When groups are created, they are sorted by relative
entitlement.
( SR:8606248543 CR:JAGae14941 )
VxVM now uses dynamic device id allocation at boot time,
and is initialized after the Fair Share Scheduler (FSS)
initialization. This causes the FSS to be initialized
incorrectly for VxVM disk control, causing these
operations to fail.
Resolution:
Delay the FSS initialization for VxVM disk control
operations until the first call is issued for these
operations at run time.
PHKL_27317:
( SR:8606262276 CR:JAGae26611 )
There is a race between pthread_detach() and
pthread_exit() which causes detached zombies not to
be reaped thus leaking memory. Due to the
above-mentioned race in the kernel, processes can
accumulate detached zombies which do not get
reaped.
Resolution:
The race between pthread_detach() and pthread_exit()
has been closed down by a simple alteration of the
locking strategy. Detached threads are now properly
reaped.
PHKL_27294:
( SR:8606234249 CR:JAGae03469 )
This product update contains minor enhancements required
to support the kernel sleep/wakeup queuing performance
enhancement.
Resolution:
Added code for allocation and initialization of a data
structure that supports the kernel sleep/wakeup queuing
performance enhancement.
PHKL_27092:
( SR:8606241506 CR:JAGae08764 )
For each thread of a process which had ever been under
debugger control, a small data structure is not properly
returned to the free kernel memory pool. This results in
increasing memory consumption on systems where the
debugger is used on many different threads. The problem
is caused by a minor coding error which prematurely sets
the structure pointer to null during thread exit.
Resolution:
Removed the extra line of code which prematurely sets the
pointer to null. This allows the structure to be freed
correctly.
( SR:8606233458 CR:JAGae02681 )
Debug threads were incorrectly left on the signalable
threads list for a process. This defect was found at HP
during product improvement testing. To our knowledge, no
customer system has experienced this defect.
Resolution:
Ensure the debug thread is not on the signalable threads
list at the time of its creation.
( SR:8606248132 CR:JAGae14532 )
A kernel interface used to initialize register values
takes either a direct or indirect pointer address
parameter. For 64-bit programs, the address is always
interpreted as an indirect pointer address, which is
incorrect for the 64-bit Java Virtual Machine (JVM).
This defect only occurs on 64-bit systems.
Resolution:
Extended the interface so that the 64-bit JVM can specify
whether the pointer address parameter is to be interpreted
as direct or indirect.
PHKL_25840:
( SR:8606229034 CR:JAGad98088 )
The Operating System currently has no way to abort a
specific thread blocked interruptibly in a system call.
Resolution:
A new kernel internal interface (function) is introduced to
provide kernel subsystems the ability to abort a thread that
is currently blocked interruptibly in a system call.
PHKL_25728:
( SR:8606216254 CR:JAGad85424 )
All non-running threads are searched to see if they can
handle a process directed signal. However, if the signal is
blocked by all the threads of a process, the signal cannot
be delivered to a thread and must be left pending at the
process level.
This causes repeated attempts to deliver the signal since
it is possible that a thread will eventually accept the
signal. The POSIX standards require the signal to be
delivered.
Resolution:
The solution is to reduce the number of times the entire
list of threads is searched by keeping a hint that a
previous search has found all threads having that signal
masked, and not repeating the search. This avoids
unnecessary and time sonsuming searches for a thread to
handle a signal when a candidate is not available.
PHKL_24568:
( SR:8606200799 CR:JAGad69975 )
This patch contains minor enhancements required to support
the HP-UX Processor Sets product.
Resolution:
Enhancements added to handle pset inheritance and to manage
threads/processes within their processor set domain when
Processor Sets product is enabled.
PHKL_24254:
( SR:8606159451 CR:JAGad28779 ) Duplicate
( SR:8606103740 CR:JAGab70789 )
A thread acquires a lock and then sleeps interruptibly. The
interruptible sleep permits the thread to be stopped. Any
other thread attempting to acquire this lock will sleep
uninterruptibly until the lock is available. This
uninterruptible thread is also unkillable. This introduces
a deadlock potential in multi-threaded processes: when a
thread holding the lock, a thread desiring the lock, and a
third thread doing one of fork, setrlimit, core, SIGSTOP, or
debugger operations, all occur at the same time in the
same process, the deadlock is reached. The only way to
resolve the deadlock is to reboot the system. A similar
situation can occur when threads in different processes
are competing for the same NFS resource and the thread that
owns that resource is stopped via a signal, a debugger,
or a ctrl-Z.
This patch is part of a set of five patches (PHKL_24253,
PHKL_24254,PHKL_24255,PHKL_24256,PHKL_24257) that enable
P_NOSTOP, a new feature that prevents a process from being
unkillable. Each patch is independently installable.
Without all five installed, P_NOSTOP will be unavailable.
In order to prevent the process executed over NFS from
becoming unkillable, NFS must use the P_NOSTOP feature.
Usage of this feature was added to PHNE_23502.
Resolution:
If a thread acquires a lock and then sleeps interruptibly,
it is not permitted to be stopped if P_NOSTOP is set. This
prevents this thread from becoming unkillable and prevents
the deadlock.
PHKL_24844:
( SR:8606200984 CR:JAGad70160 )
The problem happens because threads are moved too often from
one processor to another. When this happens, all the cache
state of the thread must be moved to the new processor also.
All this cache movement is the source of the extra cpu time
being used. That is, when a thread moves to a new cpu, the
new cpu takes a lot more cache misses than it would if the
thread were not moved.
The main mechanism moving threads in this case is the "idle
stealing" algorithm; when a cpu is idle, it looks around at
the other cpus and takes threads that are waiting to run on
another cpu. This mechanism can be the source of thread
cache thrashing.
Resolution:
The idle stealing mechanism cannot be removed as it is
needed for balancing the load on the system. However, the
delay between when a processor goes idle and when it starts
looking at other cpus run queues was increased. This
decreased thread cache thrashing significantly at some cost
to thread start latency; additionally some loads will
slightly degrade their maximum throughput.
PHKL_24574:
( SR:8606200799 CR:JAGad69975 )
This patch contains minor enhancements required to support
the HP-UX Processor Sets product.
Resolution:
Enhacements added in fair share scheduler to work within
processor set domain when Processor Sets product is enabled.
Enhancement:
No (superseded patches contained enhancements)
PHKL_29707:
Enhancements were delivered in a patch this one has
superseded. Please review the Defect Description
text for more information.
SR:
8606103740 8606159451 8606200799 8606200984 8606216254
8606229034 8606233458 8606234249 8606241506 8606247911
8606248132 8606248543 8606262276 8606314571
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_init.o)
/usr/conf/lib/libpm.a(pm_proc.o)
/usr/conf/lib/libpm.a(pm_threads.o)
/usr/conf/lib/libpm.a(subr_threads.o)
/usr/conf/lib/libprm.a(kern_fss.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libpm.a(pm_init.o)
/usr/conf/lib/libpm.a(pm_proc.o)
/usr/conf/lib/libpm.a(pm_threads.o)
/usr/conf/lib/libpm.a(subr_threads.o)
/usr/conf/lib/libprm.a(kern_fss.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_init.o):
pm_init.c $Date: 2001/11/28 17:03:18 $Revision: r11.
11/4 PATCH_11.11 (PHKL_25728)
/usr/conf/lib/libpm.a(pm_proc.o):
pm_proc.c $Date: 2002/06/12 14:58:00 $Revision: r11.
11/8 PATCH_11.11 (PHKL_27294)
/usr/conf/lib/libpm.a(pm_threads.o):
pm_threads.c $Date: 2002/06/19 15:18:35 $Revision: r
11.11/6 PATCH_11.11 (PHKL_27317)
/usr/conf/lib/libpm.a(subr_threads.o):
subr_threads.c $Date: 2001/07/05 22:08:29 $Revision:
r11.11/2 PATCH_11.11 (PHKL_24568)
/usr/conf/lib/libprm.a(kern_fss.o):
kern_fss.c $Date: 2003/12/05 14:02:36 $Revision: r11
.11/3 PATCH_11.11 (PHKL_30032)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
/usr/conf/lib/libpm.a(pm_init.o):
pm_init.c $Date: 2001/11/28 17:03:18 $Revision: r11.
11/4 PATCH_11.11 (PHKL_25728)
/usr/conf/lib/libpm.a(pm_proc.o):
pm_proc.c $Date: 2002/06/12 14:58:00 $Revision: r11.
11/8 PATCH_11.11 (PHKL_27294)
/usr/conf/lib/libpm.a(pm_threads.o):
pm_threads.c $Date: 2002/06/19 15:18:35 $Revision: r
11.11/6 PATCH_11.11 (PHKL_27317)
/usr/conf/lib/libpm.a(subr_threads.o):
subr_threads.c $Date: 2001/07/05 22:08:29 $Revision:
r11.11/2 PATCH_11.11 (PHKL_24568)
/usr/conf/lib/libprm.a(kern_fss.o):
kern_fss.c $Date: 2003/12/05 14:02:36 $Revision: r11
.11/3 PATCH_11.11 (PHKL_30032)
cksum(1) Output:
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
4110400641 5496 /usr/conf/lib/libpm.a(pm_init.o)
2814330500 24524 /usr/conf/lib/libpm.a(pm_proc.o)
2910356286 24128 /usr/conf/lib/libpm.a(pm_threads.o)
3107351175 21212 /usr/conf/lib/libpm.a(subr_threads.o)
3262446540 39360 /usr/conf/lib/libprm.a(kern_fss.o)
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
2355506387 16768 /usr/conf/lib/libpm.a(pm_init.o)
1607973752 64200 /usr/conf/lib/libpm.a(pm_proc.o)
3355629859 60536 /usr/conf/lib/libpm.a(pm_threads.o)
1510633321 52528 /usr/conf/lib/libpm.a(subr_threads.o)
598477604 81328 /usr/conf/lib/libprm.a(kern_fss.o)
Patch Conflicts: None
Patch Dependencies:
s700: 11.11: PHKL_25729 PHKL_30033 PHKL_30034 PHKL_30035
PHKL_30036
s800: 11.11: PHKL_25729 PHKL_30033 PHKL_30034 PHKL_30035
PHKL_30036
Hardware Dependencies: None
Other Dependencies:
PHKL_30032:
On systems with the HP-UX Processor Sets product (PROCSETS)
version A.01.00.00.06 installed, PHKL_30037 must be
installed with this patch to avoid a system panic.
PHKL_29707: To solve the PRM(FSS) entitlement problem
related to JAGae14311 in Processor Sets path, PHKL_29709
must also be installed.
PHKL_27294: ( SR:8606234249 CR:JAGae03469 ) To support the
kernel sleep/wakeup queuing performance enhancement, the
following must be installed: PHKL_27091, PHKL_27294,
PHKL_27093 and PHKL_27094. If any of these product updates
are not installed, this product update will have no impact
on your system.
PHKL_25840: For enablement of this feature, PHKL_25842 also
needs to be installed in the system. Installation of either
patch by itself has no effect on the system.
PHKL_24254: If NFS is installed on the system, all five
patches (PHNE_23502, PHKL_24253, PHKL_24254,PHKL_24255,
PHKL_24256, PHKL_24257) are required to resolve the process
hang/deadlock due to unkillable processes executed over NFS.
However, if NFS is not in use, none of these patches are
required.
Supersedes:
PHKL_29707 PHKL_27317 PHKL_27294 PHKL_27092 PHKL_25840 PHKL_25728
PHKL_24844 PHKL_24574 PHKL_24568 PHKL_24254
Equivalent Patches: None
Patch Package Size: 190 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_30032
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_30032.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_30032. 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_30032.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_30032.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_30032.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|