• Umesh Nerlige Ramappa's avatar
    i915/perf: Drop the aging_tail logic in perf OA · 9cc31938
    Umesh Nerlige Ramappa authored
    On DG2, capturing OA reports while running heavy render workloads
    sometimes results in invalid OA reports where 64-byte chunks inside
    reports have stale values. Under memory pressure, high OA sampling rates
    (13.3 us) and heavy render workload, occasionally, the OA HW TAIL
    pointer does not progress as fast as the sampling rate. When these
    glitches occur, the TAIL pointer takes approx. 200us to progress.  While
    this is expected behavior from the HW perspective, invalid reports are
    not expected.
    
    In oa_buffer_check_unlocked(), when we execute the if condition, we are
    updating the oa_buffer.tail to the aging tail and then setting pollin
    based on this tail value, however, we do not have a chance to rewind and
    validate the reports prior to setting pollin. The validation happens
    in a subsequent call to oa_buffer_check_unlocked(). If a read occurs
    before this validation, then we end up reading reports up until this
    oa_buffer.tail value which includes invalid reports. Though found on
    DG2, this affects all platforms.
    
    The aging tail logic is no longer necessary since we are explicitly
    checking for landed reports.
    
    Start by dropping the aging tail logic.
    
    v2:
    - Drop extra blank line
    - Add reason to drop aging logic (Ashutosh)
    - Add bug links (Ashutosh)
    - rename aged_tail to read_tail
    - Squash patches 3 and 1
    
    v3: (Ashutosh)
    - Remove extra spaces
    - Remove gtt_offset from the pollin calculation
    - s/Bug:/Link/ in commit message (checkpatch)
    
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7484
    Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7757Signed-off-by: default avatarUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
    Reviewed-by: default avatarAshutosh Dixit <ashutosh.dixit@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20230605193923.1836048-2-umesh.nerlige.ramappa@intel.com
    9cc31938
i915_perf.c 155 KB