1. 19 6月, 2021 1 次提交
  2. 06 6月, 2021 1 次提交
  3. 27 4月, 2021 1 次提交
  4. 25 3月, 2021 3 次提交
  5. 06 1月, 2021 1 次提交
  6. 05 1月, 2021 1 次提交
  7. 24 12月, 2020 1 次提交
  8. 22 12月, 2020 2 次提交
  9. 21 12月, 2020 2 次提交
  10. 10 12月, 2020 1 次提交
  11. 07 9月, 2020 3 次提交
  12. 09 7月, 2020 1 次提交
  13. 18 6月, 2020 1 次提交
  14. 17 6月, 2020 5 次提交
  15. 16 6月, 2020 3 次提交
  16. 13 6月, 2020 1 次提交
  17. 11 6月, 2020 1 次提交
  18. 04 6月, 2020 1 次提交
  19. 28 5月, 2020 1 次提交
  20. 21 5月, 2020 1 次提交
  21. 20 5月, 2020 1 次提交
  22. 19 5月, 2020 3 次提交
  23. 18 5月, 2020 1 次提交
  24. 07 5月, 2020 1 次提交
    • C
      drm/i915/gt: Yield the timeslice if caught waiting on a user semaphore · 220dcfc1
      Chris Wilson 提交于
      If we find ourselves waiting on a MI_SEMAPHORE_WAIT, either within the
      user batch or in our own preamble, the engine raises a
      GT_WAIT_ON_SEMAPHORE interrupt. We can unmask that interrupt and so
      respond to a semaphore wait by yielding the timeslice, if we have
      another context to yield to!
      
      The only real complication is that the interrupt is only generated for
      the start of the semaphore wait, and is asynchronous to our
      process_csb() -- that is, we may not have registered the timeslice before
      we see the interrupt. To ensure we don't miss a potential semaphore
      blocking forward progress (e.g. selftests/live_timeslice_preempt) we mark
      the interrupt and apply it to the next timeslice regardless of whether it
      was active at the time.
      
      v2: We use semaphores in preempt-to-busy, within the timeslicing
      implementation itself! Ergo, when we do insert a preemption due to an
      expired timeslice, the new context may start with the missed semaphore
      flagged by the retired context and be yielded, ad infinitum. To avoid
      this, read the context id at the time of the semaphore interrupt and
      only yield if that context is still active.
      
      Fixes: 8ee36e04 ("drm/i915/execlists: Minimalistic timeslicing")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Cc: Kenneth Graunke <kenneth@whitecape.org>
      Reviewed-by: NTvrtko Ursulin <tvrtko.ursulin@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20200407130811.17321-1-chris@chris-wilson.co.uk
      (cherry picked from commit c4e8ba73)
      (cherry picked from commit cd60e4ac4738a6921592c4f7baf87f9a3499f0e2)
      Signed-off-by: NRodrigo Vivi <rodrigo.vivi@intel.com>
      220dcfc1
  25. 06 5月, 2020 1 次提交
  26. 04 5月, 2020 1 次提交