Bug 21587

Summary: [OGLC] >20 oglconform cases take too long time, compared with 7_4_branch
Product: Mesa Reporter: liuhaien <haien.liu>
Component: Drivers/DRI/i915Assignee: Ian Romanick <idr>
Status: VERIFIED FIXED QA Contact:
Severity: major    
Priority: medium CC: eric
Version: unspecifiedKeywords: regression
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: xorg.0.log
xorg conf file

Description liuhaien 2009-05-06 01:10:10 UTC
Created attachment 25536 [details]
xorg.0.log

System Environment:
--------------------------
Host:		x-aspire1
Arch:		i386
Platform:	acer aspire1	
OSD:		Fedora release 10 (Cambridge)
Kernel_version:		2.6.30-rc4-KMS
Libdrm:		(master)68103b2758029b3c1fbfcf995baa758bfd2676de
Mesa:		(mesa_7_5_branch)dd4c142e90a0cba5b445990bb522ce9199d7f565
Xserver:		(master)1b1b20d6e3e696e4437a9ef56128cde70a485f66
Xf86_video_intel:		(master)a8a771a853478e5f45f71d0eff3c4d55bf24d0ad
Kernel:       (for-linus)091438dd5668396328a3419abcbc6591159eb8d1

Bug detailed description:
-------------------------
after switching mesa to 7_5 branch, performance degrades in a lot of oglconform cases(more than 20),for example,l_al.c,l_am.c,l_as.c,l_ac.c,l_ap.c,l_dmn.c, fogexp.c,api-coloru.c ,l_adm.c,texsubimage.c,bitmap-pos.c,pxtrans-cirgbtex.c...

