|
|
APRM® Technical Alert
|
|---|
| Product: | APRM - V6R1M3 | |
| OS Level: | i5/OS - V5R4M0 and later | |
| Date: | February 13, 2011 |
APRM V6R1M3 fails on hardware using virtual processor pool(s).
For hardware available after about 2009, IBM allows the creation of "virtual" processor pools. There is really only one real processor pool but there may be many "virtual" processor pools. The significant reason for this concept is to allow users to create one or more of these virtual processor pools (VPPs) to provide a limit, for all partitions assigned to a VPP, of the maximum amount of processing power will ever be in-use simultaneously for those partitions. The reason for using such a limit is to comply with license restrictions of software, including IBM's operating system (OS/400, i5/OS or any other name it may be called) even when using "uncapped processing". Without such a concept a partition could utilize all of the processing power present in the hardware of a machine with little-to-no other processing load. For example, on a 6 CPU machine even though a partition's "entitled" (assigned) CPU power was only 0.75 processing units, uncapped processing could allow that partition to use all 6 CPUs until the partition(s) assigned the other 5.25 processing units became busy enough to utilize them. This condition would violate the terms of an OS license for only 1 processor.
APRM V6R1M3, the first release to fully-support VPPs, has a defect when one or more VPPs are actually created on the hardware. There are 2 manifestations of these programming errors:
Both of the flawed programs must be replaced on each partition using APRM V6R1M3. Note that this patch will not work on other versions of APRM.
A "patch" has been developed and can be downloaded from the www.barsaconsulting.com web site (as described below). The patch consists of complete RPGLE source code for the 2 flawed program's entry modules, the entry modules themselves and the corrected program objects.
If your system does not have any VPPs configured, then you do not need this "patch" (at least not yet).
The steps to obtain and apply this "patch" are:APRM614000. The
following commands assume a library name of VPP_PATCH instead).
CRTSAVF QGPL/VPP_PATCH
B)
Copy the downloaded file to an IFS directory of your choice.
For the purposes of this discussion, we assume the directory is /tmp
and the downloaded file is named VPP_PATCH. You can use FTP
(in BINARY mode, please) if you are familiar with it or you can map a network drive on your
desktop computer to the IFS directory and perform the copy with the normal facilities of your
desktop operating system. For Windows, use the Windows Explorer. Note:
You can, if you wish, simply use FTP to copy the downloaded file directly to the *SAVF instead
- in Binary with replace - (and, of course, omit step C).
C)
Copy the content of the downloaded file to the *SAVF:
CPYFRMSTMF FROMSTMF('/tmp/VPP_PATCH')
TOMBR('/qsys.lib/qgpl.lib/VPP_patch.file') MBROPT(*REPLACE)
CVTDTA(*NONE)
D)
Restore the objects from the *SAVF to a library of your choice. For the purposes of
this discussion, we assume that you will use a library name of ANYOLDLIB -
if you prefer to use the name VPP_PATCH, just omit the
RSTLIB parameter:
RSTLIB SAVLIB(APRM614000) DEV(*SAVF) SAVF(QGPL/VPP_PATCH)
[ RSTLIB(ANYOLDLIB) ]
This new library will contain five (5) objects, all of them owned by
QBARSAOWN. The objects are:
APRMPLUGIN | *PGM | APRM Plugin client from a green screen | |
APRMTUNER2 | *PGM | APRM TUNER program (HMC version) | |
APRMPLUGIN | *MODULE | APRM Plugin client from a green screen | |
APRMTUNER2 | *MODULE | APRM TUNER program (HMC version) | |
QRPGLESRC | *FILE | (You know *ALL about this file) |
ENDAPRM. Observe any APRM job(s) that
may still be running in SBS(QSYSWRK). This can be done by the use of the command
WRKACTJOB SBS(QSYSWRK). Jobs starting with the letters
APRM should have terminated within about 3 seconds. If any remain, end them
with option 4, prompt (with the F4 key) and choose OPTION(*IMMED).
APRMPLUGIN and APRMTUNER2 in LIB(QBARSA) with the same 2 programs from LIB(ANYOLDLIB). This can be done with WRKOBJPDM LIB(ANYOLDLIB) using option 3=Copy or option 11=Move (if you have first deleted the programs from LIB(QBARSA). If you do use the COPY option, you must change the owner of the new programs in LIB(QBARSA) to be QBARSAOWN or they will NOT function correctly. If you do not have WRKOBJPDM on your system, then instead just use:
DLTPGM QBARSA/APRMPLUGINDLTPGM QBARSA/APRMTUNER2MOVOBJ ANYOLDLIB/APRMPLUGIN *PGM TOLIB(QBARSA)MOVOBJ ANYOLDLIB/APRMTUNER2 *PGM TOLIB(QBARSA)CHGOBJOWN QBARSA/APRMPLUGIN *PGM QBARSAOWNCHGOBJOWN QBARSA/APRMTUNER2 *PGM QBARSAOWN
Yau can then, if you wish, save the newly-patched installation of APRM to a tape or save file and use either of these to install the newly-patched code to other partitions or for a re-install. To use a save file, you can execute commands such as:
CRTSAVF QGPL/NEWSAVF TEXT('APRM613000 with VPP_PATCH applied')SAVLICPGM 7BARSA1 *SAVF SAVF(QGPL/NEWSAVF)
STRAPRM. Observe any APRM job(s) as they
start in SBS(QSYSWRK). This can be done by the use of the command
WRKACTJOB SBS(QSYSWRK). Jobs starting with the letters
APRM should start to appear. The first one will be
APRMSTART which initiates the remaining jobs.
© Copyright 2011 Barsa Consulting Group, LLC. All rights reserved.