Jump to content 日本-日本語
日本HPホーム 製品とサービス サポートとドライバ ソリューション ご購入方法
≫ お問い合わせ
日本HPホーム
企業ユーザ向けサポート情報   >  HP-UX サポート  >  セキュリティ報告&パッチダイジェスト翻訳版

PHCO_36551 11.31 pthreadライブラリ
累積パッチ

企業ユーザ向けサポート情報

HP-UX サポート
Tru64 サポート
OpenVMS サポート
セキュリティ報告&パッチダイジェスト翻訳版
技術情報ツリー
ソフトウェアアップデート情報
ITRC日本フォーラム

ITRC

パッチデータベース
技術情報ベースの検索
サポートケースマネージャ
ソフトウェア アップデート マネージャ (SUM)
ご利用の手順
日本HPサイトマップ
コンテンツに進む
パッチ名:   PHCO_36551

パッチ摘要: 11.31 pthreadライブラリ累積パッチ

作成日:  07/05/08

公開日:  07/05/29

ハードウェアプラットフォームおよびOSリリース:

	11.31

現象:

	PHCO_36551:

	1.(SR:8606469357 CR:JAGag24564)
	ロックの争奪は起きていないのに、libpthreadが多くのCPUタイムを消費しま
	す。

	2.(SR:8606477822 CR:JAGag32198)
	シングルスレッドアプリケーションをlibpthreadとリンクする際のオーバーヘ
	ッドを減らす必要があります。

問題点の説明:

	PHCO_36551:

	1.(SR:8606469357 CR:JAGag24564)
	ロックの争奪は起きていないのに、libpthreadは多くのCPUタイムを消費して
	いました。

	解決方法:
	ロック争奪がない場合のpthread_mutex_unlock(3T)のパフォーマンスを改善し
	ました。

	2.(SR:8606477822 CR:JAGag32198)
	スレッド対応ライブラリはmutexロックの取得・解放を行う必要があるため、
	シングルスレッドアプリケーションをlibpthreadとリンクします。その結果、
	パフォーマンスが低下していました。したがって、シングルスレッドアプリケ
	ーションがpthread_mutex_lock(3T)やpthread_mutex_unlock(3T)を呼び出す際
	のオーバーヘッドを減らす必要があります。

	解決方法:
	シングルスレッドアプリケーションの場合は軽量パスを使用するように
	pthread_mutex_lock(3T)およびpthread_mutex_unlock(3T)のコードを修正しま
	した。これで、パフォーマンスは改善されます。

-----------------------------------------------------------------------------
Patch Name: PHCO_36551

Patch Description: 11.31 pthread library cumulative patch

Creation Date: 07/05/08

Post Date: 07/05/29

Hardware Platforms - OS Releases:
	11.31

Products: N/A

Filesets:
	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP
	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP
	OS-Core.C-MIN-32ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP
	OS-Core.C-MIN-64ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP
	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP
	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP

Automatic Reboot?: No

Status: General Release

Critical:
	No (superseded patches were critical)
	PHCO_35996: ABORT
		JAGag28593: java applications may occasionally
		dump core.

Category Tags:
	defect_repair general_release critical halts_system

Path Name: /hp-ux_patches/11.X/PHCO_36551

Symptoms:
	PHCO_36551:
	( SR:8606469357 CR:JAGag24564 )
	libpthread consumes CPU when there is no lock contention.

	( SR:8606477822 CR:JAGag32198 )
	Reduce overhead of linking with libpthread for single
	threaded application.

	PHCO_35996:
	( SR:8606473991 CR:JAGag28593 )
	Java applications may occasionally dump core while
	trying to wait on a synchronization object.

