ir3/postsched: Only prefer tex/sfu if they are soft-ready
Otherwise we schedule an SFU depending on a tex as soon as the tex is scheduled, which is very much not what we want. Note that sstall is helped more than nops are hurt, and the shaders with the largest nop regressions also have sstall helped. However (sy) is also very much helped. total nops in shared programs: 345482 -> 345986 (0.15%) nops in affected programs: 5731 -> 6235 (8.79%) helped: 15 HURT: 81 helped stats (abs) min: 1 max: 9 x̄: 3.27 x̃: 3 helped stats (rel) min: 0.50% max: 16.00% x̄: 8.55% x̃: 10.26% HURT stats (abs) min: 1 max: 72 x̄: 6.83 x̃: 4 HURT stats (rel) min: 0.57% max: 400.00% x̄: 32.50% x̃: 13.16% 95% mean confidence interval for nops value: 3.34 7.16 95% mean confidence interval for nops %-change: 13.07% 39.10% Nops are HURT. total sstall in shared programs: 133804 -> 132381 (-1.06%) sstall in affected programs: 4743 -> 3320 (-30.00%) helped: 68 HURT: 24 helped stats (abs) min: 1 max: 153 x̄: 21.88 x̃: 8 helped stats (rel) min: 1.79% max: 100.00% x̄: 33.20% x̃: 28.00% HURT stats (abs) min: 1 max: 11 x̄: 2.71 x̃: 2 HURT stats (rel) min: 1.02% max: 200.00% x̄: 17.73% x̃: 5.59% 95% mean confidence interval for sstall value: -22.05 -8.89 95% mean confidence interval for sstall %-change: -27.60% -12.22% Sstall are helped. total (ss) in shared programs: 35471 -> 35481 (0.03%) (ss) in affected programs: 462 -> 472 (2.16%) helped: 9 HURT: 15 helped stats (abs) min: 1 max: 2 x̄: 1.11 x̃: 1 helped stats (rel) min: 4.17% max: 33.33% x̄: 14.00% x̃: 7.69% HURT stats (abs) min: 1 max: 3 x̄: 1.33 x̃: 1 HURT stats (rel) min: 1.19% max: 50.00% x̄: 12.27% x̃: 8.33% 95% mean confidence interval for (ss) value: -0.14 0.97 95% mean confidence interval for (ss) %-change: -5.11% 9.94% Inconclusive result (value mean confidence interval includes 0). total (sy) in shared programs: 13522 -> 13288 (-1.73%) (sy) in affected programs: 422 -> 188 (-55.45%) helped: 22 HURT: 1 helped stats (abs) min: 1 max: 21 x̄: 10.68 x̃: 10 helped stats (rel) min: 8.00% max: 94.44% x̄: 56.58% x̃: 56.94% HURT stats (abs) min: 1 max: 1 x̄: 1.00 x̃: 1 HURT stats (rel) min: 25.00% max: 25.00% x̄: 25.00% x̃: 25.00% 95% mean confidence interval for (sy) value: -13.18 -7.17 95% mean confidence interval for (sy) %-change: -65.48% -40.59% (sy) are helped. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13722>
This commit is contained in:
@@ -256,7 +256,7 @@ choose_instr(struct ir3_postsched_ctx *ctx)
|
||||
|
||||
/* Next prioritize expensive instructions: */
|
||||
foreach_sched_node (n, &ctx->dag->heads) {
|
||||
unsigned d = node_delay(ctx, n);
|
||||
unsigned d = node_delay_soft(ctx, n);
|
||||
|
||||
if (d > 0)
|
||||
continue;
|
||||
@@ -269,7 +269,7 @@ choose_instr(struct ir3_postsched_ctx *ctx)
|
||||
}
|
||||
|
||||
if (chosen) {
|
||||
di(chosen->instr, "csp: chose (sfu/tex, hard ready)");
|
||||
di(chosen->instr, "csp: chose (sfu/tex, soft ready)");
|
||||
return chosen->instr;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user