Quoting Zhang, Xiaolin (2019-07-10 11:04:06) > On 07/09/2019 05:12 PM, Chris Wilson wrote: > > Preempt-to-busy uses a GPU semaphore to enforce an idle-barrier across > > preemption, but mediated gvt does not fully support semaphores. > > > > v2: Fiddle around with the flags and settle on using has-semaphores for > > the core bits so that we retain the ability to preempt our own > > semaphores. > Chris, > With this patch, vgpu guest can boot up successfully with BAT test passed. > But I want to point out there is other GPU hang issue pop up after vgpu > guest boot issue addressed. I am not pretty sure is it related or not. > Basically it is easy to trigger with glxears with vblank_mode 0 and the > GPU hang time is random and the call trace is below: (guest kernel log > is attached in case it is useful.). > [ 1192.680497] Asynchronous wait on fence i915:compiz[1866]:b30 timed > out (hint:intel_atomic_commit_ready+0x0/0x50 [i915]) > [ 1193.512989] hangcheck rcs0 > [ 1193.513650] hangcheck Awake? 4 > [ 1193.514299] hangcheck Hangcheck: 9986 ms ago > [ 1193.515071] hangcheck Reset count: 0 (global 0) > [ 1193.515854] hangcheck Requests: > [ 1193.516410] hangcheck RING_START: 0x00000000 > [ 1193.517138] hangcheck RING_HEAD: 0x00003198 > [ 1193.517876] hangcheck RING_TAIL: 0x00003198 > [ 1193.518611] hangcheck RING_CTL: 0x00000000 > [ 1193.519380] hangcheck RING_MODE: 0x00000200 [idle] > [ 1193.520149] hangcheck RING_IMR: fffffefe > [ 1193.520799] hangcheck ACTHD: 0x00000000_000a6650 > [ 1193.521545] hangcheck BBADDR: 0x00000000_00000000 > [ 1193.522321] hangcheck DMA_FADDR: 0x00000000_00000000 > [ 1193.523392] hangcheck IPEIR: 0x00000000 > [ 1193.524171] hangcheck IPEHR: 0x00000000 > [ 1193.525050] hangcheck Execlist status: 0x00040012 00000003, entries 6 > [ 1193.526049] hangcheck Execlist CSB read 5, write 5, tasklet > queued? no (enabled) > [ 1193.527154] hangcheck Active[0: ring:{start:dff03000, > hwsp:dff661c0, seqno:00012175}, rq: 1b:12178- prio=4097 @ 11649ms: > glxgears[2160] > [ 1193.528852] hangcheck Pending[0] ring:{start:dff03000, > hwsp:dff661c0, seqno:00012175}, rq: 1b:12178- prio=4097 @ 11649ms: > glxgears[2160] > [ 1193.532515] hangcheck Pending[1] ring:{start:dff39000, Based on the above, that would be gvt not responding to the ELSP. Enable tracing and force a dump, you should see the ELSP write with no corresponding ack, and the above shows the engine idle. Perhaps most intriguing is RING_START/CTL being off, but that can happen when idle so ~o~ -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx