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: PHKL_30317

» 

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 :  PHKL_30541
The most recent patch is :  PHKL_39133

   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 » enhancement » 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: PHKL_30317

Patch Description: s700_800 11.11 ufalloc;VxFS3.5;SPP fragmentation;AIO

Creation Date: 04/01/23

Post Date: 04/02/02

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_30317: HANG
	PHKL_29826: PANIC
		Debug kernel panics while walking
		a list of ~60000 open file
		descriptors.
	PHKL_25871: HANG
		Mutithreaded proceses may hang in socket close(2)

Category Tags: 
	defect_repair enhancement general_release critical panic
	halts_system manual_dependencies

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

Symptoms: 
	PHKL_30317:
	( SR:8606156998 CR:JAGad26332 )
	A multithreaded process may hang with one thread inside exit
	and another thread continuously looping inside the AIO code.

	The stack trace of the thread sleeping in exit code can look
	like:
	_sleep+0x214
	thread_halt_wait+0x198
	for_specific_threads+0xc0
	process_wide_halt_wait+0x2c
	exit+0x3a0

	The stack trace of the thread looping inside the AIO code
	can look like:
	sleep_spinunlock+0x60
	aio_shutdown_fd_begin+0x160
	close+0x28

	PHKL_29826:
	( SR:8606326634 CR:JAGae88911 )
	Processes get deactivated due to memory pressure.
	The processes don't get reactivated even when free
	memory is increased. The memory pressure is undue as
	there are free memory pages on the superpage pool.
	Reports generated using kmeminfo tool show a lot of
	memory on the superpage free pool.

	( SR:8606306720 CR:JAGae69754 )
	When there are ~60000 file descriptors open for a process
	then a close on a file descriptor will lead to any
	of the below symptoms.
	1. panic on a debuf kernel. The stack trace may be
	similar to the following.
	panic+0x6c
	log_ticks+0x31c
	set_it+0x170
	clock_int+0x2d0
	mp_ext_interrupt+0x3f4
	ivti_patch_to_nop3+0x0
	spinunlock+0x48
	vno_lockrelease+0x10c
	closef+0x24
	close+0xe0
	syscall+0x790
	syscallrtn+0x0
	2. performance loss on a perf kernel.

	PHKL_25995:
	( SR:8606217733 CR:JAGad86885 ) Duplicate
	( SR:8606217874 CR:JAGad87024 ) Duplicate
	( SR:8606212631 CR:JAGad81817 )

	Enhancement:  This product update is a member of a set
	needed to enable Fast File Descriptor allocation.  The full
	list of product updates required for this feature are:
	PHKL_25995, PHKL_25993, PHKL_25994, PHKL_25996.

	If any member of this set of product updates is not
	installed, this product update will have no impact on your
	system.

	Performance decreases when a large number of file
	descriptors are open and as more file descriptors are
	needed, there is an increase in the time spent in the
	open(2) call.

	PHKL_25871:
	( SR:8606178928 CR:JAGad48153 )
	A process may hang when attempting to perform a close(2) on
	a file descriptor created by the socket(2) system call.

	PHKL_25611:
	( SR:8606222220 CR:JAGad91335 )
	This patch is a member of a set of patches needed to enable
	the eventport pseudo driver feature delivered in PHKL_25468.
	The eventport driver patch specifies the full set of
	required patches for this new feature.

	If the eventport pseudo driver patch (or superseding patch)
	is not installed, this change will have no impact on you
	system.

	PHKL_29759:
	( SR:8606329864 CR:JAGae90987 )
	When applications that use chroot() system call are
	operated on a directory with the following properties
	1. When accessed, autoFS will mount a filesystem
	   on this directory using direct map.
	2. The mount operation has not taken place on this
	   directory when chroot() is called on it.

	many unusual failures are encountered. One such application
	is ftp where operations like put, mput, etc., will fail
	with an error message when performed on a directory with
	the above mentioned properties. An example of such error
	message is shown below.

	Aug  8 15:17:00 q9j9a ftpd[23183]: Could not determine
	cwdir: No such file or directory.

	A simple application code in this case will look like the
	following.

	   chroot("/users/nfsu1")
	   chdir("/dir1")

	where "/users/nfsu1" is a direct mount point managed by
	AutoFS.

	( SR:8606330941 CR:JAGae92062 )
	This product update is a member of a set needed to enable
	the optional HP-UX VFS-Enh feature.
	Upon installation, the HP-UX VFS-Enh bundle (EnhancedVFS)
	will install the full set of product updates (including
	this one) to enable the VFS-Enh feature.

	If the HP-UX VFS-Enh product is not installed, this
	product update will have no impact on your system.

	PHKL_28999:
	( SR:8606295554 CR:JAGae59236 )
	Automount fails to mount cdfs with PHKL_26239
	and returns EBUSY.  The problem is noticed when
	mounting non-NFS file systems using direct
	maps and not with indirect maps.  This problem
	can also cause Block-Level Incremental Backups (BLIB)
	performed with the Veritas NetBackup application
	to fail with errno 16 (EBUSY).

	PHKL_27800:
	( SR:8606263709 CR:JAGae28034 )
	This product update is member of a set needed to enable
	the optional HP-UX support for VxFS 3.5 Cluster mount
	feature.  Upon installation, the HP-UX BaseVxFS bundle
	will install the full set of product updates (including
	this one) necessary to enable the support for VxFS 3.5
	Cluster mount feature.

	If the HP-UX VxFS 3.5 product is not installed, this
	product update will have no impact on your system.

	( SR:8606198319 CR:JAGad67509 )
	This product update is member of a set needed to enable
	the optional HP-UX VFS support for VxFS 3.5. Upon
	Installation, the HP-UX Base VxFS bundle will install the
	full set of product updates (including this one) necessary
	to enable the VFS support for VxFS 3.5.

	If the HP-UX VxFS 3.5 product is not installed, this product
	update will have no impact on your system.

	PHKL_26239:
	( SR:8606247419 CR:JAGae13857 )
	Enhancement:  This product update is a member of a set
	which improve the performance of mount(2) and umount(2).
	The full list of product updates that address this
	performance improvement are: PHKL_26239, PHKL_26694,
	PHKL_26695, PHKL_26698, and PHKL_27211.

	Each of these product updates may be installed independently
	of the others.  Each provides an incremental performance
	improvement.

	( SR:8606241982 CR:JAGae09237 )
	Enhancement:  Provide device major numbers that are suitable
	for use in /etc/mnttab.

	( SR:8606260639 CR:JAGae24962 )
	opendir(3C) performance may be quite slow when there are a
	lot of directories involving long path names.

	( SR:8606178913 CR:JAGad48138 )
	Either or both of the following symptoms may appear
	on a given system:
	1. Service Guard may experience umount(2) failures.
	2. System throughput and/or response time may degrade when
	CPUs are added to a configuration that executes a
	significant number of calls to getcwd(3).

	PHKL_23239:
	( SR:8606175337 CR:JAGad44579 )
	Overall system throughput degradation when getmount_entry()
	and getmount_cnt() hit contention for the filesys_sema (an
	alpha semaphore).

	PHKL_26749:
	( SR:8606248238 CR:JAGae14638 )
	creat(2) system call fails with ENOENT.

	PHKL_26099:
	( SR:8606233922 CR:JAGae03145 )
	Applications using rename(2) may run slower than necessary.

