<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span> changed
          <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [Kabylake] RPS waitboost regression since v4.20"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=109408">bug 109408</a>
          <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>FIXED
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [Kabylake] RPS waitboost regression since v4.20"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=109408#c11">Comment # 11</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [Kabylake] RPS waitboost regression since v4.20"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=109408">bug 109408</a>
              from <span class="vcard"><a class="email" href="mailto:chris@chris-wilson.co.uk" title="Chris Wilson <chris@chris-wilson.co.uk>"> <span class="fn">Chris Wilson</span></a>
</span></b>
        <pre>commit 2a8862d2f3da4f2576c34f66647127b3bb77c316 (HEAD -> drm-intel-next-queued,
drm-intel/drm-intel-next-queued)
Author: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
Date:   Tue Feb 19 12:22:03 2019 +0000

    drm/i915: Reduce the RPS shock

    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: Lyude Paul <<a href="mailto:lyude@redhat.com">lyude@redhat.com</a>>
    Bugzilla: <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED FIXED - [Kabylake] RPS waitboost regression since v4.20"
   href="show_bug.cgi?id=109408">https://bugs.freedesktop.org/show_bug.cgi?id=109408</a>
    References: 0d55babc8392 ("drm/i915: Drop stray clearing of rps->last_adj")
    References: 60548c554be2 ("drm/i915: Interactive RPS mode")
    Signed-off-by: Chris Wilson <<a href="mailto:chris@chris-wilson.co.uk">chris@chris-wilson.co.uk</a>>
    Cc: Lyude Paul <<a href="mailto:lyude@redhat.com">lyude@redhat.com</a>>
    Cc: Eero Tamminen <<a href="mailto:eero.t.tamminen@intel.com">eero.t.tamminen@intel.com</a>>
    Cc: Joonas Lahtinen <<a href="mailto:joonas.lahtinen@linux.intel.com">joonas.lahtinen@linux.intel.com</a>>
    Cc: Michel Thierry <<a href="mailto:michel.thierry@intel.com">michel.thierry@intel.com</a>>

    Quoting Lyude Paul:
    > Before reverting 0d55babc8392754352f1058866dd4182ae587d11: [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: Lyude Paul <<a href="mailto:lyude@redhat.com">lyude@redhat.com</a>>
    Reviewed-by: Mika Kuoppala <<a href="mailto:mika.kuoppala@linux.intel.com">mika.kuoppala@linux.intel.com</a>>
    Link:
<a href="https://patchwork.freedesktop.org/patch/msgid/20190219122215.8941-13-chris@chris-wilson.co.uk">https://patchwork.freedesktop.org/patch/msgid/20190219122215.8941-13-chris@chris-wilson.co.uk</a></pre>
        </div>
      </p>


      <hr>
      <span>You are receiving this mail because:</span>

      <ul>
          <li>You are the assignee for the bug.</li>
          <li>You are on the CC list for the bug.</li>
          <li>You are the QA Contact for the bug.</li>
      </ul>
    </body>
</html>