Created attachment 30135 [details] my xorg log When scrolling the following page: http://www.thediversityedge.com/diversity_champions.htm in firefox (3.5.3 here) I get hangs when another window is on top of firefox' window. I am running fedora rawhide, with a 2.9 release candidate on my i945GM without a composition manager. Steps to reproduce: 1. Load the webpage in firefox 2. Open a terminal window on top of firefox, instruct your WM to keep it always on top (or only use the scroll wheel to scroll) 3. Scroll inside Firefox, soon X will hang - only the mouse will move slowly.
Created attachment 30136 [details] stack trace could it be a single blit taking more than 30s?
traces like this are usually the gtt-mapping faulting choosing the wrong thing to kick out and userland not making progress or making very slow progress. If so, sysprof will show all your time in page faulting.
Unfourtunatly, sysprof doesn't report in-kernel time for me :-/ Could you give it a try, please? However, the web-page mentioned contains a huge amount of large images scaled down, so you explanation sounds quite logical.
I've done some work recently in this area and already have had one patch shot down in flames that should help address this issue... So reassigning to myself.
*** Bug 26522 has been marked as a duplicate of this bug. ***
still happens with intel-2.10.901 + kernel-2.6.32.8 :/
Created attachment 35511 [details] [review] Protect mmapped buffers from casual eviction.
Clemens/Okias, does this still exist? Can you try Chris's patch?
I don't have laptop with intel card with me, so I will be able test it when I got it in my hands, which will be circa 22.8.
Done! commit e2bf07fe23fd11a2acba609bf34ccc59c5553389 Author: Chris Wilson <chris@chris-wilson.co.uk> Date: Sat Aug 7 11:01:24 2010 +0100 drm/i915: Implement fair lru eviction across both rings. (v2) Based in a large part upon Daniel Vetter's implementation and adapted for handling multiple rings in a single pass. This should lead to better gtt usage and fixes the page-fault-of-doom triggered. The fairness is provided by scanning through the GTT space amalgamating space in rendering order. As soon as we have a contiguous space in the GTT large enough for the new object (and its alignment), evict any object which lies within that space. This should keep more objects resident in the GTT. Doing throughput testing on a PineView machine with cairo-perf-trace indicates that there is very little difference with the new LRU scan, perhaps a small improvement... Except oddly for the poppler trace. Reference: Bug 15911 - Intermittent X crash (freeze) https://bugzilla.kernel.org/show_bug.cgi?id=15911 Bug 20152 - cannot view JPG in firefox when running UXA https://bugs.freedesktop.org/show_bug.cgi?id=20152 Bug 24369 - Hang when scrolling firefox page with window in front https://bugs.freedesktop.org/show_bug.cgi?id=24369 Bug 28478 - Intermittent graphics lockups due to overflow/loop https://bugs.freedesktop.org/show_bug.cgi?id=28478 v2: Attempt to clarify the logic and order of eviction through the use of comments and macros. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Eric Anholt <eric@anholt.net>
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.