 |
≫ |
|
|
 |
パッチ名: PHKL_36306
パッチ摘要: s700_800 11.23 RTE PSETs、FSS、ps(1)およびtop(1)での不正な出力
作成日: 07/04/02
公開日: 07/04/17
ハードウェアプラットフォームおよびOSリリース:
s700: 11.23
s800: 11.23
現象:
PHKL_36306:
(SR:8606470976 CR:JAGag26027)
プロセスがそのポリシーをrealtimeからtimeshareに切り替えると、ps(1)や
top(1)のようなプログラムがそのプロセスの正しい優先順位を表示しません。
問題点の説明:
PHKL_36306:
(SR:8606470976 CR:JAGag26027)
プロセスがそのポリシーをrealtimeからtimeshareに切り替えると、内部の擬
似優先順位(PNOT_REALTIME、timeshareポリシーの範囲外)が設定されますが、
ユーザーアプリケーションに報告する際に、それを実優先順位にアップデー
トしていませんでした。
解決方法:
realtimeからtimeshareへの変更を返す前に、優先順位をPNOT_REALTIMEから有
効な値(PZERO - 1、プロセスの作成時に設定した値)にアップデートするよう
にコードを修正しました。
-----------------------------------------------------------------------------
Patch Name: PHKL_36306
Patch Description: s700_800 11.23 RTE PSETs, FSS, ps(1) & top(1) output issue
Creation Date: 07/04/02
Post Date: 07/04/17
Hardware Platforms - OS Releases:
s700: 11.23
s800: 11.23
Products: N/A
Filesets:
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP
Automatic Reboot?: Yes
Status: General Release
Critical:
Yes
PHKL_36306: OTHER
Data mishandling
Category Tags:
defect_repair enhancement general_release critical
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_36306
Symptoms:
PHKL_36306:
( SR:8606470976 CR:JAGag26027 )
Programs like ps(1) and top(1) display incorrect priority of
process which switches its policy from realtime to
timeshare.
PHKL_33900:
( SR:8606388245 CR:JAGaf48396 ) Duplicate
( SR:8606390945 CR:JAGaf51090 )
Applications that are running with POSIX real-time
scheduling policy and have a high rate of context
switching may experience performance degradation
when many such application threads are concurrently
executing.
Defect Description:
PHKL_36306:
( SR:8606470976 CR:JAGag26027 )
When process switches its policy from realtime to timeshare,
an internal pseudo priority (PNOT_REALTIME, out of range of
timeshare policy) is set and is not updated to actual
priority which gets reported to user application.
Resolution:
Before returning from realtime to timeshare change, for the
cases where priority is PNOT_REALTIME, update the priority
to a valid value (PZERO - 1). This is the value that we set
when a process is created.
PHKL_33900:
( SR:8606388245 CR:JAGaf48396 ) Duplicate
( SR:8606390945 CR:JAGaf51090 )
A multithreaded POSIX real-time application with high
context switch rates, will always have some thread ready to
run. Since the system has to schedule POSIX real-time
threads before any other policy threads, most processors in
the system contend to run the real-time threads. This
contention results in scheduling delays for other workload
in the system.
Resolution:
Use the POSIX real-time run queues more effectively by
allowing only a specific number of processors to contend on
the rtsched run queue lock, based on the number of rtsched
threads waiting to run on the rtsched run queue.
Enhancement:
No (superseded patches contained enhancements)
PHKL_33900:
This patch enhances the performance of the
applications which use threads with POSIX
real-time scheduling.
SR:
8606470976 8606390945 8606388245
Patch Files:
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
/usr/conf/lib/libpm.a(find_thread.o)
/usr/conf/lib/libpm.a(pm_rtsched.o)
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
/usr/conf/lib/libpm.a(find_thread.o)
/usr/conf/lib/libpm.a(pm_rtsched.o)
what(1) Output:
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
/usr/conf/lib/libpm.a(find_thread.o):
find_thread.c $Date: 2005/10/21 10:16:56 $Revision:
r11.23/2 PATCH_11.23 (PHKL_33900)
/usr/conf/lib/libpm.a(pm_rtsched.o):
pm_rtsched.c $Date: 2007/03/29 20:45:47 $Revision: r
11.23/4 PATCH_11.23 (PHKL_36306)
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
/usr/conf/lib/libpm.a(find_thread.o):
find_thread.c $Date: 2005/10/21 10:16:56 $Revision:
r11.23/2 PATCH_11.23 (PHKL_33900)
/usr/conf/lib/libpm.a(pm_rtsched.o):
pm_rtsched.c $Date: 2007/03/29 20:45:47 $Revision: r
11.23/4 PATCH_11.23 (PHKL_36306)
cksum(1) Output:
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_IA,v=HP:
3721978864 20672 /usr/conf/lib/libpm.a(find_thread.o)
1014279333 69168 /usr/conf/lib/libpm.a(pm_rtsched.o)
OS-Core.CORE2-KRN,fr=B.11.23,fa=HP-UX_B.11.23_PA,v=HP:
922174985 12464 /usr/conf/lib/libpm.a(find_thread.o)
2839487306 43104 /usr/conf/lib/libpm.a(pm_rtsched.o)
Patch Conflicts: None
Patch Dependencies:
s700: 11.23: PHKL_31500
s800: 11.23: PHKL_31500
Hardware Dependencies: None
Other Dependencies: None
Supersedes:
PHKL_33900
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_36306
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_36306.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_36306. 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_36306.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_36306.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_36306.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions: None
|