gpu: nvgpu: couple runlist domains and nvs

Now that the main nvsched code exists in the nvgpu build, make it
control the runlist domains. As a new nvs domain is created, create the
relevant runlist data too. To support the default domain, create a
default nvs domain at boot.

The scheduling domain code owns the responsibility of domain lifetime,
and runlist domains exist to serve that logic although the RL domains
are directly used by channel and TSG logic. Add refcounting to the
scheduler uapi level to make sure that busy domains (that still have TSG
participants) do not get removed too early.

Adjust error injection sensitive unit tests to match the updated logic.

Jira NVGPU-6425
Jira NVGPU-6427

Change-Id: I1beec97c54c60ad334165b1c0acb5e827c24f2ac
Signed-off-by: Konsta Hölttä <kholtta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2632287
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Konsta Hölttä
2021-11-25 10:33:51 +02:00
committed by mobile promotions
parent 1d14a4412f
commit 632644b44a
12 changed files with 210 additions and 35 deletions

View File

@@ -676,6 +676,7 @@ nvgpu_runlist_unlock_active_runlists
nvgpu_runlist_unlock_runlists
nvgpu_runlist_update
nvgpu_runlist_update_locked
nvgpu_rl_domain_alloc
nvgpu_rwsem_init
nvgpu_rwsem_down_read
nvgpu_rwsem_down_write

View File

@@ -693,6 +693,7 @@ nvgpu_runlist_unlock_active_runlists
nvgpu_runlist_unlock_runlists
nvgpu_runlist_update
nvgpu_runlist_update_locked
nvgpu_rl_domain_alloc
nvgpu_rwsem_init
nvgpu_rwsem_down_read
nvgpu_rwsem_down_write