 |
» |
|
|
 |
 |
 |
|
|
 |
|
Patch Name: PHKL_29080
Patch Description: s700_800 11.00 dyn semphores; big data space; msgmn; msgsnd
Creation Date: 03/06/05
Post Date: 03/07/10
Hardware Platforms - OS Releases:
s700: 11.00
s800: 11.00
Products: N/A
Filesets:
OS-Core.CORE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP
ProgSupport.C-INC,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP
Automatic Reboot?: Yes
Status: General Superseded
Critical:
Yes
PHKL_29080: HANG
Application hang.
Category Tags:
defect_repair enhancement general_release critical
halts_system
Path Name: /hp-ux_patches/s700_800/11.X/PHKL_29080
Symptoms:
PHKL_29080:
( SR:8606306960 CR:JAGae69995 )
Applications may hang using Sys V message sends.
PHKL_26136:
( SR:8606229781 CR:JAGad98832 )
Can not allocate new semaphores despite enough space being
available.
PHKL_25417:
( SR:8606198599 CR:JAGad67788 )
Can not allocate new semaphores despite enough space being
available.
PHKL_21039:
The maximum number of IPC semaphores per set (SEMMSL) is
presently a hard-coded value with a limit of 2048 in
./sys/sem.h.; it is not a kernel tunable.
PHKL_21518:
( SR: 5003460949 DTS: JAGab15326 )
This is an enhancement for increasing the SysV IPC MSGMNB
message queue capacity from a 16bit(ushort) limit to a
32bit(int) limit for re-compiled applications which are
designed specifically to take advantage of this feature.
The enhancement is contained in three patches; this one
(SysV IPC changes) plus PHKL_21684 (pstat(2) support) and
PHKL_21778 (new tunables range limits, used by SAM).
PHKL_21684 must be installed for this patch to be enabled
and it is strongly advised that all three patches be
installed if this feature is desired. Without installing
this patch and PHKL_21684, this change will have no impact
on the system.
PHKL_20901:
(SR: 8606110995 CR: JAGab83745)
Call to semget() with number of semaphores (nsems) set to
zero correctly returns EINVAL but still allocates semaphore.
PHKL_20229:
( SR: 8606107525 DTS: JAGab77768 )
This patch is one of 8 patches necessary to add support
for the 3 Gb private address space feature.
Defect Description:
PHKL_29080:
( SR:8606306960 CR:JAGae69995 )
If during the usage of message operations, an application
erroneously attempts a message send that is too large,
the application can hang and become unkillable. This can
happen only if the system and the application are setup
in the following manner:
Patches PHKL_26136, PHKL_26008 and PHKL_24487 need to be
installed on the system to allow the tuning of the msgmnb
>65535 (enable big message queues) and msgmax >65535
(allow big individual messages).
The application must be compiled without the
-D__BIGMSGQUEUE_ENABLED option and it attempts to enqueue
a large single message >65535 bytes.
Resolution:
The application hang is due to the code not releasing
the semaphore lock in the error reporting code. The
resolution is to release this lock when reporting the
error.
PHKL_26136:
( SR:8606229781 CR:JAGad98832 )
The space allocated for use by semaphores becomes fragmented
under heavy use of semaphores. Semaphore allocation may be
prevented due to this fragmentation.
Resolution:
System V IPC semaphore allocation has been replaced by full
dynamic allocation, so the memory space for semaphores is
no longer limited to that allocated at boot time.
PHKL_25417:
( SR:8606198599 CR:JAGad67788 )
The space allocated for use by semaphores becomes fragmented
under heavy use of semaphores. Semaphore allocation may be
prevented due to this fragmentation.
Resolution:
The semmap[] structure originally used to allocate a new
semaphore is maintained unless there is no longer a memory
chunk that can fit it due to fragmentation. At that point
the needed chunk is dynamically allocated through malloc().
PHKL_21039:
( SR: 8606126584 DTS: JAGac57149 )
Description:
Enhancement to the IPC semaphore sub-system: changes the
SEMMSL hard-coded value of 2048 to a kernel tunable with a
default value of 2048.
Resolution:
SEMMSL, the hard-coded max number of semaphores per ID, has
been superceded by a new 'semmsl_override' kernel tunable
which will have a minimum (and default) value of 2048. SAM
can increase the value of the new tunable up to a maximum
of 10240. The value of SEMMSL read by pstat() will still
correctly reflect the value set in semmsl_override.
PHKL_21518:
( SR: 5003460949 DTS: JAGab15326 )
This patch, PHKL_21518, is the primary patch of a
three-patch-set which, all together, increase the SysV IPC
MSGMNB message queue capacity from the 16bit(ushort) limit
of 65Kbytes to a 32bit(int) (64Mbyte core-hpux limit)
maximum. The following patches are required:
o PHKL_21518 (this patch): providing the core
functionality for the enhancement
o PHKL_21684, providing pstat(2) support
o PHKL_21778, providing the new tunables limit values for
SAM
The following patch will make maintenence of the
patch-set enhancement possible via SAM:
o PHCO_21187 providing the necessary SAM upgrades
To enable this enhancement after installing all of the
above patches, user applications are required to either
include a #define __BIGMSGQUEUE_ENABLED in every application
or use a -D__BIGMSGQUEUE_ENABLED flag and then re-compile.
Without this patch set, applications are limited to <=64k
of message queue space. With this patch set installed,
the limit is increased to <=64M.
Not installing the PHKL_21518 (sysV_msg.o) patch will
mean that the large message queue enhancement is not
available.
Resolution:
After the above patch set is installed, the following
guidelines, rules and issues will apply:
Note; in this context:
o 'small-queue' refers queues <=64Kbytes
o 'big-queue' refers queues >64Kbytes
o 'patch-set' refers to at least the minimum patch
set of PHKL_21518 plus PHKL_21684
o Old 'small-queue' apps will run unaffected whether
they are re-compiled or not.
o New 'big-queue' apps can ignore the patch and run
with the old 'small-queue' model and remain unaffected
by the patches
Application guidelines:
-----------------------
o Read all applicable text in /usr/include/sys/ipc.h,
/usr/include/sys/msg.h and the patch documents
o New 'big-queue' apps can enable 32bit queues by
#define __BIGMSGQUEUE_ENABLED PRIOR to ipc.h and
msg.h #includes -OR- use -D__BIGMSGQUEUE_ENABLED
when compiling
o If an application attempts to use message queues larger
than 64K (by defining __BIGMSGQUEUE_ENABLED) and the
PHKL_21684 (pstat.o) patch is missing, an EINVAL error
code will be returned (from msgget(2)) and a message
will be placed into the system log (just on first
occurrence).
o Messages can be passed between new 'big-queue' apps
and old 'small-queue' apps but with some restrictions
o If a new 'big-queue' app (as root) expands its queue
from less-than max ushort [created as a 'small-queue']
to greater-than maxushort, that queue will then
automatically be re-tagged as a 'big-queue'.
o Old apps using msgctl(IPC_STAT) will report msg_qbytes
and msg_cbytes as 'full' for any real value of
msg_qbytes/msg_cbytes => max ushort; thus the
msgctl(IPC_STAT) result can 'under-report' msg_qbytes
and/or msg_cbytes. However, pstat results will always
correctly report msg_cbytes. It is not known how apps
may interpret this condition.
o Applications using queues >64k may misbehave where that
queue is used in common with a client or other
application that was not re-compiled with the #define
__BIGMSGQUEUE_ENABLED.
o There is no effect on any program if the admin keeps
the max queue size <=64K. Even where the admin
configures the message queue size >64K, there is no
effect as long as no programs sharing a common message
queue have been recompiled with the special symbol
__BIGMSGQUEUE_ENABLED.
o A program compiled with __BIGMSGQUEUE_ENABLED defined
(and the patch-set installed) which is later executed on
a system without the patch-set may:
o fail a msgget(IPC_CREAT) with errno set to ENOENT
o or succeed in the msgget() if the queue already
exists, but it will not grow beyond MSGMNB/64K in size
or return zero for queue sizes from msgctl(IPC_STAT)
o or set the queue size via msgctl(IPC_SET) to some
arbitrary size (<=64K) because the new fields were
not initialized int the old structure.
o The "GROUP", "CBYTES", "QNUM" and "QBYTES" fields listed
by the 'ipcs' command may "run together" when the queue
size exceeds 999,999
PHKL_20901:
(SR: 8606110995 CR: JAGab83745)
An uninitialized variable (sem_perm.mode) caused the
semaphore to still remain allocated after calling procedure
ipcgetperm().
Resolution:
This variable is now correctly being reset to 0 after
calling ipcgetperm().
PHKL_20229:
( SR: 8606107525 DTS: JAGab77768 )
This is one of 8 patches necessary to add support for the
3 Gb private address space feature. This feature allows a
process to have a private 3rd quadrant (normally the 3rd
quadrant, which is a 1 Gb range of address space from
0x80000000 to 0xC0000000, is used for shared objects). The
chatr command must be used to enable this feature for an
executable (chatr +q3p enable <a.out>). Note that this
feature is only enabled for 32 bit processes running on the
64 bit version of HP-UX.
The other 7 patches necessary to enable this feature are
PHKL_20222, PHKL_20223, PHKL_20224, PHKL_20225, PHKL_20226,
PHKL_20227 and PHKL_20228. Each patch may be installed
independently of the others - if enabling the 3 Gb private
address space feature is not desired. If fewer than all
8 patches are installed, the 3 Gb private address space
feature will not be enabled. The code in this patch that
is part of this feature will not have any impact on the
system until all 8 patches are installed.
Resolution:
A subset of the code to support the 3 Gb private address
space feature was added. When all 8 patches are installed
the following code changes to support this feature will
have been added:
1) Code to recognize the request for a private 3rd
quadrant (Q3) during exec() of an executable.
An executable that requests a private 3rd
quadrant will be referred to as a q3p process
below.
2) Code to prevent allocation of shared objects
in q3p processes.
3) Code to allow data to extend over the 2nd/3rd
quadrant boundary for q3p processes.
4) Code to put the stack for the primary thread
in the 3rd quadrant for q3p processes.
5) Code to map a shared library into the private
address space if there is no more room in the
4th shared quadrant for q3p processes.
Enhancement:
No (superseded patches contained enhancements)
PHKL_29080:
Enhancements were delivered in a patch this one has
superseded. Please review the Defect Description
text for more information.
SR:
5003460949 8606107525 8606110995 8606126584 8606198599
8606229781 8606306960
Patch Files:
OS-Core.CORE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
/usr/conf/h/ipc.h
/usr/conf/h/msg.h
ProgSupport.C-INC,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
/usr/include/sys/ipc.h
/usr/include/sys/msg.h
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
/usr/conf/lib/libhp-ux.a(sysV_ipc.o)
/usr/conf/lib/libhp-ux.a(sysV_msg.o)
/usr/conf/lib/libhp-ux.a(sysV_sem.o)
/usr/conf/lib/libhp-ux.a(sysV_shm.o)
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
/usr/conf/master.d/sysvipc-tune
/usr/conf/space.h.d/sysvipc-tune.h
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
/usr/conf/lib/libhp-ux.a(sysV_ipc.o)
/usr/conf/lib/libhp-ux.a(sysV_msg.o)
/usr/conf/lib/libhp-ux.a(sysV_sem.o)
/usr/conf/lib/libhp-ux.a(sysV_shm.o)
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
/usr/conf/master.d/sysvipc-tune
/usr/conf/space.h.d/sysvipc-tune.h
what(1) Output:
OS-Core.CORE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
/usr/conf/h/ipc.h:
ipc.h $Date: 2000/06/05 13:48:46 $Revision: r11ros/4
PATCH_11.00 (PHKL_21518) MSGMNB
/usr/conf/h/msg.h:
msg.h $Date: 2000/06/22 10:02:44 $Revision: r11ros/4
PATCH_11.00 (PHKL_21518) MSGMNB
ProgSupport.C-INC,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
/usr/include/sys/ipc.h:
ipc.h $Date: 2000/06/05 13:48:46 $Revision: r11ros/4
PATCH_11.00 (PHKL_21518) MSGMNB
/usr/include/sys/msg.h:
msg.h $Date: 2000/06/22 10:02:44 $Revision: r11ros/4
PATCH_11.00 (PHKL_21518) MSGMNB
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
/usr/conf/lib/libhp-ux.a(sysV_ipc.o):
sysV_ipc.c $Date: 2000/05/26 14:29:08 $Revision: r11
ros/2 PATCH_11.00 (PHKL_21518) MSGMNB
/usr/conf/lib/libhp-ux.a(sysV_msg.o):
sysV_msg.c $Date: 2003/05/29 13:22:11 $Revision: r11
ros/9 PATCH_11.00(PHKL_29080)
/usr/conf/lib/libhp-ux.a(sysV_sem.o):
sysV_sem.c $Date: 2002/01/18 15:11:40 $Revision: r11
ros/11 PATCH_11.00 (PHKL_26136)
/usr/conf/lib/libhp-ux.a(sysV_shm.o):
sysV_shm.c $Date: 2000/06/05 13:48:46 $Revision: r11
ros/7 PATCH_11.00 (PHKL_21518) MSGMNB
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
/usr/conf/master.d/sysvipc-tune:
sysvipc-tune $Date: 2000/09/13 17:03:15 $Revision: r
11ros/1 PATCH_11.00 (PHKL_21039)
/usr/conf/space.h.d/sysvipc-tune.h:
sysvipc-tune.h $Date: 2000/09/13 17:03:15 $Revision:
r11ros/1 PATCH_11.00 (PHKL_21039)
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
/usr/conf/lib/libhp-ux.a(sysV_ipc.o):
sysV_ipc.c $Date: 2000/05/26 14:29:08 $Revision: r11
ros/2 PATCH_11.00 (PHKL_21518) MSGMNB
/usr/conf/lib/libhp-ux.a(sysV_msg.o):
sysV_msg.c $Date: 2003/05/29 13:22:11 $Revision: r11
ros/9 PATCH_11.00(PHKL_29080)
/usr/conf/lib/libhp-ux.a(sysV_sem.o):
sysV_sem.c $Date: 2002/01/18 15:11:40 $Revision: r11
ros/11 PATCH_11.00 (PHKL_26136)
/usr/conf/lib/libhp-ux.a(sysV_shm.o):
sysV_shm.c $Date: 2000/06/05 13:48:46 $Revision: r11
ros/7 PATCH_11.00 (PHKL_21518) MSGMNB
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
/usr/conf/master.d/sysvipc-tune:
sysvipc-tune $Date: 2000/09/13 17:03:15 $Revision: r
11ros/1 PATCH_11.00 (PHKL_21039)
/usr/conf/space.h.d/sysvipc-tune.h:
sysvipc-tune.h $Date: 2000/09/13 17:03:15 $Revision:
r11ros/1 PATCH_11.00 (PHKL_21039)
cksum(1) Output:
OS-Core.CORE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
1417744864 5980 /usr/conf/h/ipc.h
1462845435 9015 /usr/conf/h/msg.h
ProgSupport.C-INC,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP:
1417744864 5980 /usr/include/sys/ipc.h
1462845435 9015 /usr/include/sys/msg.h
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
3343021987 1748 /usr/conf/lib/libhp-ux.a(sysV_ipc.o)
3746105385 15880 /usr/conf/lib/libhp-ux.a(sysV_msg.o)
1361464872 21220 /usr/conf/lib/libhp-ux.a(sysV_sem.o)
2328942000 11048 /usr/conf/lib/libhp-ux.a(sysV_shm.o)
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP:
1530785713 349 /usr/conf/master.d/sysvipc-tune
1858305369 246 /usr/conf/space.h.d/sysvipc-tune.h
OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
2688313537 3720 /usr/conf/lib/libhp-ux.a(sysV_ipc.o)
2708463588 41888 /usr/conf/lib/libhp-ux.a(sysV_msg.o)
293780355 48648 /usr/conf/lib/libhp-ux.a(sysV_sem.o)
4076208488 26728 /usr/conf/lib/libhp-ux.a(sysV_shm.o)
OS-Core.KERN2-RUN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP:
1530785713 349 /usr/conf/master.d/sysvipc-tune
1858305369 246 /usr/conf/space.h.d/sysvipc-tune.h
Patch Conflicts: None
Patch Dependencies:
s700: 11.00: PHKL_18543
s800: 11.00: PHKL_18543
Hardware Dependencies: None
Other Dependencies:
PHKL_21518: PHKL_21684, PHKL_21778, and PHKL_21518 together
provide an enhancement to increase the SysV IPC MSGMNB
message queue capacity. To enable the enhancement, both
PHKL_21684 and PHKL_21518 must be installed, and PHKL_21778
is required if SAM support is desired to modify system
tunables. Each may be installed independently of the
others.
Supersedes:
PHKL_20901 PHKL_20229 PHKL_26136 PHKL_25417 PHKL_21518 PHKL_21039
Equivalent Patches:
PHKL_29070:
s700: 11.11
s800: 11.11
Patch Package Size: 150 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_29080
5. Run swinstall to install the patch:
swinstall -x autoreboot=true -x patch_match_target=true \
-s /tmp/PHKL_29080.depot
By default swinstall will archive the original software in
/var/adm/sw/save/PHKL_29080. 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_29080.text file is
available in the product readme:
swlist -l product -a readme -d @ /tmp/PHKL_29080.depot
To put this patch on a magnetic tape and install from the
tape drive, use the command:
dd if=/tmp/PHKL_29080.depot of=/dev/rmt/0m bs=2k
Special Installation Instructions:
Max number of semas per ID
--------------------------
For the PHKL_21039 patch, SAM is used to change the
maximum number of semas per ID (previously SEMMSL) by
adjusting the new 'semmsl_override' tunable. The SEMMNS
(max number of semas in the system) tunable value MUST be
greater than or equal to 'semmsl_override' otherwise
applications will be limited to the smaller of the two
values.
SEMMNS MAX # of semas in the system [must be >= SEMMSL]
SEMMSL MAX # of semas per ID [presently 64 IDs MAX]
To make the semas-per-ID (previously SEMMSL) adjustable,
the 'semmsl_override' kernel tunable has been added. The
value can be set and adjusted up from (the minimum and
default value of 2048) to an arbitrary maximum of 10240
(0x2800). This global 'semmsl_override', is the only way
to adjust the maximum number of semas per ID and the
changes take effect only after re-boot.
Because a new tunable is being added, it is highly
reccommended that you install patch PHCO_19047, which has
the necessary SAM upgrades. Without the upgrades, SAM
will still be aware of the new tunable but will not be
aware of the new range limitations for that tunable.
Therefore, SAM will show a warning message to this effect
when attempting to access the tunable. With PHCO_19047
installed, SAM will automatically update the range values.
The tunable can still be set by SAM using values within
the range limits specified in the
/usr/conf/master.d/sysvipc-tune file but it is not the
reccommended procedure as SAM will not perform the
necessary checks and SAM will not guarantee a successful
kernel creation if the tunable is modified.
SysV IPC MSGMNB message queue capacity
--------------------------------------
o The PHKL_21518 (sysV_msg.o) (or superseding) patch
and the pstat.o patch (PHKL_21684 or superseding patch)
MUST BOTH be installed on the system together to enable
the MSGMNB enhancement.
o It is also highly recommended that patches PHKL_21778
(core-hpux) PHCO_21187 (with the necessary SAM
enhancements) also be installed.
o Installing only the PHKL_21778 (core-hpux) patch
will allow the admin to set MSGMNB >64k but the change
will have no effect as the kernel will hard-limit the
value to 64k.
o Applications compiled with __BIGMSGQUEUE_ENABLED will
not run on systems which do not have the appropriate
patches installed.
o Not having either the PHKL_21518 (sysV_msg.o) patch or
the PHKL_21684 (pstat.o) patch installed means that
applications compiled with the #define
__BIGMSGQUEUE_ENABLED may not run or may not run
correctly.
o Not installing PHKL_21778 (core-hpux) and PHCO_21187
(SAM) patches will make it more difficult to adjust the
kernel message tunables.
o If an application attempts to use message queues larger
than 64K (by defining __BIGMSGQUEUE_ENABLED) and the
PHKL_21684 (pstat.o) companion patch is missing, an
EINVAL error code will be returned (from msgget(2))
and a message will be placed into the system log (but
only on the first occurrence).
Kernel Tunables:
----------------
o Follow the procedures below for setting the kernel
tunables and tunable ranges using SAM.
o Follow these guidelines for setting new message queue
kernel tunables:
o MSGMNB [max number of bytes per queue]
Set >= the largest queue required. If single large
messages are expected, also set >= the largest single
message expected.
o MSGMAX [max message size in bytes]
Set <= MSGMNB dependent on the need to use single
large messages which may fill the queue.
o MSGTQL [max number of message headers]
Set >= the largest number of messages expected.
o MSGSSZ [number of bytes in one "segment"]
MSGSEG [number of segments]
MSGSSZ*MSGSEG [total message storage space]
o Set MSGSSZ*MSGSEG >= at least to the maximum a
single large message queue can hold.
o If multiple large queues are expected, that
will need to be factored in.
o MSGSSZ is the "granularity" for message storage.
If MSGSSZ=256 then a 257-byte message will
consume two segments.
o Note that MSGSEG must be < 32768 so that if 32M
were allocated, the segment size MSGSSZ would
need to be set to 1K bytes.
Updating MSGMNB/MSGMAX Tunable Ranges:
--------------------------------------
Presently, the "range" values in master/core-hpux will
prevent users of SAM from configuring MSGMNB and MSGMAX to
>64K. In order to allow larger queues, the admin should
install PHCO_21187 (SAM) patch as a companion to
PHKL_21778 (core-hpux) which will automatically update
SAM's range values. If that is not desired, the admin can
follow the following special procedure outlined below:
SAM, as installed on customer systems, may prevent the
administrator from selecting queue (and message) sizes in
excess of 64Kbytes. This is due to the range values in
/usr/conf/master.d/core-hpux or SAM's "params.tx" file
(significant in older versions of SAM).
We are providing the PHKL_21778 (core-hpux) patch for the
"core-hpux" files (for both 32bit and 64bit kernels).
However, due to SAM version differences, the customer has
several procedural options, as described below.
o If installation of the PHKL_21778 (core-hpux) patch to
/usr/conf/master.d/core-hpux is desired, follow
these steps:
make a backup copy of /usr/conf/master.d/core-hpux
install the patch
inspect changes to /usr/conf/master.d/core-hpux
o Note that installation of this patch will overwrite
any local changes, these should be merged back in.
o This particular patch will make the following changes:
Old:
*range msgmax<=64*1024
*range msgmnb<=64*1024
New:
*range msgmax<=64*1024*1024
*range msgmnb<=64*1024*1024
o Any other changes are due to: having not been
previously up-to-date with superseded patches to
this file; superseding patches to this file; or
prior local changes to this file.
o Once statisfied with /usr/conf/master.d/core-hpux,
perform one of the following procedures.
a) If the PHCO_21187 (SAM) patch is installed, the
procedure is:
- make backup copy of /var/sam/boot.config
- execute /usr/sam/lbin/getkinfo -b
- inspect changes made to /var/sam/boot.config
o The "KC_PARAM_MAX" values for "msgmax" and
"msgmnb" should have change from 65536 (64Kbytes)
to 67108863 (64Mbytes). If there are any other
changes to this file, they represent additional
core-hpux changes from superseding patches,
or changes which from superseded patches,
but not rolled into SAM.
o Start SAM, change MSGMAX/MSGMNB kernel parameters
to desired values. These values will depend upon
the application's needs. You may also need to
adjust the MSGSEG/MSGSSZ parameters to allocate
more memory for total message storage (the upper
limits for these do not change). Then regenerate
and reboot the kernel in the usual manner.
or:
b) If the PHCO_21187 (SAM) patch is not installed,
install it then follow procedure for "a".
or:
c) If installing the PHCO_21187 (SAM) patch is not
desired, first:
o Edit the /usr/sam/lib/kc/params.tx file to change
the upper limits:
Old:
msgmax:65536:0:Message:8192:Message Max Size...
msgmnb:0x10000:0:Message:16384:Max Number ...
New:
msgmax:67108863:0:Message:8192:Message Max Size...
msgmnb:67108863:0:Message:16384:Max Number...
o Do not change any other message queue parameters.
o After editing, follow the procedure under "a", as
if the patch was installed.
o If installation of the PHKL_21778 (core-hpux) patch is
not desired (despite the recommendation that it be
installed), then the administrator will need to edit
/usr/conf/master.d/core-hpux directly to change the
upper limits:
Old:
*range msgmax<=64*1024
*range msgmnb<=64*1024
New:
*range msgmax<=64*1024*1024
*range msgmnb<=64*1024*1024
o Once this is done, follow one of the above
procedures, "a", "b", or "c", as appropriate.
o If SAM is not the means for kernel configuration at
the site, the PHKL_21778 (core-hpux) patch (or editing
core-hpux may not be needed. In this case the
tunables for MSGMNB, MSGMAX, MSGSEG, and MSGSSZ should
be modified, and the kernel regenerated and rebooted,
in the usual manner for the site. (For example: edit
the /stand/system file then build a new kernel via
'mk_kernel -s /stand/system'). The maximum for MSGMNB
and MSGMAX is now 67108863 rather than 65536.
3GB Private Address Space
-------------------------
This patch contains part of the enhancement to enable the
3 Gb private address space feature. It is one of 8
patches. The other 7 patches necessary to enable this
feature are PHKL_20222, PHKL_20223, PHKL_20224,
PHKL_20225, PHKL_20226, PHKL_20227 and PHKL_20228. Each
patch may be installed independently of the others - if
enabling the 3 Gb private address space feature is not
desired. If fewer than all 8 patches are installed, the 3
Gb private address space feature will not be enabled. The
code in this patch that is part of this feature will not
have any impact on the system until all 8 patches are
installed.
In order to be able to use this feature you will need to
reconfigure the kernel with a larger value for the kernel
configurable variable "maxdsiz". In order to do this with
SAM, you will also need to install patch PHKL_20174.
Without PHKL_20174 installed SAM will not allow maxdsiz to
exceed ~1.9 Gb. Note that if PHKL_20174 is not installed
it is still possible to manually configure a kernel with a
larger value of maxdsiz (up to 3 Gb) using config(1M).
|