Defect Description: 
	PHKL_30317:
	( SR:8606156998 CR:JAGad26332 )
	The exiting thread was waiting for the thread looping inside
	the AIO code to finish.  The thread inside the AIO code will
	call sleep to let the AIO operation finish.  As the process
	is exiting the sleep will immediately be interrupted and the
	thread loops continuously calling sleep and being
	interrupted.

	Resolution:
	The thread which was looping inside the AIO code sets the
	EINTR after it is interrupted from its sleep and returns.

	PHKL_29826:
	( SR:8606326634 CR:JAGae88911 )
	When maxfiles tunable is set to 60000, approximately 15
	pages are required for a table of pointers on 64 bit kernel.
	These 15 pages are carved from the superpage pool from
	a 16 page area, the remaining 1 page gets used by normal
	arena allocations. When the 15 pages are freed it cannot
	coalesce thus adding an entry on the 8 page free list,
	the 4 page free list, the 2 page freelist, and the 1 page
	free list. The next time we need 15 pages we must carve up
	a new 16 page and the process repeats. Thus leading to
	superpage pool fragmentation.

	Resolution:
	A request for anything between 14 and 16 pages is rounded
	up to 16 pages. This will lead to an extra allocation of
	maximum 2 pages, but fragmentation of superpage pool will
	not happen in case when maxfiles is set to 60000.

	( SR:8606306720 CR:JAGae69754 )
	When a process has ~60000 open file descriptors and
	it does a close on any of the file descriptors, it
	walks each file descriptor to check for a flag.
	This is done while holding a spinlock. Since the
	spinlock is held for a long time, it leads to a
	panic on a debug kernel and performance loss on a
	perf kernel.

	Resolution:
	When a lock is acquired on a file, a flag is set.
	On first close of the file if the flag is set, the lock
	is released for the whole file.

	PHKL_25995:
	( SR:8606217733 CR:JAGad86885 ) Duplicate
	( SR:8606217874 CR:JAGad87024 ) Duplicate
	( SR:8606212631 CR:JAGad81817 )
	As a user program opens a large number of file descriptors,
	more time is spent in the file allocation routines because
	of the current linear algorithm which results in a
	performance decrease.

	Resolution:
	The solution to this problem is to implement a more
	efficient algorithm for managing file descriptors.

	PHKL_25871:
	( SR:8606178928 CR:JAGad48153 )
	In a mutlithreaded situtation, socket close(2) can cause a
	program to hang as a result of a race condition between the
	close(2) and the creat(2) of the socket.

	Resolution:
	Resolution involved several kernel related subsystems.  We
	now check to see if a thread in waiting in a state that
	could cause a process to block and we abort the call to the
	routine that would cause a hang.  The patches listed in
	other dependencies are necessary to allow and detect an
	error code that is necessary for detection of the waiting
	thread.

	PHKL_25611:
	( SR:8606222220 CR:JAGad91335 )
	This change contains minor enhancements required to support
	the eventport feature.

	Resolution:
	Enhancements added include a file descriptor subsytem
	interface used by the eventport driver and respective
	eventport driver callbacks.

	PHKL_29759:
	( SR:8606329864 CR:JAGae90987 )
	When the system call chroot() is exercised on a directory
	with the following properties
	1. When accessed, autoFS will mount a filesystem on this
	   directory using direct map.
	2. The mount operation has not taken place on this
	   directory when chroot() is called on it.

	the effective root directory is not assigned with respect
	to the automounted filesystem. This results in many
	applications (that use chroot()) failing with different
	error messages.

	Resolution:
	Modified chroot() routine in such a way that the effective
	root directory is assigned with respect to the automounted
	NFS filesystem.

	( SR:8606330941 CR:JAGae92062 )
	This product update contains minor enhancements required to
	enable the HP-UX VFS-Enh.

	Resolution:
	This patch enables new functions that will be called by the
	HP-UX VFS-Enh.

	PHKL_28999:
	( SR:8606295554 CR:JAGae59236 )
	A flag is incorrectly checked when adding a VFS structure
	outside of the normal mount code path.  The flag is
	properly checked in the normal mount code path,  so the
	additional check is not needed.

	Resolution:
	The fix is to remove the check of the flag when adding a
	vfs structure.

	PHKL_27800:
	( SR:8606263709 CR:JAGae28034 )
	This product update contains minor enhancements required to
	enable the HP-UX support for VxFS 3.5 Cluster mount.

	Resolution:
	Enhancements added to disallow mounting another file system
	within a VxFS 3.5 Cluster mount.

	( SR:8606198319 CR:JAGad67509 )
	This product update contains minor enhancements required to
	enable the HP-UX VFS support for VxFS 3.5.

	Resolution:
	Enhancements added to remove VxFS 3.5 entries from VFS
	switch table.

	PHKL_26239:
	( SR:8606247419 CR:JAGae13857 )
	This product update contains minor changes necessary to
	improve the performance of mount(2) and umount(2) for all
	file systems.  We incorrectly held a lock to serialize all
	access to all file systems for mount/umount service calls.
	These file systems specific operations are already
	serialized where necessary, and the additional higher
	level serialization results in unnecessary performance
	degradation.

	Resolution:
	Removed the unnecessary use of a file system lock that used
	to unconditionally serialize all access to all file systems
	for mount/umount service calls.

	( SR:8606241982 CR:JAGae09237 )
	Device major numbers are currently assigned the value 0xff.
	This value can not be used in /etc/mnttab, which needs a
	value between 0x0 and 0x7f.

	Resolution:
	Provide device major numbers that are in the 0x0 to 0x7f
	range.

	( SR:8606260639 CR:JAGae24962 )
	opendir(3C) uses open(2) and stat(2) calls, each with path
	name parameters.  With large numbers of directories, there
	are multiple calls to open(2) and stat(2).

	Resolution:
	open(2) already has access to the information provided by
	stat(2) to opendir(3C).  opendir(3C) uses open(2) with a new
	parameter to gain access to this additional information,
	thus avoiding the additional call to stat(2).

	( SR:8606178913 CR:JAGad48138 )
	The mechanism for retrieving information about mounted
	file systems from the kernel is extremely inefficient.
	Its cost is essentially a quadratic function
	of the number of mounted file systems.

	Resolution:
	Added a new system call to retrieve information for all
	currently mounted file systems, which makes the performance
	linear with the number of mounted file systems.

	PHKL_23239:
	( SR:8606175337 CR:JAGad44579 )
	It is not efficient to use the alpha semaphore to serialize
	access to the list of vfs structs.

	Resolution:
	Use the rootvfs_lock (a simple spinlock) instead of the
	filesys_sema to serialize access to the list of vfs structs.

	PHKL_26749:
	( SR:8606248238 CR:JAGae14638 )
	creat(2) races with unlink(2) allowing a ENOENT failure.

	Resolution:
	The function that creates a file, vn_create(), was
	modified to return a referenced vnode to the open
	function, vn_open(), thereby eliminating the original
	race with unlink(2).

	PHKL_26099:
	( SR:8606233922 CR:JAGae03145 )
	rename(2) always gets the file system semaphore,
	even though it is not needed for mp safe file systems,
	which include HFS and JFS.

	Resolution:
	rename(2) will only get the file system semaphore
	for file systems that are not mp safe.

