<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p style="font-family:Arial;font-size:11pt;color:#0078D7;margin:5pt;" align="Left">
[AMD Official Use Only - Internal Distribution Only]<br>
</p>
<br>
<div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
That said, it would be easier for me to merge through the AMD tree since a relatively big AMD feature depends on it. Not sure how much conflict potential there is if this goes through the AMD tree.<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Alex</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div id="appendonsend"></div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> amd-gfx <amd-gfx-bounces@lists.freedesktop.org> on behalf of Deucher, Alexander <Alexander.Deucher@amd.com><br>
<b>Sent:</b> Monday, April 26, 2021 3:24 PM<br>
<b>To:</b> Christian König <ckoenig.leichtzumerken@gmail.com><br>
<b>Cc:</b> amd-gfx list <amd-gfx@lists.freedesktop.org>; Sun, Roy <Roy.Sun@amd.com>; Nieto, David M <David.Nieto@amd.com><br>
<b>Subject:</b> Re: [PATCH 1/2] drm/scheduler: Change scheduled fence track</font>
<div> </div>
</div>
<style type="text/css" style="display:none">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
<div dir="ltr">
<p align="Left" style="font-family:Arial; font-size:11pt; color:#0078D7; margin:5pt">
[AMD Official Use Only - Internal Distribution Only]<br>
</p>
<br>
<div>
<p align="Left" style="font-family:Arial; font-size:11pt; color:#0078D7; margin:5pt">
[AMD Official Use Only - Internal Distribution Only]<br>
</p>
<br>
<div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
No objections from me.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Thanks!</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
Alex</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<div id="x_appendonsend"></div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="x_divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> Christian König <ckoenig.leichtzumerken@gmail.com><br>
<b>Sent:</b> Monday, April 26, 2021 2:49 AM<br>
<b>To:</b> Deucher, Alexander <Alexander.Deucher@amd.com><br>
<b>Cc:</b> Nieto, David M <David.Nieto@amd.com>; Sun, Roy <Roy.Sun@amd.com>; amd-gfx list <amd-gfx@lists.freedesktop.org><br>
<b>Subject:</b> Re: [PATCH 1/2] drm/scheduler: Change scheduled fence track</font>
<div> </div>
</div>
<div class="x_BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="x_PlainText">Hey Alex,<br>
<br>
any objections that we merge those two patches through drm-misc-next?<br>
<br>
Thanks,<br>
Christian.<br>
<br>
Am 26.04.21 um 08:27 schrieb Roy Sun:<br>
> Update the timestamp of scheduled fence on HW<br>
> completion of the previous fences<br>
><br>
> This allow more accurate tracking of the fence<br>
> execution in HW<br>
><br>
> Signed-off-by: David M Nieto <david.nieto@amd.com><br>
> Signed-off-by: Roy Sun <Roy.Sun@amd.com><br>
> ---<br>
> drivers/gpu/drm/scheduler/sched_main.c | 12 ++++++++++--<br>
> 1 file changed, 10 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/drivers/gpu/drm/scheduler/sched_main.c b/drivers/gpu/drm/scheduler/sched_main.c<br>
> index 92d8de24d0a1..f8e39ab0c41b 100644<br>
> --- a/drivers/gpu/drm/scheduler/sched_main.c<br>
> +++ b/drivers/gpu/drm/scheduler/sched_main.c<br>
> @@ -515,7 +515,7 @@ void drm_sched_resubmit_jobs(struct drm_gpu_scheduler *sched)<br>
> EXPORT_SYMBOL(drm_sched_resubmit_jobs);<br>
> <br>
> /**<br>
> - * drm_sched_resubmit_jobs_ext - helper to relunch certain number of jobs from mirror ring list<br>
> + * drm_sched_resubmit_jobs_ext - helper to relaunch certain number of jobs from pending list<br>
> *<br>
> * @sched: scheduler instance<br>
> * @max: job numbers to relaunch<br>
> @@ -671,7 +671,7 @@ drm_sched_select_entity(struct drm_gpu_scheduler *sched)<br>
> static struct drm_sched_job *<br>
> drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched)<br>
> {<br>
> - struct drm_sched_job *job;<br>
> + struct drm_sched_job *job, *next;<br>
> <br>
> /*<br>
> * Don't destroy jobs while the timeout worker is running OR thread<br>
> @@ -690,6 +690,14 @@ drm_sched_get_cleanup_job(struct drm_gpu_scheduler *sched)<br>
> if (job && dma_fence_is_signaled(&job->s_fence->finished)) {<br>
> /* remove job from pending_list */<br>
> list_del_init(&job->list);<br>
> We just need to record the scheduled time of the next job. So we<br>
> need not to check the rest job.<br>
> + /* account for the next fence in the queue */<br>
> + next = list_first_entry_or_null(&sched->pending_list,<br>
> + struct drm_sched_job, list);<br>
> + if (next && test_bit(DMA_FENCE_FLAG_TIMESTAMP_BIT,<br>
> + &job->s_fence->finished.flags)) {<br>
> + next->s_fence->scheduled.timestamp =<br>
> + job->s_fence->finished.timestamp;<br>
> + }<br>
> } else {<br>
> job = NULL;<br>
> /* queue timeout for next job */<br>
<br>
</div>
</span></font></div>
</div>
</div>
</div>
</div>
</body>
</html>