[AMD Official Use Only - AMD Internal Distribution Only]

Greetings @Kuehling, Felix

> Please remove the commented out lines here and in the other files. With that
> fixed, the patch is
>
> Reviewed-by: Felix Kuehling <[email protected]>

Thanks, will do!

One love.

> -----Original Message-----
> From: Kuehling, Felix <[email protected]>
> Sent: Friday, February 13, 2026 10:59 AM
> To: Martin, Andrew <[email protected]>; amd-
> [email protected]
> Cc: Cornwall, Jay <[email protected]>; Greathouse, Joseph
> <[email protected]>
> Subject: Re: [PATCH v2] drm/amdkfd: Disable MQD queue priority
>
>
> On 2026-02-12 14:42, Andrew Martin wrote:
> > This solves a priority inversion issue, caused by the language runtime
> > making high-priority queues wait for activity on lower-priority
> > queues.
> >
> > Signed-off-by: Andrew Martin <[email protected]>
> > ---
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c   | 2 +-
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c   | 2 +-
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c   | 2 +-
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c   | 2 +-
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c | 2 +-
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c    | 2 +-
> >   drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c    | 2 +-
> >   7 files changed, 7 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
> > index 90ac3a30e81d..76483d91af98 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_cik.c
> > @@ -70,7 +70,7 @@ static void update_cu_mask(struct mqd_manager *mm,
> void *mqd,
> >   static void set_priority(struct cik_mqd *m, struct queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
>
> Please remove the commented out lines here and in the other files. With that
> fixed, the patch is
>
> Reviewed-by: Felix Kuehling <[email protected]>
>
>
> >   }
> >
> >   static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm, diff
> > --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c
> > index 97055f808d4a..0186b3de67c0 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c
> > @@ -70,7 +70,7 @@ static void update_cu_mask(struct mqd_manager *mm,
> void *mqd,
> >   static void set_priority(struct v10_compute_mqd *m, struct
> queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
> >   }
> >
> >   static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm, diff
> > --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c
> > index 7e5a7ab6d0c0..c9e397366782 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c
> > @@ -96,7 +96,7 @@ static void update_cu_mask(struct mqd_manager *mm,
> void *mqd,
> >   static void set_priority(struct v11_compute_mqd *m, struct
> queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
> >   }
> >
> >   static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm, diff
> > --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c
> > index a51f217329db..3bbc2648f51d 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c
> > @@ -77,7 +77,7 @@ static void update_cu_mask(struct mqd_manager *mm,
> void *mqd,
> >   static void set_priority(struct v12_compute_mqd *m, struct
> queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
> >   }
> >
> >   static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm, diff
> > --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c
> > index d0776ba2cc99..0d6b601962eb 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c
> > @@ -131,7 +131,7 @@ static void update_cu_mask(struct mqd_manager
> *mm, void *mqd,
> >   static void set_priority(struct v12_1_compute_mqd *m, struct
> queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
> >   }
> >
> >   static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm, diff
> > --git a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
> > index dcf4bbfa641b..bc4ceba35908 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c
> > @@ -106,7 +106,7 @@ static void update_cu_mask(struct mqd_manager
> *mm, void *mqd,
> >   static void set_priority(struct v9_mqd *m, struct queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
> >   }
> >
> >   static bool mqd_on_vram(struct amdgpu_device *adev) diff --git
> > a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
> > b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
> > index 09483f0862d4..e63ef6442b35 100644
> > --- a/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
> > +++ b/drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c
> > @@ -73,7 +73,7 @@ static void update_cu_mask(struct mqd_manager *mm,
> void *mqd,
> >   static void set_priority(struct vi_mqd *m, struct queue_properties *q)
> >   {
> >     m->cp_hqd_pipe_priority = pipe_priority_map[q->priority];
> > -   m->cp_hqd_queue_priority = q->priority;
> > +   /* m->cp_hqd_queue_priority = q->priority; */
> >   }
> >
> >   static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,

Reply via email to