<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);">
<br>
</div>
<div id="appendonsend"></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; color:rgb(0,0,0)">
<br>
</div>
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> amd-gfx <amd-gfx-bounces@lists.freedesktop.org> on behalf of Roy Sun <Roy.Sun@amd.com><br>
<b>Sent:</b> Friday, April 23, 2021 6:55 PM<br>
<b>To:</b> amd-gfx@lists.freedesktop.org <amd-gfx@lists.freedesktop.org><br>
<b>Cc:</b> Sun, Roy <Roy.Sun@amd.com>; Nieto, David M <David.Nieto@amd.com><br>
<b>Subject:</b> [PATCH 1/2] drm/scheduler: Change scheduled fence track</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt">
<div class="PlainText">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 | 11 +++++++++--<br>
1 file changed, 9 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..dc05a20a8ef2 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,13 @@ 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>
+ /* 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) {<br>
+ next->s_fence->scheduled.timestamp =<br>
+ job->s_fence->finished.timestamp;<br>
+ }</div>
<div class="PlainText">
<div>
<ol>
<li><span>the timestamp maybe is invalid, we'd better check DMA_FENCE_FLAG_TIMESTAMP_BIT before use it .<br>
</span></li><li><span>when hw_submission > 2, do we need to check rest jobs? not only next.</span></li></ol>
<div><span>Thanks,</span></div>
</div>
<div><span>Kevin.</span></div>
<div><span><br>
</span></div>
</div>
<div class="PlainText"> } else {<br>
job = NULL;<br>
/* queue timeout for next job */<br>
-- <br>
2.31.1<br>
<br>
_______________________________________________<br>
amd-gfx mailing list<br>
amd-gfx@lists.freedesktop.org<br>
<a href="https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=04%7C01%7CKevin1.Wang%40amd.com%7C3ac81f3f5c0346115dce08d906464b5e%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637547721248267412%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XZTXlwgkQuEn%2BflY%2FOuUNUymOMjyOZ5lv7%2BiJR7Wjjk%3D&reserved=0">https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.freedesktop.org%2Fmailman%2Flistinfo%2Famd-gfx&data=04%7C01%7CKevin1.Wang%40amd.com%7C3ac81f3f5c0346115dce08d906464b5e%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637547721248267412%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XZTXlwgkQuEn%2BflY%2FOuUNUymOMjyOZ5lv7%2BiJR7Wjjk%3D&reserved=0</a><br>
</div>
</span></font></div>
</div>
</body>
</html>