Bug 28135

Summary: [855GM] Slowdown/High CPU-Usage after Git-Commit 926fbc7d90ac1d0d49d154f136f9c9ed613c98c2
Product: xorg Reporter: Stefan Glasenhardt <stefan>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: git   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Normal rendering
none
Broken rendering none

Description Stefan Glasenhardt 2010-05-16 09:53:26 UTC
Hi,

I'm currently testing the latest Git-version of the intel-driver. With this version the CPU-usage of the Xserver goes up to 15% on idle (normal is 1-3% on my system).

The runtime of "gtkperf" dropped from ~20s to ~70s.

The bug must be caused by commit 926fbc7d90ac1d0d49d154f136f9c9ed613c98c2 ("i830: Remove incorrectly mapped tex formats."). The version before this commit is fast as normal.

When i removing the mentioned commit from the latest git-version, speed is also normal, but graphics are completely broken after a few seconds.
Comment 1 Chris Wilson 2010-05-16 10:48:11 UTC
commit 2c69709d8afa6e9c0990efc463df0061536585e1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun May 16 18:41:52 2010 +0100

    i830: Encode surface bpp into format
    
    References:
    
      Bug 28135 - [855GM] Slowdown/High CPU-Usage after Git-Commit
                  926fbc7d90ac1d0d49d154f136f9c9ed613c98c2
      https://bugs.freedesktop.org/show_bug.cgi?id=28135
    
    The simple answer is that I had assumed that 0 was a reserved value.
    However, without the bbp encoded into the format 0 was used for a8r8g8b8
    and r5g6b5, which are very common formats!
    
    The other possibility for the slowdown is that gtkperf is using of the
    now verboten xrgb formats -- but would in fact be valid if the source
    covers the clip and we could fixup the alpha value in the fixed function
    combine.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

Stefan, I think this should be enough to restore performance.
Comment 2 Stefan Glasenhardt 2010-05-16 11:15:15 UTC
Wow, that was quick. Thanks.

Yes performance is restored. It was not only Gtkperf that suffered. The whole desktop got very sluggish.

Btw, i have also found another bug introduced during the last days git-commits :

Rendering is broken on one specific website (http://www.windowsbase.de). The rendering is broken with Firefox and also with Epiphany-Webkit. Also surfing to this site often breaks rendering of the whole desktop (icons, fonts).

Please see the attached screenshots for more details. Strangely the bug only occurs on this website. I haven't found any other website which triggers the same bug.
Comment 3 Stefan Glasenhardt 2010-05-16 11:15:50 UTC
Created attachment 35698 [details]
Normal rendering
Comment 4 Stefan Glasenhardt 2010-05-16 11:16:08 UTC
Created attachment 35699 [details]
Broken rendering
Comment 5 Chris Wilson 2010-05-16 12:41:31 UTC
The corruption looks related to bug 28120, and I'm getting other reports of glyph corruption in xterm with xft. I can't reproduce the windowsbase.de failure on this gm45 (whilst it is a different backend, I think the bug I am chasing for is in the generic layer). Onwards...
Comment 6 Stefan Glasenhardt 2010-05-16 13:09:26 UTC
Okay, thanks for the answer.

I think we can close this bug, because the performance problem is solved for me and the other bug has already its own entry.
Comment 7 Stefan Glasenhardt 2010-05-16 13:27:06 UTC
Just one small update to the rendering issue (Probably it helps) :

The bug was introduced with git-commit a7b800513fcc94e063dfd68d2f63b6bab7fae47d ("uxa: Extract sub-region from in-memory buffers."). Until this commit the driver was working perfectly (At least for me).
Comment 8 Chris Wilson 2010-05-16 13:32:00 UTC
Ok, closing. Thanks for the bug report! That extract sub-region is definitely the beginning of this current saga, and there have been quite a few commits since then to fix up various issues. Once the regressions have been ironed out, the driver will be more robust and you will be surf the net safely. Hopefully. ;-)

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.