<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">
      <blockquote type="cite">
syncfile indeed be a good way to pass fence for user space, which already is proved in Android and is upstreamed.<br>
      </blockquote>
      Not really. syncfile needs a file descriptor for each handle it
      generates, that's quite a show stopper if you want to use it in
      general.<br>
      <br>
      Android syncfile are meant to be used for inter process sharing,
      but as command submission sequence number they are not such a good
      fit.<br>
      <br>
      Mareks approach looks really good to me and we should follow that
      direction further.<br>
      <br>
      Regards,<br>
      Christian.<br>
      <br>
      Am 13.09.2017 um 14:25 schrieb Zhou, David(ChunMing):<br>
    </div>
    <blockquote type="cite"
cite="mid:MWHPR1201MB0206A14F0D2148D5036A9485B46E0@MWHPR1201MB0206.namprd12.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <meta name="Generator" content="Microsoft Exchange Server">
      <!-- converted from text -->
      <style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style>
      <div>Yes, to be comptibility, I kept both seq_no and syncfile fd in the patch set, you can take a look, which really is simpler and effective way.<br>
        <br>
syncfile indeed be a good way to pass fence for user space, which already is proved in Android and is upstreamed.<br>
        <br>
        Regards,<br>
        David Zhou<br>
        <br>
        <p dir="ltr" style="display:inline"><span style="color:#888888"><span
              style="font-size:0.81em">发自坚果 Pro</span></span></p>
        <style type="text/css">
<!--
* body
        {padding:0 16px 30px!important;
        margin:0!important;
        background-color:#ffffff;
        line-height:1.4;
        word-wrap:break-word;
        word-break:normal}
div
        {word-wrap:break-word;
        word-break:normal}
p
        {word-wrap:break-word;
        word-break:normal;
        text-indent:0pt!important}
span
        {word-wrap:break-word;
        word-break:normal}
a
        {word-wrap:break-word;
        word-break:normal}
td
        {word-wrap:break-word;
        word-break:break-all}
-->
</style>
        <div class="x_quote">
          <div style="margin:0 0px; font-size:105%"><font
              style="line-height:1.4" color="#629140"><span>Marek Ol?醟
                <a class="moz-txt-link-rfc2396E" href="mailto:maraeo@gmail.com"><maraeo@gmail.com></a> 于 2017年9月13日 下午8:06写道:</span></font></div>
          <br type="attribution">
        </div>
      </div>
      <font size="2"><span style="font-size:10pt;">
          <div class="PlainText">On Wed, Sep 13, 2017 at 1:32 PM, Zhou,
            David(ChunMing)<br>
            <a class="moz-txt-link-rfc2396E" href="mailto:David1.Zhou@amd.com"><David1.Zhou@amd.com></a> wrote:<br>
            > Could you describe how difficult to directly use CS
            syncfile fd in Mesa<br>
            > compared with concerting CS seq to syncfile fd via
            several syncobj ioctls?<br>
            <br>
            It just simplifies things. Mesa primarily uses seq_no-based
            fences and<br>
            will continue to use them. We can't remove the seq_no fence
            code<br>
            because we have to keep Mesa compatible with older kernels.<br>
            <br>
            The only possibilities are:<br>
            - Mesa gets both seq_no and sync_file from CS.<br>
            - Mesa only gets seq_no from CS.<br>
            <br>
            I decided to take the simpler option. I don't know if there
            is a perf<br>
            difference between CS returning a sync_file and using a
            separate<br>
            ioctl, but it's probably insignificant since we already call
            3 ioctls<br>
            per IB submission (BO list create+destroy, submit).<br>
            <br>
            Marek<br>
            <br>
            ><br>
            > Regards,<br>
            > David Zhou<br>
            ><br>
            > 发自坚果 Pro<br>
            ><br>
            > Marek Ol?醟 <a class="moz-txt-link-rfc2396E" href="mailto:maraeo@gmail.com"><maraeo@gmail.com></a> 于 2017年9月13日
            下午6:11写道:<br>
            ><br>
            > On Wed, Sep 13, 2017 at 5:03 AM, zhoucm1
            <a class="moz-txt-link-rfc2396E" href="mailto:david1.zhou@amd.com"><david1.zhou@amd.com></a> wrote:<br>
            >> Hi Marek,<br>
            >><br>
            >> You're doing same things with me, see my "introduce
            syncfile as fence<br>
            >> reuturn" patch set, which makes things more simple,
            we just need to<br>
            >> directly<br>
            >> return syncfile fd to UMD when CS, then the fence
            UMD get will be always<br>
            >> syncfile fd, UMD don't need to construct
            ip_type/ip_instance/ctx_id/ring<br>
            >> any<br>
            >> more, which also can pass to dependency and syncobj
            as well.<br>
            ><br>
            > For simpler Mesa code, Mesa won't get a sync file from
            the CS ioctl.<br>
            ><br>
            > Marek<br>
          </div>
        </span></font>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
amd-gfx mailing list
<a class="moz-txt-link-abbreviated" href="mailto:amd-gfx@lists.freedesktop.org">amd-gfx@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a>
</pre>
    </blockquote>
    <p><br>
    </p>
  </body>
</html>