summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
diff options
context:
space:
mode:
authorSami Kiminki <skiminki@nvidia.com>2015-09-18 08:20:38 -0400
committerTerje Bergstrom <tbergstrom@nvidia.com>2015-10-12 11:30:35 -0400
commit960552df3ef3f270bce64ed00104dce300531369 (patch)
treea71d048fc18d88010201610397ebf8f0e95d45aa /drivers/gpu/nvgpu/gk20a/mm_gk20a.c
parent8bbc0d7730545ad13e60f3782078fa8c8f9da9ad (diff)
nvgpu: gk20a: Optimize vm_put_buffers for zero buffers
Return immediately in case there are no buffers to put. This skips acquiring mutexes and map batch start/finish overheads. Bug 1614735 Bug 1623949 Bug 1660392 Change-Id: Ief04e36d995e65c1510496c17cb3f5bb90486c69 Signed-off-by: Sami Kiminki <skiminki@nvidia.com> Reviewed-on: http://git-master/r/815376 Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com> Tested-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/mm_gk20a.c')
-rw-r--r--drivers/gpu/nvgpu/gk20a/mm_gk20a.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
index 334f251c..4b06ff3c 100644
--- a/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
+++ b/drivers/gpu/nvgpu/gk20a/mm_gk20a.c
@@ -827,6 +827,9 @@ void gk20a_vm_put_buffers(struct vm_gk20a *vm,
827 int i; 827 int i;
828 struct vm_gk20a_mapping_batch batch; 828 struct vm_gk20a_mapping_batch batch;
829 829
830 if (num_buffers == 0)
831 return;
832
830 mutex_lock(&vm->update_gmmu_lock); 833 mutex_lock(&vm->update_gmmu_lock);
831 gk20a_vm_mapping_batch_start(&batch); 834 gk20a_vm_mapping_batch_start(&batch);
832 vm->kref_put_batch = &batch; 835 vm->kref_put_batch = &batch;