Skip to content

WIP: freedreno/ir3: sched hacks

Rob Clark requested to merge robclark/mesa:wip/sched-hacks into main

Shader-db figures from open db:

total instructions in shared programs: 168455 -> 159914 (-5.07%)
instructions in affected programs: 147468 -> 138927 (-5.79%)
helped: 618
HURT: 165
total nops in shared programs: 71235 -> 62694 (-11.99%)
nops in affected programs: 64768 -> 56227 (-13.19%)
helped: 618
HURT: 165
total full in shared programs: 7960 -> 7762 (-2.49%)
full in affected programs: 3382 -> 3184 (-5.85%)
helped: 334
HURT: 160
total (ss) in shared programs: 3994 -> 3818 (-4.41%)
(ss) in affected programs: 2261 -> 2085 (-7.78%)
helped: 100
HURT: 63
total (sy) in shared programs: 1766 -> 1722 (-2.49%)
(sy) in affected programs: 615 -> 571 (-7.15%)
helped: 44
HURT: 21

(not sure if the (ss) and (sy) stats help, I guess it would be better to somehow measure inverse of distance between a sync flag and the instruction that caused it to be needed.. also not sure why this helped those stats)

for manhattan:

total instructions in shared programs: 35498 -> 32401 (-8.72%)
instructions in affected programs: 31258 -> 28161 (-9.91%)
helped: 195
HURT: 27
total nops in shared programs: 12736 -> 9639 (-24.32%)
nops in affected programs: 11729 -> 8632 (-26.40%)
helped: 195
HURT: 27
total full in shared programs: 2422 -> 2319 (-4.25%)
full in affected programs: 852 -> 749 (-12.09%)
helped: 69
HURT: 30
total (ss) in shared programs: 490 -> 442 (-9.80%)
(ss) in affected programs: 315 -> 267 (-15.24%)
helped: 48
HURT: 0
total (sy) in shared programs: 224 -> 234 (4.46%)
(sy) in affected programs: 40 -> 50 (25.00%)
helped: 0
HURT: 10

Overall the benefit in manhattan is small (couple percent).. which is less than I expected. Possibly it just isn't helping the right shaders. Or perhaps the hurt in (sy) offsets some of the gains. I'm still trying to understand this. At any rate, I didn't find any benchmark that was hurt by this patchset.

Merge request reports