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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to