[PATCH 1/2] drm/amdkfd: Add queue to MES if it becomes active

Eric Huang jinhuieric.huang at amd.com
Thu Jun 16 14:49:36 UTC 2022


Does it break the case of q->gws with q->properties.is_active == true?

Regards,
Eric

On 2022-06-15 17:56, Philip Yang wrote:
> We remove the user queue from MES scheduler to update queue properties.
> If the queue becomes active after updating, add the user queue to MES
> scheduler, to be able to handle command packet submission.
>
> Signed-off-by: Philip Yang <Philip.Yang at amd.com>
> ---
>   drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> index e1797657b04c..67ae5b6385a2 100644
> --- a/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_device_queue_manager.c
> @@ -866,8 +866,10 @@ static int update_queue(struct device_queue_manager *dqm, struct queue *q,
>   	 * dqm->active_queue_count to determine whether a new runlist must be
>   	 * uploaded.
>   	 */
> -	if (q->properties.is_active && !prev_active) {
> -		increment_queue_count(dqm, &pdd->qpd, q);
> +	if (q->properties.is_active) {
> +		add_queue = true;
> +		if (!prev_active)
> +			increment_queue_count(dqm, &pdd->qpd, q);
>   	} else if (!q->properties.is_active && prev_active) {
>   		decrement_queue_count(dqm, &pdd->qpd, q);
>   	} else if (q->gws && !q->properties.is_gws) {



More information about the amd-gfx mailing list