Defect Description:
	PHCO_36551:
	( SR:8606469357 CR:JAGag24564 )
	pthread_mutex_unlock(3T) consumes more CPU even
	if there is no contention on the lock.

	Resolution:
	Now pthread_mutex_unlock(3T) works faster when there is
	no lock contention.

	( SR:8606477822 CR:JAGag32198 )
	Single threaded applications linked with libpthread shows
	performance degradation because of thread safe libraries
	having to acquire and release mutex locks. The requirement
	is to reduce the overhead of calling pthread_mutex_lock(3T)
	and pthread_mutex_unlock(3T) in a single threaded
	application.

	Resolution:
	Now pthread_mutex_lock(3T) and pthread_mutex_unlock(3T)
	will follow a light weight path if the application is
	single threaded, thus improving the performance.

	PHCO_35996:
	( SR:8606473991 CR:JAGag28593 )
	The problem happens when a thread which is about to sleep
	on a synchronization object like mutex, rwlock or
	condition variable is suspended using pthread_suspend().
	In this window libpthread does not update the internal
	data structures corresponding to the thread, resulting in
	the thread faulting with SIGSEGV when it is resumed.

	Resolution:
	Now libpthread ensures that the data structures are updated
	properly.

Enhancement:
	No

SR:
	8606469357 8606477822 8606473991

Patch Files:
	
	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP:
	/usr/lib/pa20_64/liblwp.1
	/usr/lib/hpux64/libpthread.so.1
	/usr/lib/hpux64/libpthread_tr.so.1
	/usr/lib/pa20_64/libpthread.1
	/usr/lib/pa20_64/libpthread_tr.1

	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP:
	/usr/lib/liblwp.1
	/usr/lib/hpux32/libpthread.so.1
	/usr/lib/hpux32/libpthread_tr.so.1
	/usr/lib/libpthread.1
	/usr/lib/libpthread_tr.1

	OS-Core.C-MIN-32ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/liblwp.a
	/usr/lib/libpthread.a
	/usr/lib/libpthread_tr.a

	OS-Core.C-MIN-64ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/pa20_64/liblwp.a
	/usr/lib/pa20_64/libpthread.a
	/usr/lib/pa20_64/libpthread_tr.a

	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/pa20_64/liblwp.1
	/usr/lib/pa20_64/libpthread.1
	/usr/lib/pa20_64/libpthread_tr.1

	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/liblwp.1
	/usr/lib/libpthread.1
	/usr/lib/libpthread_tr.1

what(1) Output:
	
	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP:
	/usr/lib/pa20_64/liblwp.1:
		LWP (LightWeightProcess) Interfaces
		$Revision: liblwp.1:    R11.31_BL2007_0504_4
	/usr/lib/hpux64/libpthread.so.1:
		Pthread Interfaces
		$Revision: libpthread.so.1:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/hpux64/libpthread_tr.so.1:
		Pthread Interfaces
		$Revision: libpthread_tr.so.1:    R11.31_BL2007_0508
			_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/pa20_64/libpthread.1:
		Pthread Interfaces
		$Revision: libpthread.1:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/pa20_64/libpthread_tr.1:
		Pthread Interfaces
		$Revision: libpthread_tr.1:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)

	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP:
	/usr/lib/liblwp.1:
		LWP (LightWeightProcess) Interfaces
		$Revision: liblwp.1:    R11.31_BL2007_0504_4
	/usr/lib/hpux32/libpthread.so.1:
		Pthread Interfaces
		$Revision: libpthread.so.1:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/hpux32/libpthread_tr.so.1:
		Pthread Interfaces
		$Revision: libpthread_tr.so.1:    R11.31_BL2007_0508
			_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/libpthread.1:
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
		Pthread Interfaces
		$Revision: libpthread.1:    R11.31_BL2007_0508_2
	/usr/lib/libpthread_tr.1:
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
		Pthread Interfaces
		$Revision: libpthread_tr.1:    R11.31_BL2007_0508_2

	OS-Core.C-MIN-32ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/liblwp.a:
		LWP (LightWeightProcess) Interfaces
		$Revision: liblwp.a:    R11.31_BL2007_0504_4
	/usr/lib/libpthread.a:
		Pthread Interfaces
		$Revision: libpthread.a:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/libpthread_tr.a:
		Pthread Interfaces
		$Revision: libpthread_tr.a:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)

	OS-Core.C-MIN-64ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/pa20_64/liblwp.a:
		LWP (LightWeightProcess) Interfaces
		$Revision: liblwp.a:    R11.31_BL2007_0504_4
	/usr/lib/pa20_64/libpthread.a:
		Pthread Interfaces
		$Revision: libpthread.a:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/pa20_64/libpthread_tr.a:
		Pthread Interfaces
		$Revision: libpthread_tr.a:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)

	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/pa20_64/liblwp.1:
		LWP (LightWeightProcess) Interfaces
		$Revision: liblwp.1:    R11.31_BL2007_0504_4
	/usr/lib/pa20_64/libpthread.1:
		Pthread Interfaces
		$Revision: libpthread.1:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
	/usr/lib/pa20_64/libpthread_tr.1:
		Pthread Interfaces
		$Revision: libpthread_tr.1:    R11.31_BL2007_0508_2
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)

	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	/usr/lib/liblwp.1:
		LWP (LightWeightProcess) Interfaces
		$Revision: liblwp.1:    R11.31_BL2007_0504_4
	/usr/lib/libpthread.1:
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
		Pthread Interfaces
		$Revision: libpthread.1:    R11.31_BL2007_0508_2
	/usr/lib/libpthread_tr.1:
		pthread_version.c $Date: 2007/05/07 12:09:20 $Revisi
			on: r11.31/1 PATCH_11.31 (PHCO_36551)
		Pthread Interfaces
		$Revision: libpthread_tr.1:    R11.31_BL2007_0508_2

