Patch Name: PHCO_22686

Patch Description: s700_800 11.00 top(1) cumulative patch

Creation Date: 00/12/03

Post Date: 00/12/04

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

Products: N/A

Filesets:
	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP
	OS-Core.CORE-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP

Automatic Reboot?: No

Status: General Release

Critical: No

Category Tags:
	hardware_enablement general_release

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

Symptoms:
	PHCO_22686:
	top(1) output functionality corrected.

	PHCO_21892:
	In a multi processor system, if any processor other
	than the last processor is deallocated, top(1) shows
	incorrect cpu usage, average cpu usage and load averages
	information.

	PHCO_17439:
	1. Long tty names cause unaligned output for top(1).

	2. top(1) reports wrong tty name for processes which
	are not attached to a terminal.

	3. top(1) may dump core if certain undocumented
	behaviour of qsort(3) changes in future releases.

	PHCO_14809:
	top(1) displays wrong usernames.
	Extra character in top output at the lower right
	corner of the screen.  Floating exception when
	screen is small.
	top(1) does not display any processes on a small
	screen for a multi processor system which has
	a large number of CPUs

Defect Description:
	PHCO_22686:
	top(1) output functionality corrected.

	Resolution:
	Code has been modified to take care of this issue.
	The allocation of processors on fly also has been
	taken care.

	PHCO_21892:
	In a multiprocessor system of say, n processors,
	when a processor other than processor "n" is
	deallocated, top(1) skips the information of
	processor "n" instead of the deallocated processor.
	While calculating the averages, top(1) takes the
	deallocated processor into consideration instead
	of processor "n".

	Resolution:
	The mpctl(2) call is used in top(1) to find the
	allocated processors' numbers and top(1)
	is made to display and calculate information
	only for the allocated processors.

	PHCO_17439:
	1. If the tty name of a process is more than 6 characters,
	   the line corresponding to that process in the top output
	   appears to be shifted towards right.  This results in
	   poor legibility.

	Resolution:
	    top(1) will align the process information and the header
	    dynamically based on the length of the longest tty name.

	2. top(1) reports 'rroot' as tty name for processes which
	   are not attached to a terminal. The reason is, a process,
	   which is not attached to a terminal, will have the fields
	   pst_major and pst_minor of the process data structure
	   equal to -1 which matches the major and minor numbers
	   of the boot device /dev/rroot.

	Resolution:
	   If the pst_major and pst_minor fields of the process
	   data structure are equal to -1, top(1) will display '?'
	   indicating that the process is not attached to a
	   terminal.

	3. top(1) may dump core if certain undocumented behaviour
	   of qsort(3) changes in future releases.

	Resolution:
	   top(1) has been modified so that it does not rely
	   on the undocumented behaviour of qsort(3)

	PHCO_14809:
	top(1) displays wrong usernames due to collisions
	while hashing.
	Extra character in top output at the lower right
	corner of the screen.
	Floating exception when screen is small. This occurs
	when the number of processes which can be displayed on
	the screen becomes zero.
	top(1) does not display any processes on a small screen
	for a multi processor system which has a large number of
	CPUs. The individual CPU state information dominates the
	screen and there is no space left for displaying processes.

SR:
	8606146989 8606142594 5003410233 5003411835 5003397711
	4701383430 4701383448 4701383455

Patch Files:
	
	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/bin/top

	OS-Core.CORE-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	/usr/share/man/man1.Z/top.1

what(1) Output:
	
	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/bin/top:
		top.c  $Revision: 82.1.1.17 $ $Date: 2000/12/02 08:0
			1:21 $
		find_ttys.c  $Revision: 80.1 $ $Date: 96/09/06 17:19
			:38 $
		PATCH_11_00: top.o find_ttys.o 00/12/03

	OS-Core.CORE-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	/usr/share/man/man1.Z/top.1:
		None

cksum(1) Output:
	
	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	263611148 32768 /usr/bin/top

	OS-Core.CORE-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	2161340868 3041 /usr/share/man/man1.Z/top.1

Patch Conflicts: None

Patch Dependencies: None

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHCO_14809 PHCO_17439 PHCO_21892

Equivalent Patches:
	PHCO_22556:
	s700: 10.20
	s800: 10.20

	PHCO_22557:
	s700: 10.10
	s800: 10.10

	PHCO_22558:
	s700: 10.01
	s800: 10.01

Patch Package Size: 70 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_22686

	5. Run swinstall to install the patch:

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

	By default swinstall will archive the original software in 
	/var/adm/sw/save/PHCO_22686.  If you do not wish to retain a
	copy of the original software, use the patch_save_files option:

		swinstall -x autoreboot=true -x patch_match_target=true \
			  -x patch_save_files=false -s /tmp/PHCO_22686.depot

	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_22686.text file is 
	available in the product readme:

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

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

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

Special Installation Instructions: None