Enhancement: 
	No (superseded patches contained enhancements)
	PHKL_29759:
		This patch enables new functions that will be
		called by the HP-UX VFS-Enh.
	PHKL_27800:
		Enhancements added to disallow mounting another
		file system within a VxFS 3.5 Cluster mount and to
		remove VxFS 3.5 entries from VFS switch table, when
		this product is configured.

		Additional enhancements were delivered in a patch
		this one has superseded.  Please review the Defect
		Description text for more information.

SR: 
	8606156998 8606175337 8606178913 8606178928 8606198319
	8606212631 8606217733 8606217874 8606222220 8606233922
	8606241982 8606247419 8606248238 8606260639 8606263709
	8606295554 8606306720 8606326634 8606329864 8606330941

Patch Files: 
	
	OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
	/usr/conf/lib/libfs.a(kern_dscrp.o)
	/usr/conf/lib/libfs.a(vfs.o)
	/usr/conf/lib/libfs.a(vfs_scalls.o)
	/usr/conf/lib/libfs.a(vfs_vnode.o)
	/usr/conf/lib/libio.a(aio_subr.o)

	OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
	/usr/conf/lib/libfs.a(kern_dscrp.o)
	/usr/conf/lib/libfs.a(vfs.o)
	/usr/conf/lib/libfs.a(vfs_scalls.o)
	/usr/conf/lib/libfs.a(vfs_vnode.o)
	/usr/conf/lib/libio.a(aio_subr.o)

