OSDN Git Service

drm/scheduler: improve job distribution with multiple queues
authorNirmoy Das <nirmoy.aiemd@gmail.com>
Thu, 25 Jun 2020 12:07:23 +0000 (14:07 +0200)
committerChristian König <christian.koenig@amd.com>
Fri, 26 Jun 2020 12:16:29 +0000 (14:16 +0200)
commitd41a39dda1407ff50c7c4bfbd307c188f1ae364b
treef668464bee4abac9f7f2f5ff445b80ad499acda0
parent0dc9b286b8d2c219a55f6ad05d144aa4da495e97
drm/scheduler: improve job distribution with multiple queues

This patch uses score to select a new drm scheduler for better
loadbalance between multiple drm schedulers instead of num_jobs.

Below are test results after running amdgpu_test for ~10 times.

Before this patch:

sched_name     num of many times it got schedule
=========      ==================================
sdma0          1463
sdma1          198
comp_1.0.1     280

After this patch:

sched_name     num of many times it got schedule
=========      ==================================
sdma0          925
sdma1          928
comp_1.0.1     177
comp_1.1.1     44
comp_1.2.1     43
comp_1.3.1     44

Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Link: https://patchwork.freedesktop.org/patch/373000/
Signed-off-by: Christian König <christian.koenig@amd.com>
drivers/gpu/drm/scheduler/sched_entity.c
drivers/gpu/drm/scheduler/sched_main.c
include/drm/gpu_scheduler.h