On 11/25/2015 1:00 PM, Wang, Zhi A wrote:
Another question about EXECLIST is: Can a preemption happen between element switch? I know this is beyond the scope of i915 a little. I'm just curious if it's possible. Let's say we have context A B C At first, we submit context A B in one ELSP write. Then, we submit context C in another ELSP write at some time. If context A or B is running and gets preempted, then there will be CSB.preempted in CSB buffer. This is the normal behavior. I'm wondering that if there is any possibility that a preemption can happen between the two elements. Then the CSB should look like: [CSB 0 idle-to-active] [CSB 1 CTX A element_switch/context_complete] [CSB 2 CTX C active-to-idle/context_complete] Is it possible?
I would expect to always have a preempted event in the CSB, even in the remote case that A already completed and B hasn't started; there was an active execlist and it has been replaced by a new one:
[CSB 0 idle-to-active] [CSB 1 CTX A element_switch/context_complete] [CSB 2 preempted ] [CSB 3 CTX C active-to-idle/context_complete] _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx