<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - 2x Media CPU power usage, or 15% perf drop when CPU bound GPU use-case is TDP limited"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=108700#c10">Comment # 10</a>
              on <a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - 2x Media CPU power usage, or 15% perf drop when CPU bound GPU use-case is TDP limited"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=108700">bug 108700</a>
              from <span class="vcard"><a class="email" href="mailto:eero.t.tamminen@intel.com" title="Eero Tamminen <eero.t.tamminen@intel.com>"> <span class="fn">Eero Tamminen</span></a>
</span></b>
        <pre>(In reply to David Weinehall from <a href="show_bug.cgi?id=108700#c9">comment #9</a>)
<span class="quote">> Reverting 01bad1c6896db021db82042e71c2bf1f97cc026b seems to resolve at least
> part of the performance regression</span >

<a href="https://cgit.freedesktop.org/drm/drm-tip/commit/?id=01bad1c6896db021db82042e71c2bf1f97cc026b">https://cgit.freedesktop.org/drm/drm-tip/commit/?id=01bad1c6896db021db82042e71c2bf1f97cc026b</a>

----------------------------------------------------------------
Author:Rafael J. Wysocki <<a href="mailto:rafael.j.wysocki@intel.com">rafael.j.wysocki@intel.com</a>>
Committer: Rafael J. Wysocki <<a href="mailto:rafael.j.wysocki@intel.com">rafael.j.wysocki@intel.com</a>>

cpuidle: poll_state: Revise loop termination condition

If need_resched() returns "false", breaking out of the loop in
poll_idle() will cause a new idle state to be selected, so in fact
it usually doesn't make sense to spin in it longer than the target
residency of the second state.  [Note that the "polling" state is
used only if there is at least one "real" state defined in addition
to it, so the second state is always there.]  On the other hand,
breaking out of it early (say in case the next state is disabled)
shouldn't hurt as it is polling anyway.

For this reason, make the loop in poll_idle() break if the CPU has
been spinning longer than the target residency of the second state
(the "polling" state can only be state[0]).
----------------------------------------------------------------


<span class="quote">> the CPU power usage seems to have been a separate issue.</span >

Before the issue, CPU core(s)s power usage was less than GPU power usage, and
afterwards it was >2x GPU power usage, in a (mostly) *GPU limited* Media
test-case.

STIBP fix didn't improve >2x CPU power usage increase in Media test-case 2) at
all, so I think at this point it's more interesting than the small perf drop in
it.  It's like to explain rest of the perf drop too.</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>