Patch Name: PHCO_23705

Patch Description: s700_800 11.00 memory windows cumulative patch

Creation Date: 01/04/02

Post Date: 01/04/13

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.ADMN-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 enhancement general_release

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

Symptoms:
	PHCO_23705:
	( SR: 8606170411 CR: JAGad39675 )
	1. If the search argument to the command 'getmemwindow' is
	a substring of the name of a memory window (as defined in
	/etc/services.window), the corresponding window-id is
	incorrectly returned.

	( SR: 8606134751 CR: JAGad03886 )
	2. Upon installation, PHCO_20443 overwrites the existing
	memory windows configuration file (/etc/services.window)
	with the default copy included in the patch. Applications
	which depend on the memory windows configuration could
	experience problems due to this loss.

	PHCO_20443:
	1. When the customer uses "setmemwindow -f -n program",
	   their programs will not assigned private memory windows,
	   instead they will all be assigned the global memory
	   window.
	2. Setmemwindow returns '0' even when it could not set the
	   requested memory before running a program.  It should
	   return the exit status code.
	3. The new '-o' option will not be available.
	4. The improved '-v' output will not be available.

	PHCO_16795:
	The patch is an enhancement to allow an end customer to
	create an environment where its possible to create the
	illusion of shared memory segment larger than 1 gigabyte
	in size.   If the patch is not installed and the two
	quadrants (2 and 3) are treated as a single contiguous
	range, the application may core dump as the space ids
	are not the same between the two quadrants.

	PHCO_13811:
	The runtime commands to use memory windows are found in
	this patch.

	32 bit applications are unable to run simultaneously
	because the total requirement for shared resources, such as
	shared memory, exceeds the system maximum of 1.75 gigabytes.
	HP-UX has a system wide limitation of 1.75 gigabytes of
	shared resources for SHARED_MAGIC executables, 2.75
	gigabytes if applications are compiled as SHMEM_MAGIC.
	Applications cannot coexist at the same time if their shared
	resource requirements combine to exceed the system maximum.

	PHSS_14726:
	Man pages for memory windows, which were enabled via kernel
	patch PHKL_13810.

