Don't set this directly, make it a parameter of amd_sched_entity_init(). And please split up the patches differently.
First all changes to the scheduler, including the guilty marking. Then the changes to amdgpu. [ML] that way the first patch will break kernel from compiling because you change the interface of entity_init without changing all place Calling this interface I suggest just use one patch -----Original Message----- From: Christian König [mailto:ckoenig.leichtzumer...@gmail.com] Sent: 2017年10月20日 17:09 To: Liu, Monk <monk....@amd.com>; amd-gfx@lists.freedesktop.org Subject: Re: [PATCH 3/5] drm/amdgpu:implement guilty pointer Am 20.10.2017 um 05:33 schrieb Monk Liu: > for user context there will be a guilty pointer in entity that points > to the guilty member of its context, thus we cant track if a given > entity is not from kernel ctx and if it is already marked guilty. > > Change-Id: Ie0a30830d89f52a6c4a514e67206140698a46367 > Signed-off-by: Monk Liu <monk....@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c | 1 + > drivers/gpu/drm/amd/scheduler/gpu_scheduler.h | 1 + > 3 files changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index 774edc1..6a4178b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -744,6 +744,7 @@ struct amdgpu_ctx { > enum amd_sched_priority init_priority; > enum amd_sched_priority override_priority; > struct mutex lock; > + atomic_t guilty; > }; > > struct amdgpu_ctx_mgr { > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > index c184468..d822e95 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ctx.c > @@ -93,6 +93,7 @@ static int amdgpu_ctx_init(struct amdgpu_device *adev, > rq, amdgpu_sched_jobs); > if (r) > goto failed; > + ctx->rings[i].entity.guilty = &ctx->guilty; Don't set this directly, make it a parameter of amd_sched_entity_init(). And please split up the patches differently. First all changes to the scheduler, including the guilty marking. Then the changes to amdgpu. Regards, Christian. > } > > r = amdgpu_queue_mgr_init(adev, &ctx->queue_mgr); diff --git > a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h > b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h > index 1dac7bc..2d59fc5 100644 > --- a/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h > +++ b/drivers/gpu/drm/amd/scheduler/gpu_scheduler.h > @@ -50,6 +50,7 @@ struct amd_sched_entity { > > struct dma_fence *dependency; > struct dma_fence_cb cb; > + atomic_t *guilty; /* points to ctx's guilty */ > }; > > /** _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx