<html>
    <head>
      <base href="https://bugs.freedesktop.org/">
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW - Improve time to suspend on"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=100941">100941</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>Improve time to suspend on
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>DRI
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>DRI git
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>Other
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>medium
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>DRM/Radeon
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>dri-devel@lists.freedesktop.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>paulepanter@users.sourceforge.net
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=131223" name="attach_131223" title="TML page generated by pm-graph (`sudo ./analyze_suspend.py -config config/suspend-callgraph.cfg`)">attachment 131223</a> <a href="attachment.cgi?id=131223&action=edit" title="TML page generated by pm-graph (`sudo ./analyze_suspend.py -config config/suspend-callgraph.cfg`)">[details]</a></span>
TML page generated by pm-graph (`sudo ./analyze_suspend.py -config
config/suspend-callgraph.cfg`)

The ASRock E350M1 has a Radeon HD 6310.

```
$ sudo lspci -s 0:01.0 -nn -v
00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] Wrestler [Radeon HD 6310] [1002:9802] (prog-if 00 [VGA controller])
        Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Wrestler [Radeon HD
6310] [1002:9802]
        Flags: bus master, fast devsel, latency 0, IRQ 28
        Memory at e0000000 (32-bit, prefetchable) [size=256M]
        I/O ports at 2000 [size=256]
        Memory at f0100000 (32-bit, non-prefetchable) [size=256K]
        [virtual] Expansion ROM at 000c0000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 3
        Capabilities: [58] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010
<?>
        Kernel driver in use: radeon
        Kernel modules: radeon
```

With Debian Sid/unstable with Linux 4.9.25 suspend and resume times are
benchmarked with pm-graph [1], and the command below.

```
sudo ./analyze_suspend.py -config config/suspend-callgraph.cfg
```

It turns out that with 258 ms the radeon module takes the majority of the time
during suspend.

In that cycle one `radeon_bo_evict_vram` call takes the longest with 198 ms.

```
[…]
  459.186778 |   0)  kworker-1495  |   0.974 us    |         
radeon_fence_wait_empty [radeon]();
  459.186780 |   0)  kworker-1495  |   0.440 us    |         
radeon_fence_wait_empty [radeon]();
  459.186783 |   0)  kworker-1495  |   0.501 us    |         
radeon_fence_wait_empty [radeon]();
  459.186785 |   0)  kworker-1495  |   5.424 us    |         
radeon_save_bios_scratch_regs [radeon]();
  459.186793 |   0)  kworker-1495  |   7625.511 us |          evergreen_suspend
[radeon]();
  459.194422 |   0)  kworker-1495  |   10.158 us   |         
evergreen_hpd_fini [radeon]();
  459.194434 |   0)  kworker-1495  |   198203.3 us |         
radeon_bo_evict_vram [radeon]();
[…]
```

Please see the attached files for more details.</pre>
        </div>
      </p>


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

      <ul>
          <li>You are the assignee for the bug.</li>
      </ul>
    </body>
</html>