1. 26 Feb, 2019 1 commit
    • Chris Wilson's avatar
      drm/i915: Replace global_seqno with a hangcheck heartbeat seqno · 89531e7d
      Chris Wilson authored
      To determine whether an engine has 'stuck', we simply check whether or
      not is still on the same seqno for several seconds. To keep this simple
      mechanism intact over the loss of a global seqno, we can simply add a
      new global heartbeat seqno instead. As we cannot know the sequence in
      which requests will then be completed, we use a primitive random number
      generator instead (with a cycle long enough to not matter over an
      interval of a few thousand requests between hangcheck samples).
      
      The alternative to using a dedicated seqno on every request is to issue
      a heartbeat request and query its progress through the system. Sadly
      this requires us to reduce struct_mutex so that we can issue requests
      without requiring that bkl.
      
      v2: And without the extra CS_STALL for the hangcheck seqno -- we don't
      need strict serialisation with what comes later, we just need to be sure
      we don't write the hangcheck seqno before our batch is flushed.
      Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190226094922.31617-1-chris@chris-wilson.co.uk
      89531e7d
  2. 25 Feb, 2019 1 commit
  3. 23 Feb, 2019 1 commit
  4. 22 Feb, 2019 4 commits
  5. 21 Feb, 2019 4 commits
  6. 20 Feb, 2019 29 commits