[Bug 38800] glXSwapBuffersMscOML is slow on AMD Fusion but not on Intel 945 w/Atom

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Jul 5 05:18:13 PDT 2011


https://bugs.freedesktop.org/show_bug.cgi?id=38800

--- Comment #12 from Simon Farnsworth <simon.farnsworth at onelan.co.uk> 2011-07-05 05:18:12 PDT ---
I can't persuade the tracepoints Michel recommended to do anything - no data
gets recorded by perf when I run my test programs. I've attempted to record the
data with:

perf script record -a -e  radeon:radeon_bo_create -e radeon:radeon_fence_emit
-e radeon:radeon_fence_retire -e radeon:radeon_fence_wait_begin -e
radeon:radeon_fence_wait_end -e drm:drm_vblank_event -e
drm:drm_vblank_event_queued -e drm:drm_vblank_event_delivered

I looked at perf record/perf report output, to find the biggest non-idle CPU
user, and got to r600_fence_finish being 50% of the overall CPU usage, while
still not using more than 10% CPU total at any time; despite having frame
pointers, I can't get perf to give me a call trace telling me where it's being
called from (I did remember the -g option to perf).

Checking dmesg when drm.debug is set to 0xf shows me that I'm calling the
radeon_crtc_page_flip function through ioctl every 30 milliseconds or so.
Looking in detail (I'll attach the snippet I'm analyzing), I appear to call the
flip ioctl, then wait until after the flip has completed before I continue on
to waiting for the next vblank.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list