Bug 80394

Summary: 2.99.912-130-ga3c9cbe regresses gtkperf Lines and Circles by ~15%
Product: xorg Reporter: Ildar Nurislamov <absorbb>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: RESOLVED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Ildar Nurislamov 2014-06-23 12:38:01 UTC
Responsible commit:
a3c9cbefcb9971900638144286b59112e3cfd404 sna: Force creation of GPU bo for drawing if need be

Before:
GtkDrawingArea - Lines - time:  0.18
GtkDrawingArea - Circles - time:  0.17

After:
GtkDrawingArea - Lines - time:  0.21
GtkDrawingArea - Circles - time:  0.19

I chose best results of 5 runs.
Comment 1 Chris Wilson 2014-06-23 12:56:09 UTC
And over a longer run to rule out startup variability?
Comment 2 Ildar Nurislamov 2014-06-23 13:05:00 UTC
It got better. Best results for master after dozens runs:
GtkDrawingArea - Lines - time:  0.20
GtkDrawingArea - Circles - time:  0.17
Comment 3 Ildar Nurislamov 2014-06-23 13:07:34 UTC
So regression is smaller. Before i could get 1.14 sec as total result. Now 1.16 sec with 1.15 only once. 
Maybe this is nothing.
Comment 4 Chris Wilson 2014-06-23 14:05:26 UTC
I am not too worried about that - it is a little hard to isolate changes at that level. The commit you identified shouldn't impact upon those measurements as the code should not be taking that path in the first place -- unless it is rendering around the actual test case that is slower, perhaps.

Did you compare with say gtkperf -c 5000?
Comment 5 Ildar Nurislamov 2014-06-23 14:48:47 UTC
I made -c 10000 tests of Line and Circles. Gtkpeft was warmed up before tests.

Before:
GtkDrawingArea - Lines - time: 19.55
GtkDrawingArea - Circles - time: 16.39


After:
GtkDrawingArea - Lines - time: 19.90
GtkDrawingArea - Circles - time: 16.74


Difference ~2%
Comment 6 Ildar Nurislamov 2014-06-23 14:51:02 UTC
OMG. that is garbage. didnt noticed that you've made 2 commits.
So i compared 6c5658b14451239b8e4333702a227d83eed09f96  with 25776547bb7d76010f948769c8c08a7f418b15fd (
Comment 7 Ildar Nurislamov 2014-06-25 06:54:02 UTC
Hm. Everything is back to normal:
GtkDrawingArea - Lines - time:  0.18
GtkDrawingArea - Circles - time:  0.17
Bug can be closed.
Comment 8 Chris Wilson 2014-06-25 06:57:43 UTC
Ok, fwiw, I expect it was

commit ded05e8abb248664124d2b86f77c27497a252c4e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jun 23 22:15:56 2014 +0100

    sna: Allow scratch pixmap to allocate linear GPU bo
    
    When allocating a scratch pixmap, we do so in the expectation that
    rendering on the GPU is always preferrable, so even allocate a small
    linear bo.
    
    Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>

(and its counterpart that regressed). In other news, how is the scrolling test?
Comment 9 Ildar Nurislamov 2014-06-25 06:59:52 UTC
> In other news, how is the scrolling test?
Still lags.

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.