[PATCH] drm/amdkfd: increase max number of queues per process
Eric Huang
jinhuieric.huang at amd.com
Mon Mar 24 21:07:16 UTC 2025
On 2025-03-24 15:32, Alex Deucher wrote:
> On Mon, Mar 24, 2025 at 1:26 PM Eric Huang <jinhuieric.huang at amd.com> wrote:
>> kfdtest KFDQMTest.OverSubscribeCpQueues with multiple
>> gpu mode fails on gfx v9.4.3+NPS4+CPX which has 64 gpu
>> nodes, the queues created are 65x64=4160, but the number
>> 1024 0f KFD_MAX_NUM_OF_QUEUES_PER_PROCESS is not enough
>> and test fails at function find_available_queue_slot().
>> So increasing the nubmer will make the test passed.
>>
>> Signed-off-by: Eric Huang <jinhuieric.huang at amd.com>
>> ---
>> drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
>> index f6aedf69c644..054a78207ffe 100644
>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_priv.h
>> @@ -94,7 +94,7 @@
>> ((typeof(ptr_to_struct)) kzalloc(sizeof(*ptr_to_struct), GFP_KERNEL))
>>
>> #define KFD_MAX_NUM_OF_PROCESSES 512
>> -#define KFD_MAX_NUM_OF_QUEUES_PER_PROCESS 1024
>> +#define KFD_MAX_NUM_OF_QUEUES_PER_PROCESS 4160
> Doesn't this limit have more to do with the number of doorbells you
> can fit into a 4K page? If you only allocate 4K for doorbells how can
> you increase this?
The doorbells size is allocated dynamically as multiple pages based on
KFD_MAX_NUM_OF_QUEUES_PER_PROCESS in KFD. Currently with 1024 of this
macro 2 pages are allocated, and after changing to 4160, 9 pages will be
allocated. Please refer in function kfd_allocate_process_doorbells().
Thanks,
Eric
>
> Alex
>
>> /*
>> * Size of the per-process TBA+TMA buffer: 2 pages
>> --
>> 2.34.1
>>
More information about the amd-gfx
mailing list