Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i915/pmu: Wire GuC backend to per-client busyness #5

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Commits on Apr 3, 2023

  1. i915/pmu: Wire GuC backend to per-client busyness

    GuC provides engine_id and last_switch_in ticks for an active context in the
    pphwsp. The context image provides a 32 bit total ticks which is the accumulated
    by the context (a.k.a. context[CTX_TIMESTAMP]). This information is used to
    calculate the context busyness as follows:
    
    If the engine_id is valid, then busyness is the sum of accumulated total ticks
    and active ticks. Active ticks is calculated with current gt time as reference.
    
    If engine_id is invalid, busyness is equal to accumulated total ticks.
    
    Since KMD (CPU) retrieves busyness data from 2 sources - GPU and GuC, a
    potential race was highlighted in an earlier review that can lead to double
    accounting of busyness. While the solution to this is a wip, busyness is still
    usable for platforms running GuC submission.
    
    Signed-off-by: John Harrison <[email protected]>
    Signed-off-by: Umesh Nerlige Ramappa <[email protected]>
    johnharr-intel authored and XuBing0 committed Apr 3, 2023
    Configuration menu
    Copy the full SHA
    22b0526 View commit details
    Browse the repository at this point in the history