[Mesa-dev] [PATCH] winsys/amdgpu: enlarge buffer_indices_hashlist
Marek Olšák
maraeo at gmail.com
Tue Mar 8 23:50:54 UTC 2016
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Tue, Mar 8, 2016 at 4:01 PM, Bas Nieuwenhuizen
<bas at basnieuwenhuizen.nl> wrote:
> Enlarge the buffer hashlist to prevent large numbers of misses
> due to adding more buffers than can be cached in the hashlist.
>
> The game I tested had CS's with up to 1500 buffers and the overhead
> of amdgpu_lookup_buffer for various sizes was:
>
> 4096 1.97% (new value)
> 2048 4.37%
> 1024 6.92%
> 512 9.47% (old value)
>
> (percentage of CPU usage in render thread as determined by perf)
>
> The time spent in amdgpu_add_buffer self is ~4.2% in all cases and
> for 4096 the time needed to clear the hashlist is still < 0.10%,
> so I am not expecting significant regressions.
>
> Signed-off-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
> ---
> src/gallium/winsys/amdgpu/drm/amdgpu_cs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.h b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.h
> index 6ad3cdd..a2fb44a 100644
> --- a/src/gallium/winsys/amdgpu/drm/amdgpu_cs.h
> +++ b/src/gallium/winsys/amdgpu/drm/amdgpu_cs.h
> @@ -76,7 +76,7 @@ struct amdgpu_cs {
> uint8_t *flags;
> struct amdgpu_cs_buffer *buffers;
>
> - int buffer_indices_hashlist[512];
> + int buffer_indices_hashlist[4096];
>
> uint64_t used_vram;
> uint64_t used_gart;
> --
> 2.7.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list