Quoting Chris Wilson (2018-08-08 19:53:33) > Quoting Tvrtko Ursulin (2018-08-08 13:40:41) > > > > On 07/08/2018 16:02, Chris Wilson wrote: > > > Quoting Tvrtko Ursulin (2018-08-07 10:08:28) > > >> > > >> On 07/08/2018 08:29, Chris Wilson wrote: > > >>> + /* > > >>> + * The active request is now effectively the start of a new client > > >>> + * stream, so give it the equivalent small priority bump to prevent > > >>> + * it being gazumped a second time by another peer. > > >>> + */ > > >>> + if (!(prio & I915_PRIORITY_NEWCLIENT)) { > > >>> + list_move_tail(&active->sched.link, > > >>> + lookup_priolist(engine, > > >>> + prio | I915_PRIORITY_NEWCLIENT)); > > >>> } > > >>> } > > >>> > > >>> > > >> > > >> This sounds fair, I think I'm okay with it. Does it still work well for > > >> mixed media workloads? > > > > > > Grr. Current drm-tip is scoring much much higher in fairness than I > > > remember, and there's no apparent improvement, even little room for > > > possible improvement. When in doubt, blame ksoftirqd ;) > > > > Perhaps previous testing was before direct submission? > > I went back and checked that, unfortunately not that simple. The > influencing factor appears to be the choice of workload. I am seeing > some now that respond favourably (by pure chance selection) but I need > to spend more time to ensure the results are stable, and see if there's > any method to the madness in selection. Early figures, suffering a bit from lack of transparency in the results. (Using a pinned kbl gt4e) TLDR; w/o boosts: busy balancer ('-b busy -R'): Aggregate (normalized) 89.28%; fairness 79.64% w/ boosts: busy balancer ('-b busy -R'): Aggregate (normalized) 108.92%; fairness 64.72% Fairness went down (grumble) but that's a large increase in the multiw-sim throughput. Before: ickle@kabylake:~/intel-gpu-tools$ sudo ./scripts/media-bench.pl -n 306765 -B busy -m -W media_nn_1080p_s1.wsim,media_nn_1080p_s2.wsim,media_nn_1080p_s3.wsim,media_nn_1080p.wsim,media_nn_480p.wsim Workloads: media_nn_1080p_s1.wsim media_nn_1080p_s2.wsim media_nn_1080p_s3.wsim media_nn_1080p.wsim media_nn_480p.wsim Balancers: busy, Target workload duration is 10s. Calibration tolerance is 0.01. Multi-workload mode. Nop calibration is 306765. Evaluating 'media_nn_1080p_s1.wsim'... 10s is 177 workloads. (error=0.000300000000000011) Finding saturation points for 'media_nn_1080p_s1.wsim'... busy balancer ('-b busy -R'): 4 clients (31.844 wps, 17.671 wps single client, score=49.515). busy balancer ('-b busy -R -G'): 4 clients (31.957 wps, 17.667 wps single client, score=49.624). busy balancer ('-b busy -R -d'): 3 clients (31.904 wps, 17.677 wps single client, score=49.581). busy balancer ('-b busy -R -G -d'): 3 clients (32.046 wps, 17.624 wps single client, score=49.67). Evaluating 'media_nn_1080p_s2.wsim'... 10s is 183 workloads. (error=0.00609999999999999) Finding saturation points for 'media_nn_1080p_s2.wsim'... busy balancer ('-b busy -R'): 3 clients (31.984 wps, 18.147 wps single client, score=50.131). busy balancer ('-b busy -R -G'): 3 clients (31.929 wps, 18.058 wps single client, score=49.987). busy balancer ('-b busy -R -d'): 2 clients (32.061 wps, 18.160 wps single client, score=50.221). busy balancer ('-b busy -R -G -d'): 3 clients (31.909 wps, 18.059 wps single client, score=49.968). Evaluating 'media_nn_1080p_s3.wsim'... 10s is 182 workloads. (error=0.00719999999999992) Finding saturation points for 'media_nn_1080p_s3.wsim'... busy balancer ('-b busy -R'): 3 clients (31.957 wps, 18.044 wps single client, score=50.001). busy balancer ('-b busy -R -G'): 3 clients (31.930 wps, 18.134 wps single client, score=50.064). busy balancer ('-b busy -R -d'): 2 clients (32.047 wps, 18.054 wps single client, score=50.101). busy balancer ('-b busy -R -G -d'): 2 clients (31.972 wps, 18.040 wps single client, score=50.012). Evaluating 'media_nn_1080p.wsim'... 10s is 156 workloads. (error=0.00470000000000006) Finding saturation points for 'media_nn_1080p.wsim'... busy balancer ('-b busy -R'): 4 clients (31.957 wps, 15.667 wps single client, score=47.624). busy balancer ('-b busy -R -G'): 4 clients (32.066 wps, 15.684 wps single client, score=47.75). busy balancer ('-b busy -R -d'): 5 clients (32.022 wps, 15.886 wps single client, score=47.908). busy balancer ('-b busy -R -G -d'): 4 clients (31.939 wps, 15.657 wps single client, score=47.596). Evaluating 'media_nn_480p.wsim'... 10s is 337 workloads. (error=0.00820000000000007) Finding saturation points for 'media_nn_480p.wsim'... busy balancer ('-b busy -R'): 5 clients (74.077 wps, 33.412 wps single client, score=107.489). busy balancer ('-b busy -R -G'): 4 clients (73.849 wps, 33.415 wps single client, score=107.264). busy balancer ('-b busy -R -d'): 5 clients (73.357 wps, 33.319 wps single client, score=106.676). busy balancer ('-b busy -R -G -d'): 5 clients (73.540 wps, 33.497 wps single client, score=107.037). Evaluating '-w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s1.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s2.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s3.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_480p.wsim'... 10s is 72 workloads. (error=0.00109999999999992) Finding saturation points for '-w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s1.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s2.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s3.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_480p.wsim'... busy balancer ('-b busy -R'): Aggregate (normalized) 89.28%; fairness 79.64% busy balancer ('-b busy -R -G'): Aggregate (normalized) 89.42%; fairness 79.52% busy balancer ('-b busy -R -d'): Aggregate (normalized) 89.60%; fairness 79.36% busy balancer ('-b busy -R -G -d'): Aggregate (normalized) 89.92%; fairness 79.15% Best balancer is '-b busy -R -G -d' (range=0.000886735101758962). After: ickle@kabylake:~/intel-gpu-tools$ sudo ./scripts/media-bench.pl -n 306765 -B busy -m -W media_nn_1080p_s1.wsim,media_nn_1080p_s2.wsim,media_nn_1080p_s3.wsim,media_nn_1080p.wsim,media_nn_480p.wsim Workloads: media_nn_1080p_s1.wsim media_nn_1080p_s2.wsim media_nn_1080p_s3.wsim media_nn_1080p.wsim media_nn_480p.wsim Balancers: busy, Target workload duration is 10s. Calibration tolerance is 0.01. Multi-workload mode. Nop calibration is 306765. Evaluating 'media_nn_1080p_s1.wsim'... 10s is 177 workloads. (error=0.00180000000000007) Finding saturation points for 'media_nn_1080p_s1.wsim'... busy balancer ('-b busy -R'): 3 clients (31.846 wps, 17.674 wps single client, score=49.52). busy balancer ('-b busy -R -G'): 3 clients (31.929 wps, 17.668 wps single client, score=49.597). busy balancer ('-b busy -R -d'): 3 clients (31.874 wps, 17.620 wps single client, score=49.494). busy balancer ('-b busy -R -G -d'): 3 clients (31.888 wps, 17.676 wps single client, score=49.564). Evaluating 'media_nn_1080p_s2.wsim'... 10s is 181 workloads. (error=0.000799999999999912) Finding saturation points for 'media_nn_1080p_s2.wsim'... busy balancer ('-b busy -R'): 3 clients (31.987 wps, 18.063 wps single client, score=50.05). busy balancer ('-b busy -R -G'): 3 clients (31.938 wps, 18.082 wps single client, score=50.02). busy balancer ('-b busy -R -d'): 3 clients (31.925 wps, 18.060 wps single client, score=49.985). busy balancer ('-b busy -R -G -d'): 2 clients (32.002 wps, 18.087 wps single client, score=50.089). Evaluating 'media_nn_1080p_s3.wsim'... 10s is 182 workloads. (error=0.00779999999999994) Finding saturation points for 'media_nn_1080p_s3.wsim'... busy balancer ('-b busy -R'): 3 clients (32.005 wps, 18.042 wps single client, score=50.047). busy balancer ('-b busy -R -G'): 3 clients (32.013 wps, 18.156 wps single client, score=50.169). busy balancer ('-b busy -R -d'): 3 clients (32.090 wps, 18.079 wps single client, score=50.169). busy balancer ('-b busy -R -G -d'): 2 clients (32.094 wps, 18.038 wps single client, score=50.132). Evaluating 'media_nn_1080p.wsim'... 10s is 156 workloads. (error=0.00459999999999994) Finding saturation points for 'media_nn_1080p.wsim'... busy balancer ('-b busy -R'): 5 clients (32.010 wps, 15.668 wps single client, score=47.678). busy balancer ('-b busy -R -G'): 4 clients (31.922 wps, 15.732 wps single client, score=47.654). busy balancer ('-b busy -R -d'): 3 clients (32.003 wps, 15.634 wps single client, score=47.637). busy balancer ('-b busy -R -G -d'): 4 clients (31.798 wps, 15.634 wps single client, score=47.432). Evaluating 'media_nn_480p.wsim'... 10s is 336 workloads. (error=0.00510000000000002) Finding saturation points for 'media_nn_480p.wsim'... busy balancer ('-b busy -R'): 5 clients (73.326 wps, 33.979 wps single client, score=107.305). busy balancer ('-b busy -R -G'): 5 clients (73.588 wps, 33.410 wps single client, score=106.998). busy balancer ('-b busy -R -d'): 5 clients (73.734 wps, 33.280 wps single client, score=107.014). busy balancer ('-b busy -R -G -d'): 4 clients (73.139 wps, 33.768 wps single client, score=106.907). Evaluating '-w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s1.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s2.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s3.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_480p.wsim'... 10s is 61 workloads. (error=0.00779999999999994) Finding saturation points for '-w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s1.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s2.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p_s3.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_1080p.wsim -w /home/ickle/intel-gpu-tools/benchmarks/wsim/media_nn_480p.wsim'... busy balancer ('-b busy -R'): Aggregate (normalized) 108.92%; fairness 64.72% busy balancer ('-b busy -R -G'): Aggregate (normalized) 109.23%; fairness 64.02% busy balancer ('-b busy -R -d'): Aggregate (normalized) 110.08%; fairness 55.50% busy balancer ('-b busy -R -G -d'): Aggregate (normalized) 108.42%; fairness 55.71% Best balancer is '-b busy -R' (range=0.0547794021204777). -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx