summaryrefslogtreecommitdiff
path: root/mali_kbase/mali_kbase_mem_linux.c
diff options
context:
space:
mode:
authorKevin DuBois <kevindubois@google.com>2022-05-02 20:30:10 +0000
committerTreeHugger Robot <treehugger-gerrit@google.com>2022-05-06 20:21:40 +0000
commitea2685cf1b60a2ed1cd034cf620bfb15e634bb7a (patch)
tree05a5fb71c8c68407d91d2fc7d01d4e27d730b00c /mali_kbase/mali_kbase_mem_linux.c
parentd6c306f413a32d460c310aab5c3f7f5449ed5599 (diff)
downloadgpu-ea2685cf1b60a2ed1cd034cf620bfb15e634bb7a.tar.gz
mali_kbase: use rt_mutex for CSF lock
The csf lock is needed by the pending submission worker in some frame hotpaths. This lock also protects context queue management, including some memory operations. Using rt_mutex should reduce the amount of priority inversion for pending_submission_worker. Bug: 228073103 Bug: 229867581 Test: jank test script comparison Change-Id: I8c9505bc596cc05764e9772f855ac0241016e7c4
Diffstat (limited to 'mali_kbase/mali_kbase_mem_linux.c')
-rw-r--r--mali_kbase/mali_kbase_mem_linux.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/mali_kbase/mali_kbase_mem_linux.c b/mali_kbase/mali_kbase_mem_linux.c
index 7409ca0..e7c5fcc 100644
--- a/mali_kbase/mali_kbase_mem_linux.c
+++ b/mali_kbase/mali_kbase_mem_linux.c
@@ -2912,9 +2912,9 @@ int kbase_context_mmap(struct kbase_context *const kctx,
case PFN_DOWN(BASEP_MEM_CSF_USER_IO_PAGES_HANDLE) ...
PFN_DOWN(BASE_MEM_COOKIE_BASE) - 1: {
kbase_gpu_vm_unlock(kctx);
- mutex_lock(&kctx->csf.lock);
+ rt_mutex_lock(&kctx->csf.lock);
err = kbase_csf_cpu_mmap_user_io_pages(kctx, vma);
- mutex_unlock(&kctx->csf.lock);
+ rt_mutex_unlock(&kctx->csf.lock);
goto out;
}
#endif
@@ -3356,9 +3356,9 @@ static void kbase_csf_user_io_pages_vm_close(struct vm_area_struct *vma)
else
reset_prevented = true;
- mutex_lock(&kctx->csf.lock);
+ rt_mutex_lock(&kctx->csf.lock);
kbase_csf_queue_unbind(queue, is_process_exiting(vma));
- mutex_unlock(&kctx->csf.lock);
+ rt_mutex_unlock(&kctx->csf.lock);
if (reset_prevented)
kbase_reset_gpu_allow(kbdev);