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