Sunday, 12 August 2007

Display SU/SEC, MIPS and MSU















I enhanced Thierry Falissards "SUSEC" REXX Exec which is available from
http://www.os390-mvs.freesurf.fr/mipsmvs.htm
My version also takes into account the so called specialty engines (zIIP and zAAP).
Here is the code:
/* REXX */
CVT = STORAGE(10,4)
RMCT = STORAGE(D2X(C2D(CVT)+604),4)
SU = STORAGE(D2X(C2D(RMCT)+64),4)
SU = 16000000/C2D(SU)
SAY 'SU/SEC FACTOR IS' SU ,
'(1 CPU SECOND EQUALS' SU 'SERVICE UNITS)'
CVTPCCAT = STORAGE(D2X(C2D(CVT)+764),4)
SAY 'PCCA VECTOR TABLE AT' C2X(CVTPCCAT)
I = 0
P = 0
NUMIFA = 0
NUMZIIP = 0
SAY '----------------------------------------------------------------'
SAY ' PROC IFA ZIIP WLM VERSION CPUID MODEL RELATIVE PCCA '
SAY 'NUMBER CODE SPEED ADDRESS'
SAY '----------------------------------------------------------------'
Do While I < 64
PCCA = STORAGE(D2X(C2D(CVTPCCAT)+I*4),4)
IF PCCA ^= '00000000'X THEN DO
PCCAPCCA = STORAGE(D2X(C2D(PCCA)),4)
PCCAVC = STORAGE(D2X(C2D(PCCA)+4),2)
PCCACPID = STORAGE(D2X(C2D(PCCA)+6),6)
PCCAMDL = STORAGE(D2X(C2D(PCCA)+12),4)
PCCACPUA = X2D(C2X(STORAGE(D2X(C2D(PCCA)+16),2)))
PCCARSPR = X2D(C2X(STORAGE(D2X(C2D(PCCA)+52),4)))
PCCAATTR = STORAGE(D2X(C2D(PCCA)+376),1)
PCCARCFF = STORAGE(D2X(C2D(PCCA)+379),1) /* reconfig flags */
If Bitand(PCCAATTR,'01'x)='01'x Then Do /* IFA */
IFA = 'Y'
NUMIFA = NUMIFA + 1
End
Else
IFA = ' '
If Bitand(PCCAATTR,'04'x)='04'x Then Do /* zIIP */
ZIIP = 'Y'
NUMZIIP = NUMZIIP + 1
End
Else
ZIIP = ' '
If Bitand(PCCARCFF,'80'x)='80'x Then /* WLM on-/offline */
WLM = 'Y'
Else
WLM = ' '
IF PCCAPCCA = 'PCCA' THEN DO
SAY ' ' RIGHT(PCCACPUA,2) ' 'IFA' 'ZIIP' 'WLM' ' PCCAVC' ',
PCCACPID' '!!PCCAMDL ' ' RIGHT(PCCARSPR,8) ' ' C2X(PCCA)
P = P + 1
END
END
I = I + 1
END
IF P > 1 THEN PROCS = 'Processors'
ELSE PROCS = 'Processor'
SAY
SAY P PROCS 'in this complex'
MIPS = SU/48.5
SAY
SAY '** Total MIPS :' RIGHT(MIPS*P,12)
IF P > 1 THEN SAY ,
'** Equivalent Uniprocessor MIPS :' RIGHT(MIPS,12)
/* */
/* MSU EVALUATION */
/* */
MSU = SU*(P-NUMIFA-NUMZIIP)*3600/1000000
SAY FORMAT(MSU,,0) 'MSU (FOR PSLC PRICING -'

Friday, 10 August 2007

z/OS 1.9 Announcement

http://www.ibm.com/servers/eserver/zseries/zos/overview/zosnew_summary.html

Most interesting features from my point of view:

  1. Support for up to 54 engines in a single image.
    The total number of processors defined in a z/OS logical partition is the sum of
    general-purpose processors (CPs), System z9 Application Assist Processors (zAAPs), and
    System z9 Integrated Information Processors (zIIPs).
  2. System REXX facility (execution of REXX routines in an authorized environment)
  3. ISPF support for editing and browsing z/OS UNIX and ASCII files
  4. RMF provides information about the CF processor resources consumed by each Coupling
    Facility structure. This requires CFCC Level 15,
    which is available on System z9 servers.
    Also available at z/OS 1.6 and above via PTF's for APAR OA17055 (XES) and APAR OA17070 (RMF). Enablement of the CF Duplexing Enhancements function of CFLEVEL 15 is not provided by these APAR, but will be provided by a future APAR (OA21913).
  5. Support for placing CF's into a new state, called "maintenance mode."
    In conjunction with the REALLOCATE command, the new maintenance mode support can
    greatly simplify operational procedures related to taking a CF down for maintenance or
    upgrade.
  6. SMF can be configured to use System Logger to write data to one or more log streams
  7. The maximum specifiable size of the MVS System Trace is increased from the
    current value of 999K per CPU.
  8. WLM's sysplex routing services are enhanced to recognize the zAAP and the zIIP capacity of a System z server.