what(1) Output: 
	
	OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
	/usr/conf/lib/libfs.a(kern_dscrp.o):
		kern_dscrp.c $Date: 2004/01/19 21:36:06 $Revision: r
			11.11/10 PATCH_11.11 (PHKL_30317)
	/usr/conf/lib/libfs.a(vfs.o):
		vfs.c $Date: 2003/09/23 11:10:29 $Revision: r11.11/8
			 PATCH_11.11 (PHKL_29759)
	/usr/conf/lib/libfs.a(vfs_scalls.o):
		vfs_scalls.c $Date: 2003/12/04 01:20:26 $Revision: r
			11.11/6 PATCH_11.11 (PHKL_29826)
	/usr/conf/lib/libfs.a(vfs_vnode.o):
		vfs_vnode.c $Date: 2002/05/22 10:09:42 $Revision: r1
			1.11/4 PATCH_11.11 (PHKL_26239)
	/usr/conf/lib/libio.a(aio_subr.o):
		aio_subr.c $Date: 2004/01/19 21:36:06 $Revision: r11
			.11/1 PATCH_11.11 (PHKL_30317)

	OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
	/usr/conf/lib/libfs.a(kern_dscrp.o):
		kern_dscrp.c $Date: 2004/01/19 21:36:06 $Revision: r
			11.11/10 PATCH_11.11 (PHKL_30317)
	/usr/conf/lib/libfs.a(vfs.o):
		vfs.c $Date: 2003/09/23 11:10:29 $Revision: r11.11/8
			 PATCH_11.11 (PHKL_29759)
	/usr/conf/lib/libfs.a(vfs_scalls.o):
		vfs_scalls.c $Date: 2003/12/04 01:20:26 $Revision: r
			11.11/6 PATCH_11.11 (PHKL_29826)
	/usr/conf/lib/libfs.a(vfs_vnode.o):
		vfs_vnode.c $Date: 2002/05/22 10:09:42 $Revision: r1
			1.11/4 PATCH_11.11 (PHKL_26239)
	/usr/conf/lib/libio.a(aio_subr.o):
		aio_subr.c $Date: 2004/01/19 21:36:06 $Revision: r11
			.11/1 PATCH_11.11 (PHKL_30317)

