<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>