mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
Merge branch 'drm-fixes-4.14' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
Single amdgpu regression fix. * 'drm-fixes-4.14' of git://people.freedesktop.org/~agd5f/linux: Revert "drm/amdgpu: discard commands of killed processes"
This commit is contained in:
commit
3eea56cc5a
@ -205,32 +205,17 @@ void amd_sched_entity_fini(struct amd_gpu_scheduler *sched,
|
|||||||
struct amd_sched_entity *entity)
|
struct amd_sched_entity *entity)
|
||||||
{
|
{
|
||||||
struct amd_sched_rq *rq = entity->rq;
|
struct amd_sched_rq *rq = entity->rq;
|
||||||
int r;
|
|
||||||
|
|
||||||
if (!amd_sched_entity_is_initialized(sched, entity))
|
if (!amd_sched_entity_is_initialized(sched, entity))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The client will not queue more IBs during this fini, consume existing
|
* The client will not queue more IBs during this fini, consume existing
|
||||||
* queued IBs or discard them on SIGKILL
|
* queued IBs
|
||||||
*/
|
*/
|
||||||
if ((current->flags & PF_SIGNALED) && current->exit_code == SIGKILL)
|
wait_event(sched->job_scheduled, amd_sched_entity_is_idle(entity));
|
||||||
r = -ERESTARTSYS;
|
|
||||||
else
|
|
||||||
r = wait_event_killable(sched->job_scheduled,
|
|
||||||
amd_sched_entity_is_idle(entity));
|
|
||||||
amd_sched_rq_remove_entity(rq, entity);
|
amd_sched_rq_remove_entity(rq, entity);
|
||||||
if (r) {
|
|
||||||
struct amd_sched_job *job;
|
|
||||||
|
|
||||||
/* Park the kernel for a moment to make sure it isn't processing
|
|
||||||
* our enity.
|
|
||||||
*/
|
|
||||||
kthread_park(sched->thread);
|
|
||||||
kthread_unpark(sched->thread);
|
|
||||||
while (kfifo_out(&entity->job_queue, &job, sizeof(job)))
|
|
||||||
sched->ops->free_job(job);
|
|
||||||
|
|
||||||
}
|
|
||||||
kfifo_free(&entity->job_queue);
|
kfifo_free(&entity->job_queue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user