<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 - `radeon_ib_ring_tests` takes 0.5 s on resume"
   href="https://bugs.freedesktop.org/show_bug.cgi?id=100761">100761</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>`radeon_ib_ring_tests` takes 0.5 s on resume
          </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=130987" name="attach_130987" title="HTML page generated by pm-graph (`sudo ./analyze_suspend.py -config config/suspend-callgraph.cfg -filter radeon`)">attachment 130987</a> <a href="attachment.cgi?id=130987&action=edit" title="HTML page generated by pm-graph (`sudo ./analyze_suspend.py -config config/suspend-callgraph.cfg -filter radeon`)">[details]</a></span>
HTML page generated by pm-graph (`sudo ./analyze_suspend.py -config
config/suspend-callgraph.cfg -filter radeon`)

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.18 suspend and resume times are
benchmarked with pm-graph [1], and the command below.

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

It turns out that with 700 ms the radeon module takes the majority of the time
during resume.

```
[ 1182.585217] rtc_cmos 00:00: System wakeup disabled by ACPI
[ 1182.589380] [drm] Found smc ucode version: 0x00010601
[ 1182.595454] sd 0:0:0:0: [sda] Starting disk
[ 1182.608583] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
[ 1182.608873] radeon 0000:00:01.0: WB enabled
[ 1182.608880] radeon 0000:00:01.0: fence driver on ring 0 use gpu addr
0x0000000018000c00 and cpu addr 0xffa80c00
[ 1182.608884] radeon 0000:00:01.0: fence driver on ring 3 use gpu addr
0x0000000018000c0c and cpu addr 0xffa80c0c
[ 1182.609743] radeon 0000:00:01.0: fence driver on ring 5 use gpu addr
0x0000000000072118 and cpu addr 0xf8e32118
[ 1182.611934] r8169 0000:03:00.0 enp3s0: link down
[ 1182.626087] [drm] ring test on 0 succeeded in 1 usecs
[ 1182.626096] [drm] ring test on 3 succeeded in 3 usecs
[ 1182.671894] [drm] ring test on 5 succeeded in 1 usecs
[ 1182.691820] [drm] UVD initialized successfully.
[ 1182.691935] [drm] ib test on ring 0 succeeded in 0 usecs
[ 1182.691977] [drm] ib test on ring 3 succeeded in 0 usecs
[ 1182.909916] ata5: SATA link down (SStatus 0 SControl 300)
[ 1182.909975] ata6: SATA link down (SStatus 0 SControl 300)
[ 1182.910021] ata3: SATA link down (SStatus 0 SControl 300)
[ 1182.910095] ata2: SATA link down (SStatus 0 SControl 300)
[ 1182.910133] ata4: SATA link down (SStatus 0 SControl 300)
[ 1183.070885] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 1183.073953] ata1.00: configured for UDMA/133
[ 1183.219034] [drm] ib test on ring 5 succeeded
[ 1183.290348] PM: resume of devices complete after 705.896 msecs
```

Looking at the generated graph 540 ms is spent in `radeon_ib_ring_tests`, which
contributes most of the time.

It’d be awesome to improve these times.


[1] <a href="https://github.com/01org/pm-graph">https://github.com/01org/pm-graph</a></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>