GVT Scheduler
Julian Stecklina
julian.stecklina at cyberus-technology.de
Tue Sep 29 13:03:31 UTC 2020
Hello everyone!
I'm currently trying to understand the GVT scheduler (gvt/scheduler.c) better.
I'm specifically trying to understand how the shadow_context_status_change()
callback is synchronized with other code that modifies the current_workload
array. I would be very grateful, if someone has a couple of minutes to shed some
light here. :)
Can shadow_context_status_change[1] run concurrently with other code that
modifies scheduler->current_workload[ring_id]? I see other functions holding
gvt->sched_lock, but the callback does not.
If sched_lock is not required in the callback, what currently prevents
concurrent exection, e.g. with workload_thread()?
Thanks!
Julian
[1]
https://elixir.bootlin.com/linux/v5.9-rc7/source/drivers/gpu/drm/i915/gvt/scheduler.c#L268
More information about the intel-gvt-dev
mailing list