[Mesa-dev] [PATCH] winsys/amdgpu: enlarge buffer_indices_hashlist

Marek Olšák maraeo at gmail.com
Tue Mar 8 23:56:03 UTC 2016


Pushed.

Do you even have push access?

Marek

On Wed, Mar 9, 2016 at 12:50 AM, Marek Olšák <maraeo at gmail.com> wrote:
> 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