<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 2021-11-24 10:33 a.m., Christian
König wrote:<br>
</div>
<blockquote type="cite" cite="mid:bc4b8eb7-698f-a522-ef33-6d2232612167@amd.com">
<br>
<br>
Am 24.11.21 um 16:23 schrieb philip yang:
<br>
<blockquote type="cite">[SNIP]
<br>
<blockquote type="cite">
<blockquote type="cite"> +/**
<br>
+ * amdgpu_ih_process1 - interrupt handler work for IH ring1
<br>
+ *
<br>
+ * @adev: amdgpu_device pointer
<br>
+ * @ih: ih ring to process
<br>
+ *
<br>
+ * Interrupt handler of IH ring1, walk the IH ring1.
<br>
+ * Returns irq process return code.
<br>
+ */
<br>
+int amdgpu_ih_process1(struct amdgpu_device *adev, struct
amdgpu_ih_ring *ih)
<br>
</blockquote>
<br>
I don't think we need this new function any more.
<br>
<br>
The check if the timestamp goes backwards can now be done
inside the page fault handler.
<br>
</blockquote>
Do you mean to merge this into the original ring0 interrupt
handler? Then we need add parameter (ih->overflow_enabled)
and process two different cases in ring0 interrupt handler, I
think that is not good to maintain later so I want to separate
them.
<br>
</blockquote>
<br>
What I mean is you don't need any different handling any more if
we use the timestamp anyway.
<br>
<br>
Just keep the last processed timestamp in the page fault code and
ignore faults when it starts to go backwards.
<br>
<br>
If IVs should be dropped or processed as much as possible is
depending on quite a bunch of things and should probably not be
handled in the IH code in general.
<br>
</blockquote>
<p>Use ih->processed_timestamp updated in decode_iv, for both
checkpoint process and page fault handler to drop stale fault.</p>
<p>interrupt handler don't need change.</p>
<p>Thanks,</p>
<p>Philip<br>
</p>
<blockquote type="cite" cite="mid:bc4b8eb7-698f-a522-ef33-6d2232612167@amd.com">
<br>
Regards,
<br>
Christian.
<br>
</blockquote>
</body>
</html>