IBM Support

VM65686: FCX100 SHOWS EXCESSIVE VALUES FOR ONE PROCESSOR

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Perfkit FCX100 CPU Load and Transactions Report has excessive
    CPU values due to errors in Monitor D0R2 field SYTPRP_PFXTOTWT.
    The values reported in Domain 0, Record 2 SYTPRP_PFXTOTWT
    occasionally regress, reporting less cumulative wait time than
    the prior record.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Customers using Monitor or Perfkit           *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION: APPLY PTF                                    *
    ****************************************************************
    Perfkit FCX100 CPU Load and Transactions Screen reports CPU
    values that are excessive when values reported in Monitor
    Domain 0, Record 2 SYTPRP_PFXTOTWT regress, reporting less
    cumulative wait time than was reported in the prior record.
    
    This may occur when a processor appears to be in wait state
    when Monitor records the value SYTPRP_PFXTOTWT, but exits wait
    before Monitor completes its calculations.
    
    APAR VM66105 changed the algorithm for SYTPRP_PFXTOTWT value
    reporting to improve accuracy. The accuracy problem was due to
    the fact that the wait state timer is only updated when a
    processor exits wait state. If the processor was in wait state
    for an entire Monitor interval, then SYTPRP_PFXTOTWT would
    not increase for that interval, but would jump ahead by a
    large mount when the processor eventually exited wait state.
    APAR VM66105 corrected that problem by having Monitor adjust
    the reported value by calculating the elapsed time since the
    processor entered wait state.
    
    The problem occurs when Monitor sees the processor as in wait
    state just as that processor is exiting wait state. Monitor
    calculates a delta to add to SYTPRP_PFXTOTWT which is larger
    than the delta that the waking processor wait timer actually
    changed. In the next interval Monitor sees the processor is
    not in wait state and reports an unmodified wait timer value
    in SYTPRP_PFXTOTWT which indicates less cumulative wait time
    than it reported in the previous interval.
    
    SYTPRP_PFXTOTWT is reported in CPU Timer format so that the
    value decreases as wait time increases. In the case of the
    reported problem the SYTPRP_PFXTOTWT value increased in the
    next interval which corresponds to less cumulative wait time.
    
    In customer supplied data and experiments to recreate the
    problem, the amount of regression was in the range of a few
    milliseconds. Although this may seem insignificant, the
    calculation of the difference between the values from two
    intervals ends up as a negative value. Perfkit should never
    get a negative value so it is unprepared for that case and the
    value is treated as a very large unsigned number instead.
    

Problem conclusion

  • The smallest possible Monitor interval is 6 seconds. As noted
    earlier, the amount of regression in the wait time value is
    very small.  If the error was even as large as 10 milliseconds
    then the error would be roughly 0.16%.
    
    To prevent the SYTPRP_PFXTOTWT value from regressing, Monitor
    will remember the value that was reported for the prior
    interval to determine whether an adjustment is needed when
    it next reports SYTPRP_PFXTOTWT.
    
    Code changes were made to:
    HCPPLSBK COPY - added PLSTOTWT for Monitor to remember what was
                    reported in SYTPRP_PFXTOTWT for each processor.
                  - added PLSTOTWTLO to use to track the largest
                    amount of regression in SYTPRP_PFXTOTWT values.
    HCPMNY PLX    - uses PLSTOTWT and PLSTOTWTLO this way:
                    a. PLSTOTWT = 0 indicates it has not been used
                       and needs to be initialized so set
                       PLSTOTWT to newly calculated SYTPRP_PFXTOTWT.
                    b. PLSTOTWT < newly calculated SYTPRP_PFXTOTWT.
                       Monitor reported more total wait time last
                       interval. Set SYTPRP_PFXTOTWT = PLSTOTWT.
                       to report the same value in this interval.
                       Also calculate the amount of regression
                       avoided. If that value is larger than the
                       current PLSTOTWTLO value then set PLSTOTWTLO
                       to the newly calculated difference.
                    c. PLSTOTWT > newly calculated SYTPRP_PFXTOTWT
                       then the processor has been in wait state
                       longer than was last reported. Therefore set
                       PLSTOTWT to newly calculated SYTPRP_PFXTOTWT
                       to remember the new value.
    

Temporary fix

  • FOR RELEASE VM/ESA CP/ESA R640 :
    PREREQ: VM66105
    CO-REQ: NONE
    IF-REQ: NONE
    FOR RELEASE VM/ESA CP/ESA R710 :
    PREREQ: NONE
    CO-REQ: NONE
    IF-REQ: NONE
    

Comments

APAR Information

  • APAR number

    VM65686

  • Reported component name

    PERF TOOLKIT

  • Reported component ID

    568411218

  • Reported release

    640

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-09-11

  • Closed date

    2018-10-09

  • Last modified date

    2019-03-22

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    UM35191 UM35270

Modules/Macros

  • HCPMNY   HCPPLSBK
    

Fix information

  • Fixed component name

    VM CP

  • Fixed component ID

    568411202

Applicable component levels

  • R640 PSY UM35191

       UP18/10/10 P 1802

  • R710 PSY UM35270

       UP18/10/10 P 1901

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG27M","label":"APARs - z\/VM environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"640","Edition":"","Line of Business":{"code":"LOB16","label":"Mainframe HW"}}]

Document Information

Modified date:
22 March 2019