• Shrikanth Hegde's avatar
    powerpc/pseries: Add pool idle time at LPAR boot · 9c74ecfd
    Shrikanth Hegde authored
    When there are no options specified for lparstat, it is expected to
    give reports since LPAR(Logical Partition) boot.
    
    APP(Available Processor Pool) is an indicator of how many cores in the
    shared pool are free to use in Shared Processor LPAR(SPLPAR). APP is
    derived using pool_idle_time which is obtained using H_PIC call.
    
    The interval based reports show correct APP value while since boot
    report shows very high APP values. This happens because in that case APP
    is obtained by dividing pool idle time by LPAR uptime. Since pool idle
    time is reported by the PowerVM hypervisor since its boot, it need not
    align with LPAR boot.
    
    To fix that export boot pool idle time in lparcfg and powerpc-utils will
    use this info to derive APP as below for since boot reports.
    
    APP = (pool idle time - boot pool idle time) / (uptime * timebase)
    
    Results:: Observe APP values.
    ====================== Shared LPAR ================================
    lparstat
    System Configuration
    type=Shared mode=Uncapped smt=8 lcpu=12 mem=15573440 kB cpus=37 ent=12.00
    
    reboot
    stress-ng --cpu=$(nproc) -t 600
    sleep 600
    So in this case app is expected to close to 37-6=31.
    
    ====== 6.9-rc1 and lparstat 1.3.10  =============
    %user  %sys %wait    %idle    physc %entc lbusy   app  vcsw phint
    ----- ----- -----    -----    ----- ----- ----- ----- ----- -----
    47.48  0.01  0.00    52.51     0.00  0.00 47.49 69099.72 541547    21
    
    === With this patch and powerpc-utils patch to do the above equation ===
    %user  %sys %wait    %idle    physc %entc lbusy   app  vcsw phint
    ----- ----- -----    -----    ----- ----- ----- ----- ----- -----
    47.48  0.01  0.00    52.51     5.73 47.75 47.49 31.21 541753    21
    =====================================================================
    
    Note: physc, purr/idle purr being inaccurate is being handled in a
    separate patch in powerpc-utils tree.
    Signed-off-by: default avatarShrikanth Hegde <sshegde@linux.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Link: https://msgid.link/20240412092047.455483-2-sshegde@linux.ibm.com
    9c74ecfd
lparcfg.c 21.6 KB