Bug 103940

Summary: 2% perf drop in SynMark PSPom test from "intel/fs: Be more explicit about our placement of [un]zip"
Product: Mesa Reporter: Eero Tamminen <eero.t.tamminen>
Component: Drivers/DRI/i965Assignee: Intel 3D Bugs Mailing List <intel-3d-bugs>
Status: VERIFIED FIXED QA Contact: Intel 3D Bugs Mailing List <intel-3d-bugs>
Severity: normal    
Priority: medium    
Version: git   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Eero Tamminen 2017-11-27 15:47:09 UTC
Following commit was bisected (on SKL GT2):
-------------------------------------------------------------
commit 0d905597fe2997c89022c76cdf84dc4fba5eb055
Author:     Jason Ekstrand <jason.ekstrand@intel.com>
AuthorDate: Wed Sep 6 18:31:11 2017 -0700
Commit:     Jason Ekstrand <jason.ekstrand@intel.com>
CommitDate: Tue Nov 7 10:37:52 2017 -0800

    intel/fs: Be more explicit about our placement of [un]zip
    
    Before, we were careful to place the zip after the last of the split
    instructions but did unzip on-demand.  This changes things so that the
    unzips go before all of the split instructions and the unzip comes
    explicitly after all the split instructions.  As a side-effect of this
    change, we now emit the split instruction from highest SIMD group to
    lowest instead of low to high.  We could have kept the old behavior, but
    it shouldn't matter and this made the code easier.
    
    Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
    Cc: mesa-stable@lists.freedesktop.org
-------------------------------------------------------------

To be the cause for the SynMark v7 PSPom drop visible on following platforms:
* 2% in BXT J4205, KBL GT3e
* 1-2% on BSW N3050
* 1% on BDW GT2, SKL GT2 & GT4e

This test didn't improve on any other platform and no other test was affected.

(I'm OK if this is closed as WONTFIX, I filed this more to document the perf change.)
Comment 1 Eero Tamminen 2018-05-28 14:24:30 UTC
Bisected commit changed the instruction emit order, which caused GPU hangs with SIMD32.

Following patch fixes the hang / restores the order:
https://patchwork.freedesktop.org/patch/225334/

Regardless of whether it fixes the small perf regression in this bug, I think this can be closed after that commit is in.
Comment 2 Eero Tamminen 2019-07-12 11:16:33 UTC
(In reply to Eero Tamminen from comment #1)
> Bisected commit changed the instruction emit order, which caused GPU hangs
> with SIMD32.
> 
> Following patch fixes the hang / restores the order:
> https://patchwork.freedesktop.org/patch/225334/
> 
> Regardless of whether it fixes the small perf regression in this bug, I
> think this can be closed after that commit is in.

Regression had improved to previous level already earlier, and the indicated commit went upstream in Jun 28 2018 -> closing as FIXED.

(This test has stable FPS result, but there have actually been small perf changes in this test quite often.  I guess it reacts easily to shader compiler changes.)

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.