Automatic Partition Resource Manager logo

APRM® Technical Alert
# 009

APRM Version V6R1M3.

  Product: APRM - V6R1M3
  OS Level: i5/OS - V5R4M0 and later
  Date: February 13, 2011

Problem Summary

APRM V6R1M3 fails on hardware using virtual processor pool(s).

Background

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.

Issue

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:

Solution

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:

Then, for each partition with APRM installed: Detailed instructions for each step outlined above are:
1. Download the patch.
There are three copies of this patch available on the Barsa web site.  The reason for three copies is that some browsers attempt to display the content of files as text when they have no specific associated application.  You may have to try more than one of these before you find one that allows you the option to "save to disk".  When you do have the option, save the file to your local hard drive.  The links are:

   http://www.barsaconsulting.com/download/VPP_PATCH
   http://www.barsaconsulting.com/download/VPP_PATCH.exe
   http://www.barsaconsulting.com/download/VPP_PATCH.savf

Then, for each partition with APRM installed:
2. Install the patch code into a new library.  (Note: if you choose to use the library name from which the patch code was saved, then this library will be named  APRM614000.  The following commands assume a library name of  VPP_PATCH instead).

A)  Create an empty save file in a convenient library.  For the purposes of this discussion, we assume that you will use library QGPL and a *SAVF name of VPP_PATCH.  For this, use:

   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*PGMAPRM TUNER program (HMC version)
 APRMPLUGIN*MODULEAPRM Plugin client from a green screen
 APRMTUNER2*MODULEAPRM TUNER program (HMC version)
 QRPGLESRC*FILE(You know *ALL about this file)

3. Quiesce APRM in the partition so that all the data files can be modified.
Use command 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).
4. Apply the patch.

A)  Replace programs 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/APRMPLUGIN
DLTPGM QBARSA/APRMTUNER2
MOVOBJ ANYOLDLIB/APRMPLUGIN *PGM TOLIB(QBARSA)
MOVOBJ ANYOLDLIB/APRMTUNER2 *PGM TOLIB(QBARSA)
CHGOBJOWN QBARSA/APRMPLUGIN *PGM QBARSAOWN
CHGOBJOWN 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)

5. Start APRM and observe the starting process to assure successful problem correction.
Use command 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.