mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 19:31:42 -04:00
drm/amdkfd: Disable MQD queue priority
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 <andrew.martin@amd.com> Reviewed-by: Felix Kuehling <felix.kuehling@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
committed by
Alex Deucher
parent
1b38a87b8f
commit
73463e26f7
@@ -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; */
|
||||
}
|
||||
|
||||
static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user