On 20/04/2017 15:52, Chris Wilson wrote:
On Thu, Apr 20, 2017 at 01:29:11PM +0100, Tvrtko Ursulin wrote:
+ wrk->nr_bb[engine]++;
+
+ if (engine == VCS && balance) {
+ engine = balance(wrk, w);
+ wrk->nr_bb[engine]++;
+ b = &w->b[engine - VCS1];
+
+ if (flags & SEQNO)
+ update_bb_seqno(b, engine,
+ ++wrk->seqno[engine]);
+ }
+
+ if (w->duration.min != w->duration.max) {
+ unsigned int d = get_duration(&w->duration);
+ unsigned long offset;
+
+ offset = ALIGN(b->bb_sz - get_bb_sz(d),
+ 2 * sizeof(uint32_t));
+ b->eb.batch_start_offset = offset;
+ }
+
+ gem_execbuf(fd, &b->eb);
Likely double counting wrk->nr_bb. I suggest placing it next to the
gem_execbuf().
Just convenience in balancing mode so that nr(VCS) = nr(VCS1) +
nr(VCS2). Also from a different angle, if the sum does not hold, that
means workload had auto-balancing and explicit VCS1/2 batches. It's only
used to print out the stats at the end of the run.
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx