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
