diff options
author | Sami Kiminki <skiminki@nvidia.com> | 2015-09-18 08:20:38 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-10-12 11:30:35 -0400 |
commit | 960552df3ef3f270bce64ed00104dce300531369 (patch) | |
tree | a71d048fc18d88010201610397ebf8f0e95d45aa /drivers/gpu/nvgpu/gk20a | |
parent | 8bbc0d7730545ad13e60f3782078fa8c8f9da9ad (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')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/mm_gk20a.c | 3 |
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; |