<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">When adding fences to a reservation
      object all newly added fences must be created after all existing
      fences.<br>
      <br>
      In other words when adding a shared fence the caller must
      guarantee that all existing fences of the same context must be
      completed before this new one. Because of this we can safely
      replace the existing fence with the new one.<br>
      <br>
      When adding an exclusive fence the caller must guarantee that all
      existing fences of that reservation object must complete before
      this new one. Because of this we can safely throw away all
      existing fences as well as the old exclusive fence.<br>
      <br>
      Regards,<br>
      Christian.<br>
      <br>
      Am 06.03.2018 um 11:10 schrieb Liu, Monk:<br>
    </div>
    <blockquote type="cite"
cite="mid:BLUPR12MB0449D4275DF065F8BBB9E77684D90@BLUPR12MB0449.namprd12.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]-->
      <style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Microsoft YaHei";
        panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
        {font-family:"Microsoft YaHei";}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:DengXian;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">Oh,
            I see
            <o:p></o:p></span></p>
        <p class="MsoNormal"
          style="line-height:14.25pt;background:#1E1E1E"><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US">    </span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#C586C0" lang="EN-US">for</span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US"> (i = </span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#B5CEA8" lang="EN-US"><o:p></o:p></span></p>
        <p class="MsoNormal"
          style="line-height:14.25pt;background:#1E1E1E"><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#B5CEA8" lang="EN-US">0</span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US">; i < fobj-></span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#9CDCFE" lang="EN-US">shared_count</span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US">; ++i) {<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="line-height:14.25pt;background:#1E1E1E"><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="line-height:14.25pt;background:#1E1E1E"><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US">        </span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#569CD6" lang="EN-US">struct</span><span
            style="font-size:10.5pt;font-family:"Courier
            New";color:#D4D4D4" lang="EN-US"> dma_fence *old_fence;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">Since
            it use I < fobj->shared_count, then the wild pointer
            access won’t hit, please ignore question 1<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">The
            only valuable is question 2: how we treat excl fence and
            shared fence?
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">e.g.
            when we add an excl fence to resv, how to deal with shared ?
            current logic is just put the all
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">do
            we need to wait on their signaling before putting them ?<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">thanks
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US">/Monk<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="font-size:10.5pt;font-family:DengXian" lang="EN-US"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0cm 0cm 0cm">
            <p class="MsoNormal"><b><span lang="EN-US">From:</span></b><span
                lang="EN-US"> Liu, Monk
                <br>
                <b>Sent:</b> 2018</span><span
                style="font-family:"微软雅黑",sans-serif">年</span><span
                lang="EN-US">3</span><span
                style="font-family:"微软雅黑",sans-serif">月</span><span
                lang="EN-US">6</span><span
                style="font-family:"微软雅黑",sans-serif">日</span><span
                lang="EN-US"> 17:57<br>
                <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a>; Chris Wilson
                <a class="moz-txt-link-rfc2396E" href="mailto:chris@chris-wilson.co.uk"><chris@chris-wilson.co.uk></a>; Koenig, Christian
                <a class="moz-txt-link-rfc2396E" href="mailto:Christian.Koenig@amd.com"><Christian.Koenig@amd.com></a><br>
                <b>Subject:</b> Re: reservation questions <o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
        <div id="divtagdefaultwrapper">
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><br>
              </span><span style="font-size:12.0pt;color:red"
                lang="EN-US">sorry, I have some mistake in previous
                thread, correct it as followings.</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">1) considering
                below sequence:<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">call
                reservation_object_add_shared_fence,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">now
                assume old->shared_count is now 3<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">call
                reservation_object_add_shared_fence,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">now
                assume old->shared_count is now 4,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">call
                reservation_object_reserve_shared,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">now
                obj->staged is new allocated, and its shared_max = 8,
                but not<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">used
                by far.<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">call
                reservation_object_add_excl_fence,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">it set
                obj->fence->shared_count to 0, <b>and put all
                  shared fence from obj->fence without waiting
                  signaling.</b><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">(this
                action looks inappropriate, I think at least before put
                all those shared fences<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">we
                should dma_wait_fence() on them to make sure they are
                signaled)<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">call
                reservation_object_reserve_shared,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><b><span
                  style="font-size:12.0pt;color:black" lang="EN-US">this
                  time obj->staged isn't NULL, and it is freed</span></b><span
                style="font-size:12.0pt;color:black" lang="EN-US"> (nothing
                bad now<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">since
                obj->fence points to other place),<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">and
                obj->staged set to NULL,<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:#006FC9" lang="EN-US">call
                reservation_object_add_shared_fence,</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:#006FC9" lang="EN-US">this
                time should going through
                <b>reservation_object_add_shared_inplace</b>,</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:#006FC9" lang="EN-US">since
                old->shared_count is 1 now, during <b>reservation_object_add_shared_inplace</b>()</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:#006FC9" lang="EN-US">it
                would go through the shared list, but the fence in
                shared list is now wild pointer:</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">    </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#C586C0" lang="EN-US">for</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"> (i = </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#B5CEA8" lang="EN-US"><o:p></o:p></span></p>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#B5CEA8" lang="EN-US">0</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">; i <
                    fobj-></span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#9CDCFE" lang="EN-US">shared_count</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">; ++i) {<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">        </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#569CD6" lang="EN-US">struct</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"> dma_fence
                    *old_fence;<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><br>
                  <br>
                  <o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">        old_fence
                      =
                    </span></b><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#DCDCAA" lang="EN-US">rcu_dereference_protected</span></b><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">(fobj-></span></b><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#9CDCFE" lang="EN-US">shared</span></b><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">[i],</span></b><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">                        </span></b><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#DCDCAA" lang="EN-US">reservation_object_held</span></b><b><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">(obj));</span></b><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><br>
                  <br>
                  <o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">        </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#C586C0" lang="EN-US">if</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">
                    (old_fence-></span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#9CDCFE" lang="EN-US">context</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"> == fence-></span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#9CDCFE" lang="EN-US">context</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"> &&<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US">dma_fence_is_later</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">(fence,
                    old_fence)) {<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#608B4E" lang="EN-US">/* memory
                    barrier is added by write_seqcount_begin */</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US">RCU_INIT_POINTER</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">(fobj-></span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#9CDCFE" lang="EN-US">shared</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">[i], fence);<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US">write_seqcount_end</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">(&obj-></span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#9CDCFE" lang="EN-US">seq</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">);<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US">preempt_enable</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">();<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><br>
                  <br>
                  <o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US">dma_fence_put</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">(old_fence);<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#C586C0" lang="EN-US">return</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">;<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">        }<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><br>
                  <br>
                  <o:p></o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">        </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#C586C0" lang="EN-US">if</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"> (!signaled
                    && </span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US"><o:p></o:p></span></p>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#DCDCAA" lang="EN-US">dma_fence_is_signaled</span><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">(old_fence)) {<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            signaled
                    = old_fence;<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">            signaled_idx
                    = i;<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">        }<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US">    }<o:p></o:p></span></p>
              </div>
              <p class="MsoNormal"
                style="line-height:14.25pt;background:#1E1E1E"><span
                  style="font-size:10.5pt;font-family:"Courier
                  New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">see
                that old_fence is get from fobj, and fobj is from </span><span
                style="font-size:10.5pt;font-family:"Courier
                New";color:black" lang="EN-US">reservation_object_get_list(obj)</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:10.5pt;font-family:"Courier
                New";color:black" lang="EN-US">in outside, which is
                obj->fence, and in add_excl_fence, all dma_fence in</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:10.5pt;font-family:"Courier
                New";color:black" lang="EN-US">obj->fence is
                already put.</span><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US">/Monk<o:p></o:p></span></p>
          </div>
          <div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
        </div>
        <div class="MsoNormal" style="text-align:center" align="center"><span
            lang="EN-US">
            <hr align="center" size="3" width="98%">
          </span></div>
        <div id="divRplyFwdMsg">
          <p class="MsoNormal"><b><span style="color:black" lang="EN-US">From:</span></b><span
              style="color:black" lang="EN-US"> Liu, Monk<br>
              <b>Sent:</b> Tuesday, March 6, 2018 5:45:19 PM<br>
              <b>To:</b> <a
                href="mailto:dri-devel@lists.freedesktop.org"
                moz-do-not-send="true">dri-devel@lists.freedesktop.org</a>;
              Chris Wilson; Koenig, Christian<br>
              <b>Subject:</b> reservation questions </span><span
              lang="EN-US"><o:p></o:p></span></p>
          <div>
            <p class="MsoNormal"><span lang="EN-US"> <o:p></o:p></span></p>
          </div>
        </div>
        <div>
          <div id="x_divtagdefaultwrapper">
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">Hi
                  Christian & Chris<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">two
                  question regarding resv:<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">1) considering
                  below sequence:<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">call
                  reservation_object_add_shared_fence,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">now
                  assume old->shared_count is now 3<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">call
                  reservation_object_add_shared_fence,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">now
                  assume old->shared_count is now 4,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">call
                  reservation_object_reserve_shared,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">now
                  obj->staged is new allocated, and its shared_max =
                  8, but not<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">used
                  by far.<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">call
                  reservation_object_add_excl_fence,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">it
                  set obj->fence->shared_count to 0,
                  <b>and put all shared fence from obj->fence without
                    waiting signaling.</b><o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">(this
                  action looks inappropriate, I think at least before
                  put all those shared fences<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">we
                  should dma_wait_fence() on them to make sure they are
                  signaled)<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">call
                  reservation_object_reserve_shared,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><b><span
                    style="font-size:12.0pt;color:black" lang="EN-US">this
                    time obj->staged isn't NULL, and it is freed</span></b><span
                  style="font-size:12.0pt;color:black" lang="EN-US">
                  (nothing bad now<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">since
                  obj->fence points to other place),<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">and
                  obj->staged set to NULL,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">call
                  reservation_object_add_shared_fence,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">this
                  time should going through
                  reservation_object_add_shared_inplace,<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><b><span
                    style="font-size:12.0pt;color:black" lang="EN-US">But
                    BUG_ON(old->shared_count >=
                    old->shared_max) will hit !</span></b><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">This
                  looks a design flaw in reservation object, shouldn't
                  we fix it ?<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">2) in
                  add_excl_fence(), it simply set old->shared_count
                  to 0, and put all shared fences of old<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">is
                  that correct? if excl fence is really exclusively
                  used, why we still consider both shared fence and<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">excl
                  fence on wait_timeout_rcu() routine, see blew
                  description of this routine<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><br>
                    <br>
                    <o:p></o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">/**</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">*
                      reservation_object_wait_timeout_rcu - Wait on
                      reservation's objects</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* shared
                      and/or exclusive fences.</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* @obj: the
                      reservation object</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* @wait_all:
                      if true, wait on all fences, else wait on just
                      exclusive fence</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* @intr: if
                      true, do interruptible wait</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* @timeout:
                      timeout value in jiffies or zero to return
                      immediately</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">*</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* RETURNS</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* Returns
                      -ERESTARTSYS if interrupted, 0 if the wait timed
                      out, or</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">* greater
                      than zer on success.</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#608B4E" lang="EN-US">*/</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"><o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US">long</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">
                    </span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#DCDCAA" lang="EN-US">reservation_object_wait_timeout_rcu</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">(</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US">struct</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">
                      reservation_object *obj,<o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">                    
                    </span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US">bool</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"> wait_all,
                    </span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US"><o:p></o:p></span></p>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US">bool</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"> intr,<o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
                <div>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">                    
                    </span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US">unsigned</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US">
                    </span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US"><o:p></o:p></span></p>
                  <p class="MsoNormal"
                    style="line-height:14.25pt;background:#1E1E1E"><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#569CD6" lang="EN-US">long</span><span
                      style="font-size:10.5pt;font-family:"Courier
                      New";color:#D4D4D4" lang="EN-US"> timeout)<o:p></o:p></span></p>
                </div>
                <p class="MsoNormal"
                  style="line-height:14.25pt;background:#1E1E1E"><span
                    style="font-size:10.5pt;font-family:"Courier
                    New";color:#D4D4D4" lang="EN-US"><o:p> </o:p></span></p>
              </div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"> <o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">thanks<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US">/Monk<o:p></o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <div>
              <p class="MsoNormal"><span
                  style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
            </div>
            <p class="MsoNormal"><span
                style="font-size:12.0pt;color:black" lang="EN-US"><o:p> </o:p></span></p>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
dri-devel mailing list
<a class="moz-txt-link-abbreviated" href="mailto:dri-devel@lists.freedesktop.org">dri-devel@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/dri-devel">https://lists.freedesktop.org/mailman/listinfo/dri-devel</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>