1. 05 7月, 2019 1 次提交
  2. 03 7月, 2019 1 次提交
  3. 27 6月, 2019 4 次提交
  4. 18 6月, 2019 1 次提交
  5. 17 6月, 2019 1 次提交
  6. 14 6月, 2019 2 次提交
  7. 12 6月, 2019 2 次提交
  8. 10 6月, 2019 1 次提交
  9. 28 5月, 2019 2 次提交
  10. 03 5月, 2019 1 次提交
  11. 30 4月, 2019 3 次提交
  12. 26 4月, 2019 1 次提交
  13. 17 4月, 2019 5 次提交
  14. 11 4月, 2019 1 次提交
  15. 10 4月, 2019 2 次提交
  16. 08 4月, 2019 1 次提交
  17. 03 4月, 2019 1 次提交
  18. 25 3月, 2019 2 次提交
  19. 21 3月, 2019 1 次提交
  20. 20 3月, 2019 1 次提交
  21. 15 3月, 2019 1 次提交
  22. 14 3月, 2019 1 次提交
  23. 06 3月, 2019 1 次提交
  24. 05 3月, 2019 1 次提交
  25. 02 3月, 2019 1 次提交
  26. 21 2月, 2019 1 次提交
    • C
      drm/i915: Reduce the RPS shock · 2a8862d2
      Chris Wilson 提交于
      Limit deboosting and boosting to keep ourselves at the extremes
      when in the respective power modes (i.e. slowly decrease frequencies
      while in the HIGH_POWER zone and slowly increase frequencies while
      in the LOW_POWER zone). On idle, we will hit the timeout and drop
      to the next level quickly, and conversely if busy we expect to
      hit a waitboost and rapidly switch into max power.
      
      This should improve the UX experience by keeping the GPU clocks higher
      than they ostensibly should be (based on simple busyness) by switching
      into the INTERACTIVE mode (due to waiting for pageflips) and increasing
      clocks via waitboosting. This will incur some additional power, our
      saving grace should be rc6 and powergating to keep the extra current
      draw in check.
      
      Food for future thought would be deadline scheduling? If we know certain
      contexts (high priority compositors) absolutely must hit the next vblank
      then we can raise the frequencies ahead of time. Part of this is covered
      by per-context frequencies, where userspace is given control over the
      frequency range they want the GPU to execute at (for largely the same
      problem as this, where the workload is very latency sensitive but at the
      EI level appears mostly idle). Indeed, the per-context series does
      extend the modeset boosting to include a frequency range tweak which
      seems applicable to solving this jittery UX behaviour.
      Reported-by: NLyude Paul <lyude@redhat.com>
      Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109408
      References: 0d55babc ("drm/i915: Drop stray clearing of rps->last_adj")
      References: 60548c55 ("drm/i915: Interactive RPS mode")
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Lyude Paul <lyude@redhat.com>
      Cc: Eero Tamminen <eero.t.tamminen@intel.com>
      Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
      Cc: Michel Thierry <michel.thierry@intel.com>
      
      Quoting Lyude Paul:
      > Before reverting 0d55babc: [4.20]
      >
      > 35 measurements [of gnome-shell animations]
      > Average: 33.65657142857143 FPS
      > FPS observed: 20.8 - 46.87 FPS
      > Percentage under 60 FPS: 100.0%
      > Percentage under 55 FPS: 100.0%
      > Percentage under 50 FPS: 100.0%
      > Percentage under 45 FPS: 97.14285714285714%
      > Percentage under 40 FPS: 97.14285714285714%
      > Percentage under 35 FPS: 45.714285714285715%
      > Percentage under 30 FPS: 11.428571428571429%
      > Percentage under 25 FPS: 2.857142857142857%
      >
      > After reverting: [4.19 behaviour]
      >
      > 30 measurements
      > Average: 49.833666666666666 FPS
      > FPS observed: 33.85 - 60.0 FPS
      > Percentage under 60 FPS: 86.66666666666667%
      > Percentage under 55 FPS: 70.0%
      > Percentage under 50 FPS: 53.333333333333336%
      > Percentage under 45 FPS: 20.0%
      > Percentage under 40 FPS: 6.666666666666667%
      > Percentage under 35 FPS: 6.666666666666667%
      > Percentage under 30 FPS: 0%
      > Percentage under 25 FPS: 0%
      >
      > Patched:
      > 42 measurements
      > Average: 46.05428571428571 FPS
      > FPS observed: 1.82 - 59.98 FPS
      > Percentage under 60 FPS: 88.09523809523809%
      > Percentage under 55 FPS: 61.904761904761905%
      > Percentage under 50 FPS: 45.23809523809524%
      > Percentage under 45 FPS: 35.714285714285715%
      > Percentage under 40 FPS: 33.33333333333333%
      > Percentage under 35 FPS: 19.047619047619047%
      > Percentage under 30 FPS: 7.142857142857142%
      > Percentage under 25 FPS: 4.761904761904762%
      Tested-by: NLyude Paul <lyude@redhat.com>
      Reviewed-by: NMika Kuoppala <mika.kuoppala@linux.intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190219122215.8941-13-chris@chris-wilson.co.uk
      2a8862d2