• Thomas Richter's avatar
    s390/pai: save PAI counter value page in event structure · fe861b0c
    Thomas Richter authored
    When the PAI events ALL_CRYPTO or ALL_NNPA are created
    for system wide sampling, all PAI counters are monitored.
    On each process schedule out, the values of all PAI counters
    are investigated. Non-zero values are saved in the event's ring
    buffer as raw data. This scheme expects the start value of each counter
    to be reset to zero after each read operation performed by the PAI
    PMU device driver. This allows for only one active event at any one
    time as it relies on the start value of counters to be reset to zero.
    
    Create a save area for each installed PAI XXXX_ALL event and save all
    PAI counter values in this save area. Instead of clearing the
    PAI counter lowcore area to zero after each read operation,
    copy them from the lowcore area to the event's save area at process
    schedule out time.
    The delta of each PAI counter is calculated by subtracting the
    old counter's value stored in the event's save area from the current
    value stored in the lowcore area.
    
    With this scheme, mulitple events of the PAI counters XXXX_ALL
    can be handled at the same time. This will be addressed in a
    follow-on patch.
    Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
    Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
    Signed-off-by: default avatarHeiko Carstens <hca@linux.ibm.com>
    fe861b0c
perf_pai_crypto.c 23 KB