diff options
author | Kevin DuBois <kevindubois@google.com> | 2022-05-02 20:30:10 +0000 |
---|---|---|
committer | TreeHugger Robot <treehugger-gerrit@google.com> | 2022-05-06 20:21:40 +0000 |
commit | ea2685cf1b60a2ed1cd034cf620bfb15e634bb7a (patch) | |
tree | 05a5fb71c8c68407d91d2fc7d01d4e27d730b00c /mali_kbase/mali_kbase_mem_linux.c | |
parent | d6c306f413a32d460c310aab5c3f7f5449ed5599 (diff) | |
download | gpu-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.c | 8 |
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); |