On 04/10/2022 16:13, Ceraolo Spurio, Daniele wrote:
On 10/4/2022 4:14 AM, Tvrtko Ursulin wrote:
On 03/10/2022 13:16, Tvrtko Ursulin wrote:
From: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx>
Patch which added graceful exit for non-persistent contexts missed the
fact it is not enough to set the exiting flag on a context and let the
backend handle it from there.
GuC backend cannot handle it because it runs independently in the
firmware and driver might not see the requests ever again. Patch also
missed the fact some usages of intel_context_is_banned in the GuC
backend
needed replacing with newly introduced intel_context_is_schedulable.
Fix the first issue by calling into backend revoke when we know this is
the last chance to do it. Fix the second issue by replacing
intel_context_is_banned with intel_context_is_schedulable, which should
always be safe since latter is a superset of the former.
v2:
* Just call ce->ops->revoke unconditionally. (Andrzej)
CI is happy - could I get some acks for the GuC backend changes please?
I think we still need to have a longer conversation on the revoking
times, but in the meantime this fixes the immediate concerns, so:
Acked-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@xxxxxxxxx>
Thanks, I've pushed it so should unbreak 6.0 via stable.
For follow up work I am okay either with a fixes 20ms timeout (this was
enough for users which originally reported it), or go with fully
configurable? Latter feels a bit over the top since it would then me a
kconfig and sysfs to align with the normal preempt timeout.
Regards,
Tvrtko