RE: [PATCH 092/459] drm/amdgpu: add ib preemption status in amdgpu_job

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I sent out a separate patch to add job->preamble_status back.

Regards,
Jack

-----Original Message-----
From: Koenig, Christian <Christian.Koenig@xxxxxxx> 
Sent: Tuesday, June 18, 2019 5:03 PM
To: Xiao, Jack <Jack.Xiao@xxxxxxx>; Alex Deucher <alexdeucher@xxxxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx
Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Zhang, Hawking <Hawking.Zhang@xxxxxxx>
Subject: Re: [PATCH 092/459] drm/amdgpu: add ib preemption status in amdgpu_job

Yeah thought so, cause that would break immediately and won't work at all.

It must be something like a merge or rebase artifact.

What's the best way to fix that up? In other words how should it look like?

Christian.

Am 18.06.19 um 10:32 schrieb Xiao, Jack:
> In original patch, there is no deletion on job->preamble_status.
>
> Regards,
> Jack
>
> -----Original Message-----
> From: Christian König <ckoenig.leichtzumerken@xxxxxxxxx>
> Sent: Tuesday, June 18, 2019 4:04 PM
> To: Alex Deucher <alexdeucher@xxxxxxxxx>; 
> amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Cc: Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Xiao, Jack 
> <Jack.Xiao@xxxxxxx>; Zhang, Hawking <Hawking.Zhang@xxxxxxx>
> Subject: Re: [PATCH 092/459] drm/amdgpu: add ib preemption status in 
> amdgpu_job
>
> Am 17.06.19 um 21:10 schrieb Alex Deucher:
>> From: Jack Xiao <Jack.Xiao@xxxxxxx>
>>
>> Add ib preemption status in amdgpu_job, so that ring level function 
>> can detect preemption and program for resuming it.
>>
>> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>
>> Reviewed-by: Hawking Zhang <Hawking.Zhang@xxxxxxx>
>> Signed-off-by: Jack Xiao <Jack.Xiao@xxxxxxx>
>> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
>> ---
>>    drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c  | 2 +-
>>    drivers/gpu/drm/amd/amdgpu/amdgpu_job.h | 3 +++
>>    2 files changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
>> index e15531bfcd47..90cc0841b564 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ib.c
>> @@ -208,7 +208,7 @@ int amdgpu_ib_schedule(struct amdgpu_ring *ring, 
>> unsigned num_ibs,
>>    
>>    	skip_preamble = ring->current_ctx == fence_ctx;
>>    	if (job && ring->funcs->emit_cntxcntl) {
>> -		status |= job->preamble_status;
>> +		status |= job->preemption_status;
> That actually looks completely incorrect to me since it breaks the old status handling.
>
> Christian.
>
>>    		amdgpu_ring_emit_cntxcntl(ring, status);
>>    	}
>>    
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h
>> b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h
>> index e1b46a6703de..51e62504c279 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.h
>> @@ -29,6 +29,8 @@
>>    #define AMDGPU_PREAMBLE_IB_PRESENT_FIRST    (1 << 1)
>>    /* bit set means context switch occured */
>>    #define AMDGPU_HAVE_CTX_SWITCH              (1 << 2)
>> +/* bit set means IB is preempted */
>> +#define AMDGPU_IB_PREEMPTED                 (1 << 3)
>>    
>>    #define to_amdgpu_job(sched_job)		\
>>    		container_of((sched_job), struct amdgpu_job, base) @@ -45,6 
>> +47,7 @@ struct amdgpu_job {
>>    	struct amdgpu_ib	*ibs;
>>    	struct dma_fence	*fence; /* the hw fence */
>>    	uint32_t		preamble_status;
>> +	uint32_t                preemption_status;
>>    	uint32_t		num_ibs;
>>    	void			*owner;
>>    	bool                    vm_needs_flush;

_______________________________________________
amd-gfx mailing list
amd-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/amd-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux