Jump to content
 English      
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
        More options        
HP.com Home
patch database

patch details: PHCO_25226

» 

IT Resource Center

» Login
» Register
» My profile
» Search knowledge base
» Forums
» Patch database
» Download drivers, software and firmware
» Warranty check
» Support Case Manager
» Software Update Manager
» Training and Education
» More maintenance and support options
» Online help
» Site map
Content starts here
» view selected patch list
The recommended patch is :  PHCO_33282
The most recent patch is :  PHCO_38307

   useful links
» Patch Family Tree

You may provide feedback on this document.
» patch name » patch description » creation date » post date » hardware platforms - os releases » products » filesets » automatic reboot? » status » critical » category tags » path name » symptoms » defect description » sr » patch files » what(1) output » cksum(1) output » patch conflicts » patch dependencies » hardware dependencies » other dependencies » supersedes » equivalent patches » patch package size » installation instructions » special installation instructions


Patch Name: PHCO_25226

Patch Description: s700_800 11.11 Initialised TLS, Psets, Mutex performance

Creation Date: 01/10/23

Post Date: 01/11/16

Hardware Platforms - OS Releases: 
	s700: 11.11
	s800: 11.11

Products: N/A

Filesets: 
	OS-Core.C-MIN-32ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
	OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
	OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
	OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP
	ProgSupport.PAUX-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP

Automatic Reboot?: No

Status: General Superseded

Critical: 
	Yes
	PHCO_25226: OTHER
		Performance degradation and sudden increase in
		CPU utilization due to mutex contention.

Category Tags: 
	defect_repair enhancement general_release critical
	manual_dependencies

Path Name: /hp-ux_patches/s700_800/11.X/PHCO_25226

