• Thomas Richter's avatar
    s390/cpum_sf: remove flag PERF_CPUM_SF_FULL_BLOCKS · af90d7b6
    Thomas Richter authored
    This flag is used to process only fully populated sampling buffers
    when an sampling event is stopped on a CPU. By default the last sampling
    buffer is also scanned for samples even if the sampling block full
    indicator is not set in the trailer entry of a sampling buffer page.
    
    This flag can be set via perf_event_attr::config1 field. It was never
    used and never documented. It is useless now.
    
    With PERF_CPUM_SF_FULL_BLOCKS:
    When a process is scheduled off the CPU, the sampling is stopped and
    the samples are copied to the perf ring buffer and marked invalid.
    When stopped at the last full sample buffer page (which is
    achieved with the PERF_CPUM_SF_FULL_BLOCKS options), the hardware
    sampling will resume at the first free sample entry in the current,
    partially filled sample buffer.
    
    Without PERF_CPUM_SF_FULL_BLOCKS (default behavior):
    The partially filled last sample buffer is scanned and valid samples
    are saved to the perf ring buffer. The valid samples are marked invalid.
    The sampling is resumed when the process is scheduled on this CPU.
    Again the hardware sampling will resume at the first free sample entry in
    the current, partially filled sample buffer.
    
    Now the next interrupt handler invocation scans the
    full sample block and saves the valid samples to the ring buffer.
    It omits the invalid samples at the top of the buffer.
    The default behavior is fully sufficient, therefore remove this feature.
    Signed-off-by: default avatarThomas Richter <tmricht@linux.ibm.com>
    Acked-by: default avatarHendrik Brueckner <brueckner@linux.ibm.com>
    Acked-by: default avatarSumanth Korikkar <sumanthk@linux.ibm.com>
    Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
    af90d7b6
perf_cpum_sf.c 63.9 KB