Reproduce steps:
----------------
1. xinit&
2. run oglc case
Comment 1 liuhaien 2009-05-06 01:10:50 UTC
Created attachment 25537 [details]
xorg conf file
Comment 2 Eric Anholt 2009-05-06 13:38:21 UTC
Stop reporting performance regressions in conformance tests.  Use non-conformance-test applications to demonstrate performance problems.
Comment 3 liuhaien 2009-05-06 23:33:20 UTC
take l_la.c for example, it takes about 14 minutes on mesa_7_4_branch, but takes more than  2 hours on 7_5 branch, it deeply impacts our nightly testing.
Comment 4 liuhaien 2009-05-06 23:36:49 UTC
(In reply to comment #3)
> take l_la.c for example, it takes about 14 minutes on mesa_7_4_branch, but
> takes more than  2 hours on 7_5 branch, it deeply impacts our nightly testing.
> 

sorry,the case name is "l_al.c", not "l_la.c". and we test it on acer aspire1.
Comment 5 Gordon Jin 2009-05-06 23:59:56 UTC
We are not pursuing the performance regression issue, but we need a resolution to fix the too-long-time-execution issue.
Comment 6 Gordon Jin 2009-05-07 00:02:16 UTC
Ian, can you look into this? It blocks our nightly testing. Either driver need fix, or test cases need fix.

Haien, how about mesa master? 
Comment 7 Ian Romanick 2009-05-07 10:13:43 UTC
Aser Aspire 1 is 945?  I don't know of any changes that should substantially effect the driver for 945.  There were some changes to the i965 driver that hurt performance on some of these tests, but that problem was fixed.  I'll see if I can reproduce it a G31 system here.  Can you provide sysprof information for one of the slow tests?
Comment 8 liuhaien 2009-05-08 00:35:47 UTC
(In reply to comment #7)
> Aser Aspire 1 is 945?  I don't know of any changes that should substantially
> effect the driver for 945.  There were some changes to the i965 driver that
> hurt performance on some of these tests, but that problem was fixed.  I'll see
> if I can reproduce it a G31 system here.  Can you provide sysprof information
> for one of the slow tests?
> 
yes, Aspire1 is 945gme. g45 is better than 945gme, there are only 14 cases which run too long time on g45, less than aspire1.

we try to bisect and find a good commit (only with 945gm)as below:
commit 119360cccdd49475eed67dde6344bf9f9904bc1b
Author: Brian Paul <brianp@vmware.com>
Date:   Thu Mar 5 15:08:36 2009 -0700

    i965: init dest reg CondMask = COND_TR (the proper default)

    Plus fix up a debug printf.
    (cherry picked from commit 20f49252e1fe2e72bb620c26292f33d5315452a1)

but it will cause segfault on g45. 
Comment 9 Ian Romanick 2009-05-18 14:37:19 UTC
(In reply to comment #8)

> we try to bisect and find a good commit (only with 945gm)as below:
> commit 119360cccdd49475eed67dde6344bf9f9904bc1b
> Author: Brian Paul <brianp@vmware.com>
> Date:   Thu Mar 5 15:08:36 2009 -0700
> 
>     i965: init dest reg CondMask = COND_TR (the proper default)
> 
>     Plus fix up a debug printf.
>     (cherry picked from commit 20f49252e1fe2e72bb620c26292f33d5315452a1)
> 
> but it will cause segfault on g45. 

What are you saying?  Is this the commit that changes performance for G45 or for 945?  Since this commit only changes a file in the i965 driver, I don't see how it could change the results for 945 (i915 driver) at all.
Comment 10 liuhaien 2009-05-18 20:12:15 UTC
(In reply to comment #9)
> (In reply to comment #8)
> 
> > we try to bisect and find a good commit (only with 945gm)as below:
> > commit 119360cccdd49475eed67dde6344bf9f9904bc1b
> > Author: Brian Paul <brianp@vmware.com>
> > Date:   Thu Mar 5 15:08:36 2009 -0700
> > 
> >     i965: init dest reg CondMask = COND_TR (the proper default)
> > 
> >     Plus fix up a debug printf.
> >     (cherry picked from commit 20f49252e1fe2e72bb620c26292f33d5315452a1)
> > 
> > but it will cause segfault on g45. 
> 
> What are you saying?  Is this the commit that changes performance for G45 or
> for 945?  Since this commit only changes a file in the i965 driver, I don't see
> how it could change the results for 945 (i915 driver) at all.
> 

hi,Ian
I also was confused by my finding, but it is a truth, with this commit,all cases mentioned in this bug would get pass quickly on 945gm ,but on g45 ,it caused segfault in these cases. I still keep tracking the reason.
Comment 11 Gordon Jin 2009-06-22 23:29:31 UTC
off Q2 blocking list.

btw, Ian, can you reproduce this?

Haien, can you continue bisecting?
Comment 12 Shuang He 2009-08-23 19:36:17 UTC
This issue still happen with following configuration:
Mesa:           (master)ba48e78b1f7cf307d505583f758c65b158f5aae0
Xserver:                (server-1.6-branch)f274e595ed56722450f6ecebad70500c92e50c58
Xf86_video_intel:               (master)5dccd1be3ab80b642ef2022446f5bdc1656ed943
Kernel:       (drm-intel-next)819e0064634f580ab618189e657ea58341d214b7

Comment 13 Ouping Zhang 2011-04-22 01:38:28 UTC
System Environment:
--------------------------
Kernel: (drm-intel-fixes)5c72d064f7ead1126bed6faab0c2bfb7418036e2

running the recent OGLC cases(commit:bf2a0b8381ac2ea0b4a1209abda7d16637064f67) on x-g45b with 7.5 mesa branch and 7.10 branch, the running time of some cases with the same kernel as follows:

case                       7.5 branch         7.10 branch
l_al                       19m46.836s         7m29.190s               
l_am                       11m13.468s         4m15.650s
l_as                       5m45.308s          2m9.382s
l_ac                       10m46.419s         3m54.826s
l_ap                       7m7.938s           2m36.707s
l_dmn                      6m32.860s          2m28.107s
fogexp                     10m57.645s         3m46.375s
api-coloru                 11m41.751s         3m35.259s
pxtrans-cirgbtex           4m0.928s           3m44.975s

It seems that whatever with 7.5 branch or with 7.10 branch, the running time is normal and acceptable. Compared with 7.5 branch, OGLC cases which run on i965 platform with 7.10 branch cost less time.
Comment 14 Gordon Jin 2011-04-24 17:29:45 UTC
I'm happy to close this one.

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.