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

Reply via email to