Environment: ---------------------------------------------- Platform: BDW Libdrm: (master)libdrm-2.4.56 Mesa: (master)66decc7efa08ae9c94e4bd11038cfe8b3132d554 Xserver: (master)xorg-server-1.15.99.902-121-g2f5cf9ff9a0f713b7e038636484c77f113a5f10a Xf86_video_intel: (master)2.99.914-8-ga88795c64123e4084044451d8861838ea904abd9 Cairo: (master)f337342c88092a251dc00476c4a9880d1cb90822 Libva: (master)3fddb7f937df4e0e15391bd65ae3c7552ea5b3d7 Libva_intel_driver: (master)82d2ed8d7da3619c0ea467c06604f5626fc0b901 Kernel: (drm-intel-nightly) git-eb2af9 Bug detailed description: --------------------------------------------------- etqw-demo/lightsmark/warsow01/unigine demos/GLBenchmark_2.5.1/GLBenchmark_v2.7.0/3DMMES2_taiji/ hoverjet/Synmark2_v6_(OglFillTexMulti/OglPSBump2/OglPSBump8/OglPSPhong/OglPSPom/OglShMapPcf/ OglShMapVsm/OglTexFilterTri/OglTexMem128/OglTexMem512/OglDeferred) performance reduced 10%~50%. This problem doesn’t exist on IVB/BYT-M/HSW, The problem exists both on gnome-session and Raw X. BTW, after revert bad commit, it can works well. It’s Kernel(drm-intel-next-queued) regression, bisecting show that the first bad commit is: 66bc2cab191816d931f4d660d2f162130dd202b2 Author: Paulo Zanoni <paulo.r.zanoni@intel.com> AuthorDate: Wed Jul 16 17:49:30 2014 -0300 Commit: Daniel Vetter <daniel.vetter@ffwll.ch> CommitDate: Wed Jul 23 07:05:37 2014 +0200 drm/i915: BDW can also detect unclaimed registers Reproduce steps: --------------------------------------------- 1. xinit& 2. vblank_mode=0 ./backend silent 1920x1080
This issue only happened on BDW.
This issue also exists on drm-intel-nightly branch,it's works well on drm-intel-fixes branch.
Created attachment 103983 [details] [review] drm/i915: move string assignments out of fast path
Created attachment 103984 [details] [review] drm/i915: make detecting of unclaimed registers optional
Could you please test the effect performance impact of attached patches separately?
(In reply to comment #5) > Could you please test the effect performance impact of attached patches > separately? Actually best just to test first only: drm/i915: move string assignments out of fast path Then both apply both.
You could also use one of my earlier patches to use raw register access from inside the irq handlers.
Created attachment 103998 [details] [review] drm/i915: Use raw access from inside interrupt handlers Another patch to try, based on what Chris suggested
Have tried the patch:"drm/i915: make detecting of unclaimed registers optional",it's can fixed this issue,other patch doesn't fixed it.
Verified it,fixed commit as below: Libdrm:(master)libdrm-2.4.56-4-g07fead4462b2d537d0c3cae69a09272fc426c59 Mesa:(master)9276ef6f41626307c3da2ed94a77c0d51b6d8efd Xserver:(master)xorg-server-1.15.99.902-121-g2f5cf9ff9a0f713b7e038636 Xf86_video_intel:(master)2.99.914-42-g8e1961e7fc163f3103b2260cca965aef Cairo:master)c7ff9bb32e20679d6da4e8a2856be716e5bd9e12 Libva:(master)3fddb7f937df4e0e15391bd65ae3c7552ea5b3d7 Libva_intel_driver:(master)82d2ed8d7da3619c0ea467c06604f5626fc0b901 kernel:(drm-intel-nightly 2014_08_11)git-ee55e7
Closing old verified.
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.