 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHKL_25728
Patch Description: s700_800 11.11 Psets Enablement, thread cumulative
Creation Date: 01/11/30
Post Date: 01/12/04
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_25728: HANG
PHKL_24254: OTHER
Hung, Unkillable Process
Category Tags:
defect_repair enhancement general_release critical
halts_system manual_dependencies
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_25728
Symptoms:
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_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.
SR:
8606103740 8606159451 8606200799 8606200984 8606216254
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: 2001/11/28 17:02:31 $Revision: r11.
11/6 PATCH_11.11 (PHKL_25728)
/usr/conf/lib/libpm.a(pm_threads.o):
pm_threads.c $Date: 2001/08/06 11:19:13 $Revision: r
11.11/2 PATCH_11.11 (PHKL_24568)
/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: 2001/07/05 22:51:01 $Revision: r11
.11/1 PATCH_11.11 (PHKL_24574)
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: 2001/11/28 17:02:31 $Revision: r11.
11/6 PATCH_11.11 (PHKL_25728)
/usr/conf/lib/libpm.a(pm_threads.o):
pm_threads.c $Date: 2001/08/06 11:19:13 $Revision: r
11.11/2 PATCH_11.11 (PHKL_24568)
/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: 2001/07/05 22:51:01 $Revision: r11
.11/1 PATCH_11.11 (PHKL_24574)
cksum(1) Output:
OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
2391391225 5512 /usr/conf/lib/libpm.a(pm_init.o)
1957111684 24316 /usr/conf/lib/libpm.a(pm_proc.o)
1144130372 22976 /usr/conf/lib/libpm.a(pm_threads.o)
4155415441 21248 /usr/conf/lib/libpm.a(subr_threads.o)
3498942344 21320 /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:
1765414845 16768 /usr/conf/lib/libpm.a(pm_init.o)
595979301 63936 /usr/conf/lib/libpm.a(pm_proc.o)
3881117084 58560 /usr/conf/lib/libpm.a(pm_threads.o)
3477118590 54024 /usr/conf/lib/libpm.a(subr_threads.o)
251921189 48848 /usr/conf/lib/libprm.a(kern_fss.o)
Patch Conflicts: None
Patch Dependencies:
s700: 11.11: PHKL_25729
s800: 11.11: PHKL_25729
Hardware Dependencies: None
Other Dependencies:
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_24844 PHKL_24574 PHKL_24568 PHKL_24254
Equivalent Patches: None
Patch Package Size: 370 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_25728
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_25728.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_25728. 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_25728.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_25728.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_25728.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|