cksum(1) Output:
	
	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP:
	2520903765 53480 /usr/lib/pa20_64/liblwp.1
	4170739355 1526504 /usr/lib/hpux64/libpthread.so.1
	296843621 1770160 /usr/lib/hpux64/libpthread_tr.so.1
	3558097700 607784 /usr/lib/pa20_64/libpthread.1
	1038935746 700320 /usr/lib/pa20_64/libpthread_tr.1

	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_IA,v=HP:
	3892398265 40960 /usr/lib/liblwp.1
	1614831176 1503612 /usr/lib/hpux32/libpthread.so.1
	3183333672 1680300 /usr/lib/hpux32/libpthread_tr.so.1
	4175620712 569344 /usr/lib/libpthread.1
	3145251164 655360 /usr/lib/libpthread_tr.1

	OS-Core.C-MIN-32ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	1072439145 88620 /usr/lib/liblwp.a
	3109466508 711868 /usr/lib/libpthread.a
	766871857 801396 /usr/lib/libpthread_tr.a

	OS-Core.C-MIN-64ALIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	1470302465 155468 /usr/lib/pa20_64/liblwp.a
	3422332602 1228810 /usr/lib/pa20_64/libpthread.a
	3954013518 1375198 /usr/lib/pa20_64/libpthread_tr.a

	OS-Core.CORE2-64SLIB,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	2520903765 53480 /usr/lib/pa20_64/liblwp.1
	3558097700 607784 /usr/lib/pa20_64/libpthread.1
	1038935746 700320 /usr/lib/pa20_64/libpthread_tr.1

	OS-Core.CORE2-SHLIBS,fr=B.11.31,fa=HP-UX_B.11.31_PA,v=HP:
	3892398265 40960 /usr/lib/liblwp.1
	4175620712 569344 /usr/lib/libpthread.1
	3145251164 655360 /usr/lib/libpthread_tr.1

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHCO_35996 

Equivalent Patches: None

Patch Package Size: 5780 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 PHCO_36551

	5. Run swinstall to install the patch:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -s /tmp/PHCO_36551.depot

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHCO_36551.  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 PHCO_36551.text file is 
	available in the product readme:

		swlist -l product -a readme -d @ /tmp/PHCO_36551.depot

	To put this patch on a magnetic tape and install from the
	tape drive, use the command:

		dd if=/tmp/PHCO_36551.depot of=/dev/rmt/0m bs=2k

Special Installation Instructions: None

ページトップへ
セキュリティ報告&パッチダイジェスト翻訳版に戻る
プライバシー 本サイト利用時の合意事項 ウェブマスターに連絡
© 2008 Hewlett-Packard Development Company, L.P.