Bug 43329

Summary: [Bisected SNB] 30% of 3D performance regression on glbenchmark/Egypt and lightsmark
Product: Mesa Reporter: libo <bo.c.li>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: high CC: chadversary
Version: git   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 42993    

Description libo 2011-11-29 02:04:52 UTC
System Environment:
-------------------------- 
 Libdrm:(master)2.4.27-2-gca4971292cf99e0063416cd1c3467af94637bf2b
 Mesa:	(master)24d25b55bf511493e70600cc7c49c0a0e6fc7a32
 Xserver:(master)xorg-server-1.11.99.1-2-g7b0f53f0a5824fcd81ef505beb3e19ac7c77961f
 Xf86_video_intel:(master)2.17.0-13-g4a27dd287cdb85d80ceaf6b54e7de0c17e01c00d
 Cairo:	(master)e3ec127e39bfa567f5d5d795216523f334e76850
 Libva:	(vaapi-ext)4aeaa296febf2f71200ff30380902e2c80cbf679
 Libva_intel_driver:	(vaapi-ext)af021bbcf7a2fd4fc8a4ebff83a833cc0d7175fe
 Kernel:(drm-intel-next) 9a10f401a401ca69c6537641c8fc0d6b57b5aee8


Bug detailed description:
------------------------- 
There is about 30% regression on 3D performance cases Egypt and lightsmark, which caused by mesa. 

bad  commit:24d25b55bf511493e70600cc7c49c0a0e6fc7a32
good commit:0fe14178dbd5b350082a06c7488b6077362a85e3

I try to bisect it but failed ,because too many mesa commits build failed after   a merge point was introduced ,such is the last commit before that merge point,and it good:
commit:1f3c5eae5c4be582e50c2d4d7950424d86059c45

Reproduce steps:
----------------
1. start X
2. gnome-session
3. sh glbench.sh  
or sh benkend.sh
Comment 1 libo 2011-12-01 16:44:38 UTC
update: 
    For glbenchmark Egypt, the frames value changed from 11384.0 to 8128.0,
about 28% regression. 
    For lightsmark, the fps value changed from 28.69 to 24.15. about 14% regression.

I have put some patches and bisected again,get the result as follow:

The first bad commit could be any of:
 1 d7b33309fe160212f2eb73f471f3aedcb5d0b5c1
 2 da2816a45e6e3a33246a341fee72e6f893f315d9
 3 005149d5860ad55c5e58e2de8a138e3a763f2036
 4 c2ddde70daece24d1eb7185946032158993a9e4d
 5 278e77a1192d5251c5b70a555e676f72b446e8e1
 6 c3c7cbd15418293208034e8970d626b5998abd4b
 

These commit couldn't be build successfully.

for bisecting, the one before these commits is bad commit :
commit: 24da7335b22432ef4c2d57cab86e4b8fbe8733d5
Author: Chad Versace <chad.versace@linux.intel.com>
Date:   Tue Nov 15 10:05:21 2011 -0800

and the next one of these commit is good commit: 
commit: 19faa12bb751eabc1590d042adbd345b89542de0
Author: Chad Versace <chad.versace@linux.intel.com>
Date:   Sun Nov 13 23:05:47 2011 -0800
Comment 2 libo 2011-12-02 00:16:31 UTC
By the way, I find 3DMMES/uimark has about 43.67 % regression , changed from  44.9563 to 25.3248  .
Comment 3 Chad Versace 2011-12-02 11:19:40 UTC
I'm surprised to discover that this merge caused a performance regression. I'm not denying that it did, just stating my surprise. I tested Egypt's performance on my HiZ branch *before* the merge, and there existed a performance *improvement*. Also, Phoronix performed several benchmarks after the merge, and discovered no performance degradations, only improvements.

I will try look into this on Monday. What git url should I use to clone 3dmmes?
Comment 4 libo 2011-12-04 22:28:39 UTC
you can download from:
http://tinderbox.sh.intel.com/games/glbenchmark.tar.gz
after extract it ,you can run it as follow steps:
1. cd /glbenchmark/projects/Linux/
2. rm -f GLBenchTestInput.txt
3. cp  Egypt.txt GLBenchTestInput.txt
4. start X and gnome-session
5. ./glbenchmark_nogui

(In reply to comment #3)
> I'm surprised to discover that this merge caused a performance regression. I'm
> not denying that it did, just stating my surprise. I tested Egypt's performance
> on my HiZ branch *before* the merge, and there existed a performance
> *improvement*. Also, Phoronix performed several benchmarks after the merge, and
> discovered no performance degradations, only improvements.
> 
> I will try look into this on Monday. What git url should I use to clone 3dmmes?
Comment 5 libo 2011-12-04 22:48:29 UTC
(In reply to comment #3)

You can also download 3DMMES from: http://tinderbox.sh.intel.com/games/3DMMES.tar.gz

> I'm surprised to discover that this merge caused a performance regression. I'm
> not denying that it did, just stating my surprise. I tested Egypt's performance
> on my HiZ branch *before* the merge, and there existed a performance
> *improvement*. Also, Phoronix performed several benchmarks after the merge, and
> discovered no performance degradations, only improvements.
> 
> I will try look into this on Monday. What git url should I use to clone 3dmmes?
Comment 7 Eric Anholt 2011-12-29 09:50:30 UTC
commit 7f854a5028ef00a0e041e78a770456204dc58eef
Author: Eric Anholt <eric@anholt.net>
Date:   Fri Dec 16 13:18:55 2011 -0800

    intel: Fix performance regression in Lightsmark since HiZ changes.
    
    Since the refactor in d7b33309fe160212f2eb73f471f3aedcb5d0b5c1, depth
    in the miptree changed from 1 to 6, so we always decided it didn't
    match, and we would relayout to something that would still not
    "match".
    
    Improves performance 23.8% (+/- 1.1%, n=4)
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43329

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.