Symptoms: 
	PHCO_25226:
	( SR:8606186378 CR:JAGad55582 )
	Heavy mutex contention seen when large number of
	threads try to acquire a single mutex lock, leading
	to performance degradation and sudden jump in CPU
	utilization.

	PHCO_24584:
	( 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.

	PHCO_23846:
	( SR:8606184540 CR:JAGad53747 )
	This enhancement is to support initialized tls support for
	Fortran OpenMP. Changes are made in pthread library.

Defect Description: 
	PHCO_25226:
	( SR:8606186378 CR:JAGad55582 )
	When large number of threads contend for a single
	mutex, there is lot of contention for the internal
	locks used in the library. This results in
	unnecessary yielding and sleeping by the waiters
	preventing the lock owner to complete the job.

	Resolution:
	Modified existing implementation to reduce contention
	and dependency on the internal lock.

	PHCO_24584:
	( SR:8606200799 CR:JAGad69975 )
	This patch contains minor enhancements in pthreads library
	to support the HP-UX Processor Sets product.

	Resolution:
	Enhancements added to support new pthread_pset_bind_np()
	interface in pthreads library when Processor Sets product
	is enabled.

	PHCO_23846:
	( SR:8606184540 CR:JAGad53747 )
	This is an enhancement for Initialized Thread local storage
	support for Fortran OpenMP.

	Resolution:
	Libpthread allocates memory for TLS and it is initialized
	to zero. With new enhancement the allocated TLS memory will
	be initialized with the initialization image for each load
	module the pointer to which is passed by libc/linker.

SR: 
	8606184540 8606186378 8606200799

Patch Files: 
	
	OS-Core.C-MIN-32ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/libpthread.a
	/usr/lib/libpthread_tr.a

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

	OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.1
	/usr/lib/pa20_64/libpthread_tr.1

	OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/libpthread.1
	/usr/lib/libpthread_tr.1

	ProgSupport.PAUX-ENG-A-MAN,fr=B.11.11,
		fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/share/man/man3.Z/pthread_ldom_bind_np.3t
	/usr/share/man/man3.Z/pthread_ldom_id_np.3t
	/usr/share/man/man3.Z/pthread_num_ldomprocs_np.3t
	/usr/share/man/man3.Z/pthread_num_ldoms_np.3t
	/usr/share/man/man3.Z/pthread_num_processors_np.3t
	/usr/share/man/man3.Z/pthread_processor_bind_np.3t
	/usr/share/man/man3.Z/pthread_processor_id_np.3t
	/usr/share/man/man3.Z/pthread_pset_bind_np.3t
	/usr/share/man/man3.Z/pthread_spu_to_ldom_np.3t

what(1) Output: 
	
	OS-Core.C-MIN-32ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/libpthread.a:
		Pthread Interfaces
		$Revision: libpthread.a:    @(#) depot-32pa CUP11.11
			_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue Oc
			t 23 14:04:19 PDT 2001 $
	/usr/lib/libpthread_tr.a:
		Pthread Interfaces
		$Revision: libpthread_tr.a:    @(#) depot-32pa CUP11
			.11_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue
			 Oct 23 14:05:08 PDT 2001 $

	OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.a:
		Pthread Interfaces
		$Revision: libpthread.a:    @(#) depot-64pa CUP11.11
			_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue Oc
			t 23 14:12:07 PDT 2001 $
	/usr/lib/pa20_64/libpthread_tr.a:
		Pthread Interfaces
		$Revision: libpthread_tr.a:    @(#) depot-64pa CUP11
			.11_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue
			 Oct 23 14:12:57 PDT 2001 $

	OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/pa20_64/libpthread.1:
		Pthread Interfaces
		$Revision: libpthread.1:    @(#) depot-64pa CUP11.11
			_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue Oc
			t 23 14:08:13 PDT 2001 $
	/usr/lib/pa20_64/libpthread_tr.1:
		Pthread Interfaces
		$Revision: libpthread_tr.1:    @(#) depot-64pa CUP11
			.11_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue
			 Oct 23 14:09:07 PDT 2001 $

	OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/lib/libpthread.1:
		Pthread Interfaces
		$Revision: libpthread.1:    @(#) depot-32pa CUP11.11
			_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue Oc
			t 23 14:00:09 PDT 2001 $
	/usr/lib/libpthread_tr.1:
		Pthread Interfaces
		$Revision: libpthread_tr.1:    @(#) depot-32pa CUP11
			.11_BL2001_1023_2 PATCH_11.11 PHCO_25226 Tue
			 Oct 23 14:01:07 PDT 2001 $

	ProgSupport.PAUX-ENG-A-MAN,fr=B.11.11,
		fa=HP-UX_B.11.11_32/64,v=HP:
	/usr/share/man/man3.Z/pthread_ldom_bind_np.3t:
		None
	/usr/share/man/man3.Z/pthread_ldom_id_np.3t:
		None
	/usr/share/man/man3.Z/pthread_num_ldomprocs_np.3t:
		None
	/usr/share/man/man3.Z/pthread_num_ldoms_np.3t:
		None
	/usr/share/man/man3.Z/pthread_num_processors_np.3t:
		None
	/usr/share/man/man3.Z/pthread_processor_bind_np.3t:
		None
	/usr/share/man/man3.Z/pthread_processor_id_np.3t:
		None
	/usr/share/man/man3.Z/pthread_pset_bind_np.3t:
		None
	/usr/share/man/man3.Z/pthread_spu_to_ldom_np.3t:
		None

cksum(1) Output: 
	
	OS-Core.C-MIN-32ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	727470144 221410 /usr/lib/libpthread.a
	2442508787 251266 /usr/lib/libpthread_tr.a

	OS-Core.C-MIN-64ALIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	148832110 421128 /usr/lib/pa20_64/libpthread.a
	1399994996 475090 /usr/lib/pa20_64/libpthread_tr.a

	OS-Core.CORE-64SLIB,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	4261798791 168760 /usr/lib/pa20_64/libpthread.1
	2973966243 202496 /usr/lib/pa20_64/libpthread_tr.1

	OS-Core.CORE-SHLIBS,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP:
	1807005241 155648 /usr/lib/libpthread.1
	78312690 180224 /usr/lib/libpthread_tr.1

	ProgSupport.PAUX-ENG-A-MAN,fr=B.11.11,
		fa=HP-UX_B.11.11_32/64,v=HP:
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_ldom_bind_np.3t
	3153021285 8531 /usr/share/man/man3.Z/pthread_ldom_id_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_num_ldomprocs_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_num_ldoms_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_num_processors_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_processor_bind_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_processor_id_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_pset_bind_np.3t
	3153021285 8531 /usr/share/man/man3.Z/
		pthread_spu_to_ldom_np.3t

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies: 
	Perf changes enabled by pthread_mutex_disable_handoff_np()
	or pthread_mutexattr_disable_handoff_np() or by setting the
	environment variable PTHREAD_DISABLE_HANDOFF=ON.  By default
	these perf changes are disabled.  The first API pthread_
	mutex_disable_handoff_np() is for process wide disabling of
	handoff mode in all mutexes.  So is the env.  variable.  The
	pthread_mutexattr_disable_handoff_np() takes as argument
	pointer to pthread_mutexattr_t and can be used to disable
	handoff mode for a particular mutex.  The pthread_mutex_
	disable_handoff_np() has no arguments and has to be called
	by the main thread before any new threads are created.
	"Handoff mode" is used to strictly adhere to certain
	characteristics of POSIX real-time threads.  If your
	application does not use any real-time threads trying to
	take mutex locks, you can call this new API to get the
	performance benefits.  To enable the TLS feature, the
	following patches should also be installed:  PHCO_23427 libc
	cumulative patch PHSS_23441 linker cumulative patch
	PHSS_23794 linker startup patch PHSS_23953 Fortran90 B.11.01
	patch

Supersedes: 
	PHCO_24584 PHCO_23846

Equivalent Patches: None

Patch Package Size: 2090 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_25226

	5. Run swinstall to install the patch:

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

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

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

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

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

Special Installation Instructions: None




» top of page
Printable version
Privacy statement Using this site means you accept its terms
© 2009 Hewlett-Packard Development Company, L.P.