cksum(1) Output: 
	
	OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP:
	836686066 30884 /usr/conf/lib/libfs.a(kern_dscrp.o)
	1676509853 24928 /usr/conf/lib/libfs.a(vfs.o)
	3514902918 36732 /usr/conf/lib/libfs.a(vfs_scalls.o)
	3375252371 10904 /usr/conf/lib/libfs.a(vfs_vnode.o)
	2368329161 14160 /usr/conf/lib/libio.a(aio_subr.o)

	OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP:
	2563672440 70096 /usr/conf/lib/libfs.a(kern_dscrp.o)
	3047609636 69784 /usr/conf/lib/libfs.a(vfs.o)
	2524596217 94792 /usr/conf/lib/libfs.a(vfs_scalls.o)
	791159007 25792 /usr/conf/lib/libfs.a(vfs_vnode.o)
	4262437474 32840 /usr/conf/lib/libio.a(aio_subr.o)

Patch Conflicts: None

Patch Dependencies: 
	s700: 11.11: PHCO_27120
	s800: 11.11: PHCO_27120

Hardware Dependencies: None

Other Dependencies: 
	PHKL_25995:
	To enable the Fast File Descriptor Allocation enhancement,
	the following product updates must be installed:
	PHKL_25993, PHKL_25994, PHKL_25995, PHKL_25996.  These
	product updates may be installed in any order.  If any of
	these product updates are not installed, this patch
	will have no impact on your system.

	PHKL_25871:  To enable the changes required to fix
	JAGad48153, the following must also be installed:
	PHKL_25840, PHKL_25842, PHNE_25644, PHNE_25084.  These
	product updates may be installed in any order.  If any of
	these product updates are not installed, this patch will
	have no impact on your system.

	PHKL_26239:  This product update, along with PHCO_27910
	(libc) and PHKL_26467 (new system call), provide the
	enabling performance enhancement for accessing information
	about mounted file systems.  The following set of product
	updates:  PHCO_26242, PHCO_27120, PHCO_26331, PHCO_26332,
	PHCO_26333 and PHCO_26334 each take advantage of this
	performance enhancement, and thus provide incremental
	performance improvements.  Each of these product updates may
	be installed independently of each other, and in any order.
	The three enabling product updates, plus at least one of the
	others are necessary to see an improvement in performance.
	None are required if this enhancement is not desired.

	PHKL_26239:  opendir(3C) performance requires product update
	PHCO_27910 (libc).  Each of these product updates may be
	installed independently of each other, in any order, or
	not at all if this enhancement is not desired.

Supersedes: 
	PHKL_29826 PHKL_29759 PHKL_28999 PHKL_27800 PHKL_26749 PHKL_26239
	PHKL_26099 PHKL_25995 PHKL_25871 PHKL_25611 PHKL_23239

Equivalent Patches: None

Patch Package Size: 200 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_30317

	5. Run swinstall to install the patch:

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

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

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

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

		dd if=/tmp/PHKL_30317.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.