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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx