drm/amdgpu: wake up scheduler only when neccessary
Signed-off-by: Christian König <christian.koenig@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
This commit is contained in:
parent
062c7fb3eb
commit
88079006dc
|
@ -27,6 +27,8 @@
|
|||
#include <drm/drmP.h>
|
||||
#include "gpu_scheduler.h"
|
||||
|
||||
static void amd_sched_wakeup(struct amd_gpu_scheduler *sched);
|
||||
|
||||
/* Initialize a given run queue struct */
|
||||
static void amd_sched_rq_init(struct amd_sched_rq *rq)
|
||||
{
|
||||
|
@ -209,7 +211,7 @@ static bool amd_sched_entity_in(struct amd_sched_job *job)
|
|||
|
||||
/* first job wakes up scheduler */
|
||||
if (first)
|
||||
wake_up_interruptible(&job->sched->wait_queue);
|
||||
amd_sched_wakeup(job->sched);
|
||||
|
||||
return added;
|
||||
}
|
||||
|
@ -249,6 +251,15 @@ static bool amd_sched_ready(struct amd_gpu_scheduler *sched)
|
|||
sched->hw_submission_limit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wake up the scheduler when it is ready
|
||||
*/
|
||||
static void amd_sched_wakeup(struct amd_gpu_scheduler *sched)
|
||||
{
|
||||
if (amd_sched_ready(sched))
|
||||
wake_up_interruptible(&sched->wait_queue);
|
||||
}
|
||||
|
||||
/**
|
||||
* Select next entity containing real IB submissions
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue