Bug 69870 - [HSW GT3e Bisected] GLbenchmark v2.7.0 EgyptHD _FixedTime performance reduced by 20%
Summary: [HSW GT3e Bisected] GLbenchmark v2.7.0 EgyptHD _FixedTime performance reduced...
Status: CLOSED FIXED
Alias: None
Product: DRI
Classification: Unclassified
Component: DRM/Intel (show other bugs)
Version: unspecified
Hardware: All Linux (All)
: high major
Assignee: Chris Wilson
QA Contact: Intel GFX Bugs mailing list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-27 05:42 UTC by meng
Modified: 2016-12-07 16:27 UTC (History)
3 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Prefer age3 (1.97 KB, patch)
2013-11-21 14:37 UTC, Chris Wilson
no flags Details | Splinter Review

Description meng 2013-09-27 05:42:40 UTC
System Environment:       
----------------------------------------------
Platform: HSW mobile GT3e i7-4950HQ 
Libdrm:	 (master)libdrm-2.4.46-42-gbf4a7cd4b2456d4dc93a86bbcc51eba4ae73390a
Mesa:	 (master)fe2528c0b69d5719b15d926ada9424cac7569b9c
Xserver: (master)xorg-server-1.14.99.1-215-g7d3d4ae55dd6ee338439e2424a
Xf86_video_intel:(master)2.99.902-54-gd7eb40efa79dd9ea720606b94a20179c7dd18e03
Cairo:	 (master)337ab1f8d9e29086bfb4001508b28835b41c6390
Libva:	 (staging)f5c913765e6af38d835cacf339054ccc60bddefb
Libva_intel_driver:(staging)f6685c309d94fb7679c9772703c8790cb71cdd73
Kernel:	(drm-intel-nightly) 24c8329416b54b79655afe45370cf3d46f41e283

Bug detailed description:
----------------------------------------------
GLbenchmark v2.7.0 EgyptHD _FixedTime performance reduced by 20% on HSW mobile GT3e(i7-4950HQ).
The problem doesn’t exist on HSW desktop and another HSW mobile i7-4700MQ .
It’s kernel –dinq regression, bisecting show that the first bad commit is:
commit 0d8ff15e9a15f2b393e53337a107b7a1e5919b6d
Author: Ben Widawsky <benjamin.widawsky@intel.com>
Date:   Thu Jul 4 11:02:03 2013 -0700

    drm/i915/hsw: Set correct Haswell PTE encodings.

Performance
--------------------------------------------------------------------
Test GLbenchmark v2.7.0 EgyptHD _FixedTime on Raw X
drm-intel-next-queued   git-50b44a4    git-00d8ff15
                         183.67 fps     148.67 fps

Reproduce steps:
---------------------------------------------
1, xinit&
2, vblank_mode=0 ./GLBenchmark -data ../../data/  -w 1920 -h 1080 -t 2701100
Comment 1 Daniel Vetter 2013-09-27 07:34:58 UTC
For gt3e we've meanwhile enabled eLLC. What's the numbers on latest dinq?
Comment 2 Daniel Vetter 2013-09-27 07:35:12 UTC
s/dinq/-nightly of course.
Comment 3 meng 2013-09-27 08:54:19 UTC
(In reply to comment #2)
> s/dinq/-nightly of course.
Kernel built on 2013-09-27
-nightly git-8153de: 129.33
-dinq git-cd2983 :127 fps
-drm-intel-fixes git-d32270: 133.0 fps

Hi, is eLLC enabled in above driver? Or need to do by other way?
Comment 4 Daniel Vetter 2013-09-27 09:18:27 UTC
(In reply to comment #3)
> (In reply to comment #2)
> > s/dinq/-nightly of course.
> Kernel built on 2013-09-27
> -nightly git-8153de: 129.33
> -dinq git-cd2983 :127 fps
> -drm-intel-fixes git-d32270: 133.0 fps
> 
> Hi, is eLLC enabled in above driver? Or need to do by other way?

Yes. And apparently there's another regression somewhere ...
Comment 5 Chris Wilson 2013-09-27 10:22:16 UTC
See also https://bugs.freedesktop.org/show_bug.cgi?id=67062
Comment 6 Chris Wilson 2013-09-30 07:44:12 UTC
Since your bisection here is the very commit that you tested to improve performance in the same test, I strongly suspect external factors.
Comment 7 Gordon Jin 2013-11-08 01:17:39 UTC
Ben, can you reproduce it?
Comment 8 Daniel Vetter 2013-11-18 08:10:36 UTC
I think the situation is too confusing and the delay between when we've committed the patch and when the regression was reported was too long to be actionable. So closing as wontifx.
Comment 9 Chris Wilson 2013-11-18 15:09:07 UTC
*shrug* It was something I meant to pinpoint but I never got access to gl2.7
Comment 10 meng 2013-11-21 06:42:33 UTC
(In reply to comment #8)
> I think the situation is too confusing and the delay between when we've
> committed the patch and when the regression was reported was too long to be
> actionable. So closing as wontifx.

Hi, HSW mobile GT3e is added nightly testing at the end of August, then updated this machine OS, so the bug is found later.

the performance still exists on -dinq git-f671d1(can't revert the bisected commit git-0d8ff1). So I reopen it.
Comment 11 Chris Wilson 2013-11-21 11:44:35 UTC
Modulo using s2tc instead of s3tc, on a i7-4950HQ:

50b44a4: 145fps, 155fps, 152fps
0d8ff15: 132fps, 136fps, 135fps
d-i-n: 148fps, 152fps, 156fps

Can you please confirm the magnitude of the effect you saw previously and whether it has rectified itself in drm-intel-nightly?
Comment 12 Chris Wilson 2013-11-21 11:58:35 UTC
I should note that offscreen rendering we get 187fps (vs 155fps onscreen), which is coincidentally the same magnitude as the reported regression...
Comment 13 Chris Wilson 2013-11-21 12:01:43 UTC
And to further complete the puzzle, onscreen rendering but keeping the backbuffers cached, rather than  using async flips: 177fps.
Comment 14 Chris Wilson 2013-11-21 14:33:32 UTC
Rerunning the benchmark using blits:

50b44a4: 171fps, 193fps, 193fps
0d8ff15: 160fps, 174fps, 175fps
d-i-n: 178fps, 178fps, 177fps
d-i-n+age3: 195fps, 194fps, 193fps.

So ~10% and only slightly larger than hitting uncached surfaces.
Comment 15 Chris Wilson 2013-11-21 14:37:00 UTC
Created attachment 89591 [details] [review]
Prefer age3

Here's the partial revert in question.
Comment 16 meng 2013-11-22 02:40:22 UTC
(In reply to comment #15)
With above patch, the regression of the case was fixed
(-dinq)git-f671d1                         151,151,150,       
(-ding)git-f671d1 with age3 patch         186,185,185
Comment 17 Daniel Vetter 2013-11-25 10:07:09 UTC
commit c51e9701c4ad68d87baecefad6c58d051574f848
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Nov 22 10:37:53 2013 +0000

    drm/i915: Prefer setting PTE cache age to 3


... merged to -fixes.
Comment 18 meng 2013-11-26 01:15:23 UTC
Verified it.
Comment 19 Jari Tahvanainen 2016-12-07 16:27:42 UTC
Closing old verified+fixed.


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.