mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-23 18:16:01 +03:00
Each submitted job has held a reference to the channel where the job runs. This is not necessary: all that the refs do is prevent the channel from getting freed before the jobs are done in case the channel file is closed early. However, that is already taken care of, so remove the per-job get/put pair. The channel closure path needs to unbind the channel from its tsg if that hasn't done by the channel's user. Unbind gets the channel off the runlist and forces all fences to expire, then enqueues the channel for final job cleanup. No jobs can outlive this. Delete also the extra get/put pair in job cleanup. The caller (either the channel worker thread or the submit path in case of deterministic channels) will always hold a reference. Jira NVGPU-4548 Change-Id: I3a01759e1b2caf66c46cff19f6557645489ca8f4 Signed-off-by: Konsta Hölttä <kholtta@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2322541 (cherry picked from commit 8af6260b8fcfd7bf393f50addb681b5353cbae38) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2324255 Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
77 KiB
77 KiB