Defect Description:
	PHCO_23705:
	( SR: 8606170411 CR: JAGad39675 )
	1. The command 'getmemwindow' uses substring match instead
	of exact match while resolving memory window names to
	window-ids. If the search argument is a substring of the
	name of a memory window (as defined in
	/etc/services.window), the corresponding window-id is
	incorrectly returned.

	Resolution:
	'getmemwindow' has now been changed to perform exact string
	match. 'getmemwindow' exits after finding the first matching
	record.

	( SR: 8606134751 CR: JAGad03886 )
	2. PHCO_16795 and PHCO_20443 can remove a customized memory
	windows configuration file (/etc/services.window) upon
	installation. Both patches deliver a default copy of the
	configuration file, which may have been previously
	customized to associate applications with memory window
	ids. Such applications could experience problems due to
	the default configuration being utilized after the patches
	are installed.

	Resolution:
	Two scripts, 'preinstall' and 'postinstall', have been
	included in this patch. These get to run before and after
	the installation respectively. In 'preinstall', a check is
	made for the existence of the file
	'/etc/services.window'. If it does exist, it is copied into
	a temporary location. After the install process is over,
	'postinstall' moves it back to its original location. This
	way, we avoid damaging an existing /etc/services.window
	during installation.

	PHCO_20443:
	1. Added a missing 'break;' statement to ensure the case
	   '-f' will not fall through down to a 'defaults'
	   statement.
	2. The return exit value is 0 on success, and a positive
	   number on failure to reflect the exit status code.  If
	   the '-n' is not specified, the value returned is the exit
	   status of the executed program.
	3. The -o option was added to send the pid of the executed
	   program to stdout.
	4. The -v option was further improved to send out explicit
	   standardized error message with errno.

	PHCO_16795:
	setmemwindow(1m) was enhanced to provide SHMEM_MAGIC
	executables the ability to treat contiguous shared
	memory segments in the 2nd/3rd as a single virtual
	range.  This enhancement is only available on 64-bit
	kernels.

	SHMEM_MAGIC executables can place shared memory in
	the 2nd, 3rd and 4th quadrants.  On 64-bit systems
	the 2nd and 3rd quadrants are not interrupted by other
	objects such as the system gateway page or kernel
	stacks.  The two 1 Gigabyte segments in quadrant 2 and
	quadrant 3 are virtually contiguous.  However, they
	cannot be treated as a single object because the
	space ids are different.  The new option to
	setmemwindow (-b) allows a customer to configure
	a memory window where the space ids are equal and
	therefore the two segments can be viewed as a
	contiguous range of up to 2 Gigabytes.  The two
	quadrants are not combined, only the space ids are
	made the same.

	PHCO_13811:
	The runtime commands to use memory windows are found in
	this patch.

	Memory windows is a functional change allowing 32 bit
	applications the ability to define unique memory windows
	where shared resources such as shared memory are created.
	Memory windows is only available for 32 bit processes.

	Default executables (SHARED_MAGIC) are defined such that
	shared resources occupy 1.75 gigabytes of the address space.
	With memory windows the application can define 1 gigabyte as
	a unique memory window where shared resources are created.
	Because the application defines its memory window, all other
	processes needing access to shared resources in that window,
	must join that window.   Cooperating processes forming an
	application are able to create, access and modify shared
	resources in a unique memory window.  Placing different
	applications in different windows allows the system to
	exceed the 1.75 gigabyte limitation.  However, the
	individual 32 bit processes themselves are still limited to
	1.75 gigabytes of shared resources.  SHMEM_MAGIC executables
	can address 2.75 gigabytes of shared resources.  The memory
	window for SHMEM_MAGIC is 2 gigabytes as opposed to 1
	gigabyte for SHARED_MAGIC.

	This patch covers the runtime commands.  To use memory
	windows the kernel patch must be installed first.

	PHSS_14726:
	Man pages for memory windows.
	SR:4701378315/DTS:DSDe441229
	Memory windows for HP-UX 11.00

SR:
	8606134751 8606170411 4701378315 8606109387 4701378315

Patch Files:
	
	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/bin/getmemwindow
	/usr/bin/setmemwindow
	/etc/services.window

	OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	/usr/share/man/man1.Z/getmemwindow.1
	/usr/share/man/man1.Z/setmemwindow.1
	/usr/share/man/man4.Z/services.window.4
	/usr/share/doc/mem_wndws.txt

what(1) Output:
	
	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/bin/getmemwindow:
		None

	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/usr/bin/setmemwindow:
		PHCO_20443 Nov. 1999

	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	/etc/services.window:
		None

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

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

	OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	/usr/share/man/man4.Z/services.window.4:
		None

	OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	/usr/share/doc/mem_wndws.txt:
		None

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

	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	3252683088 16384 /usr/bin/setmemwindow

	OS-Core.CMDS-AUX,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
	3735391856 592 /etc/services.window

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

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

	OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	2114272089 1655 /usr/share/man/man4.Z/services.window.4

	OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,
		v=HP:
	4011504416 22370 /usr/share/doc/mem_wndws.txt

Patch Conflicts: None

Patch Dependencies:
	s700: 11.00: PHKL_16236
	s800: 11.00: PHKL_16236

Hardware Dependencies: None

Other Dependencies: None

Supersedes:
	PHSS_14726 PHCO_13811 PHCO_16795 PHCO_20443

Equivalent Patches: None

Patch Package Size: 90 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_23705

	5. Run swinstall to install the patch:

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

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

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

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

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

Special Installation Instructions:
	This patch supersedes PHCO_20443. If you have PHCO_20443
	installed on your system, please DO NOT uninstall/remove it
	before installing this patch. If for some reason you can't
	avoid removing PHCO_20443, please make a backup of the file
	'/etc/services.window' before the uninstall and restore it
	prior to installing this patch.

