<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Hi Sam,<br>
      <br>
      no that is seriously a no-go. The placement decision is done my
      userspace, not the kernel.<br>
      <br>
      The only time the kernel overrides that decision is a) hardware
      requirements (for example old UVD on AGP systems) and b) memory
      pressure.<br>
      <br>
      We are have actually pushed quite hard on avoiding and removing
      places where the kernel overrides the placement decision of
      userspace, so I don't think we should add any new ones.<br>
      <br>
      Regards,<br>
      Christian.<br>
      <br>
      Am 19.03.2018 um 20:58 schrieb Li, Samuel:<br>
    </div>
    <blockquote type="cite"
cite="mid:BY1PR12MB05042F8034B375BAB507EB03F5D40@BY1PR12MB0504.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:SimSun;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:SimSun;
        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:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@SimSun";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
p.xmsonormal, li.xmsonormal, div.xmsonormal
        {mso-style-name:x_msonormal;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
p.xmsochpdefault, li.xmsochpdefault, div.xmsochpdefault
        {mso-style-name:x_msochpdefault;
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Times New Roman",serif;}
span.xhtmlpreformattedchar
        {mso-style-name:x_htmlpreformattedchar;
        font-family:Consolas;
        color:black;}
span.xemailstyle19
        {mso-style-name:x_emailstyle19;
        font-family:"Calibri",sans-serif;
        color:#2F5496;}
span.xemailstyle20
        {mso-style-name:x_emailstyle20;
        font-family:"Calibri",sans-serif;
        color:#2F5496;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#2F5496;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
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:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Alex,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">I
            assume you are talking the three scenarios here,
          </span><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">1)VRAM,
            2)GTT, 3)VRAM/GTT.</span><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">But
            kernel will need the decision too(amdgpufb). I think it
            shall be better to do it in kernel, instead of different
            clients(mesa, ddx, kernel …)<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Regards,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Samuel
            Li<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"><o:p> </o:p></span></p>
        <div style="border:none;border-left:solid blue 1.5pt;padding:0in
          0in 0in 4.0pt">
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span
                    style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif">
                  Deucher, Alexander
                  <br>
                  <b>Sent:</b> Monday, March 19, 2018 3:54 PM<br>
                  <b>To:</b> Li, Samuel <a class="moz-txt-link-rfc2396E" href="mailto:Samuel.Li@amd.com"><Samuel.Li@amd.com></a>;
                  Koenig, Christian <a class="moz-txt-link-rfc2396E" href="mailto:Christian.Koenig@amd.com"><Christian.Koenig@amd.com></a>;
                  Marek Olšák <a class="moz-txt-link-rfc2396E" href="mailto:maraeo@gmail.com"><maraeo@gmail.com></a><br>
                  <b>Cc:</b> Alex Deucher <a class="moz-txt-link-rfc2396E" href="mailto:alexdeucher@gmail.com"><alexdeucher@gmail.com></a>;
                  Michel Dänzer <a class="moz-txt-link-rfc2396E" href="mailto:michel@daenzer.net"><michel@daenzer.net></a>; amd-gfx list
                  <a class="moz-txt-link-rfc2396E" href="mailto:amd-gfx@lists.freedesktop.org"><amd-gfx@lists.freedesktop.org></a><br>
                  <b>Subject:</b> Re: [PATCH 1/2] drm/amdgpu: Enable
                  scatter gather display support<o:p></o:p></span></p>
            </div>
          </div>
          <p class="MsoNormal"><o:p> </o:p></p>
          <div id="divtagdefaultwrapper">
            <p><span
                style="font-family:"Calibri",sans-serif;color:black">My
                personal preference is still to plumb this through to
                mesa rather than forcing it in the kernel.<o:p></o:p></span></p>
            <p><span
                style="font-family:"Calibri",sans-serif;color:black"><o:p> </o:p></span></p>
            <p><span
                style="font-family:"Calibri",sans-serif;color:black">Alex<o:p></o:p></span></p>
          </div>
          <div class="MsoNormal" style="text-align:center"
            align="center">
            <hr align="center" size="2" width="98%">
          </div>
          <div id="divRplyFwdMsg">
            <p class="MsoNormal"><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:black">
                amd-gfx <<a
                  href="mailto:amd-gfx-bounces@lists.freedesktop.org"
                  moz-do-not-send="true">amd-gfx-bounces@lists.freedesktop.org</a>>
                on behalf of Li, Samuel <<a
                  href="mailto:Samuel.Li@amd.com" moz-do-not-send="true">Samuel.Li@amd.com</a>><br>
                <b>Sent:</b> Monday, March 19, 2018 3:50:34 PM<br>
                <b>To:</b> Koenig, Christian; Marek Olšák<br>
                <b>Cc:</b> Alex Deucher; Michel Dänzer; amd-gfx list<br>
                <b>Subject:</b> RE: [PATCH 1/2] drm/amdgpu: Enable
                scatter gather display support</span>
              <o:p></o:p></p>
            <div>
              <p class="MsoNormal"> <o:p></o:p></p>
            </div>
          </div>
          <div>
            <div>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Christian,</span><o:p></o:p></p>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">You
                  misunderstood Alex’s comments,</span><o:p></o:p></p>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
              <pre style="background:white">>Regardless of which scenarios we need to support, I think we also need<o:p></o:p></pre>
              <pre style="background:white">>to really plumb this through to mesa however since user space is who<o:p></o:p></pre>
              <pre style="background:white">>ultimately requests the location.  Overriding it in the kernel gets<o:p></o:p></pre>
              <pre style="background:white">>tricky and can lead to ping-ponging as others have noted.  Better to<o:p></o:p></pre>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Here
                  Alex mentioned the scenarios is 1)VRAM, 2)GTT,
                  3)VRAM/GTT.</span><o:p></o:p></p>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">His
                  concern is this might cause ping-pong, not about
                  preferred domain. Since preferred domain can solve the
                  ping-pong issue, it shall address his concern here.</span><o:p></o:p></p>
              <div>
                <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
                <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Regards,</span><o:p></o:p></p>
                <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Samuel
                    Li</span><o:p></o:p></p>
              </div>
              <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
              <div style="border:none;border-left:solid blue
                1.5pt;padding:0in 0in 0in 4.0pt">
                <div>
                  <div style="border:none;border-top:solid #E1E1E1
                    1.0pt;padding:3.0pt 0in 0in 0in">
                    <p class="xmsonormal" style="background:white"><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:windowtext">
                        Christian König [<a
                          href="mailto:ckoenig.leichtzumerken@gmail.com"
                          moz-do-not-send="true">mailto:ckoenig.leichtzumerken@gmail.com</a>]
                        <br>
                        <b>Sent:</b> Monday, March 19, 2018 3:45 PM<br>
                        <b>To:</b> Li, Samuel <<a
                          href="mailto:Samuel.Li@amd.com"
                          moz-do-not-send="true">Samuel.Li@amd.com</a>>;
                        Marek Olšák <<a
                          href="mailto:maraeo@gmail.com"
                          moz-do-not-send="true">maraeo@gmail.com</a>>;
                        Koenig, Christian <<a
                          href="mailto:Christian.Koenig@amd.com"
                          moz-do-not-send="true">Christian.Koenig@amd.com</a>><br>
                        <b>Cc:</b> Alex Deucher <<a
                          href="mailto:alexdeucher@gmail.com"
                          moz-do-not-send="true">alexdeucher@gmail.com</a>>;
                        Michel Dänzer <<a
                          href="mailto:michel@daenzer.net"
                          moz-do-not-send="true">michel@daenzer.net</a>>;
                        amd-gfx list <<a
                          href="mailto:amd-gfx@lists.freedesktop.org"
                          moz-do-not-send="true">amd-gfx@lists.freedesktop.org</a>><br>
                        <b>Subject:</b> Re: [PATCH 1/2] drm/amdgpu:
                        Enable scatter gather display support</span><o:p></o:p></p>
                  </div>
                </div>
                <p class="xmsonormal" style="background:white"> <o:p></o:p></p>
                <div>
                  <p class="xmsonormal"
                    style="margin-bottom:12.0pt;background:white">Quoting
                    Alex:<o:p></o:p></p>
                  <blockquote
                    style="margin-top:5.0pt;margin-bottom:5.0pt">
                    <pre style="background:white">Regardless of which scenarios we need to support, I think we also need<o:p></o:p></pre>
                    <pre style="background:white">to really plumb this through to mesa however since user space is who<o:p></o:p></pre>
                    <pre style="background:white">ultimately requests the location.  Overriding it in the kernel gets<o:p></o:p></pre>
                    <pre style="background:white">tricky and can lead to ping-ponging as others have noted.  Better to<o:p></o:p></pre>
                    <pre style="background:white">have user space know what chips support it or not and request display<o:p></o:p></pre>
                    <pre style="background:white">buffers in GTT or VRAM from the start.<o:p></o:p></pre>
                  </blockquote>
                  <p class="xmsonormal" style="background:white">And I
                    completely agree with Alex here. So overriding the
                    domain in the kernel is a serious NAK from my side
                    as well.<br>
                    <br>
                    Please implement the necessary bits in Mesa,
                    shouldn't be more than a few lines of code anyway.<br>
                    <br>
                    Regards,<br>
                    Christian.<br>
                    <br>
                    Am 19.03.2018 um 20:42 schrieb Li, Samuel:<o:p></o:p></p>
                </div>
                <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
                  <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Agreed.</span><o:p></o:p></p>
                  <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
                  <p class="xmsonormal"
                    style="margin-bottom:12.0pt;background:white">>I
                    think that the consensus with Alex and me is that we
                    should avoid exactly that.<br>
                    Christian, Alex’s concern is about ping-pong, not
                    about the preferred domain. <br>
                    <br>
                    <o:p></o:p></p>
                  <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Regards,</span><o:p></o:p></p>
                  <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496">Samuel
                      Li</span><o:p></o:p></p>
                  <p class="xmsonormal" style="background:white"><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#2F5496"> </span><o:p></o:p></p>
                  <div style="border:none;border-left:solid blue
                    1.5pt;padding:0in 0in 0in 4.0pt">
                    <div>
                      <div style="border:none;border-top:solid #E1E1E1
                        1.0pt;padding:3.0pt 0in 0in 0in">
                        <p class="xmsonormal" style="background:white"><b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span
style="font-size:11.0pt;font-family:"Calibri",sans-serif">
                            Marek Olšák [<a
                              href="mailto:maraeo@gmail.com"
                              moz-do-not-send="true">mailto:maraeo@gmail.com</a>]
                            <br>
                            <b>Sent:</b> Monday, March 19, 2018 3:39 PM<br>
                            <b>To:</b> Koenig, Christian <a
                              href="mailto:Christian.Koenig@amd.com"
                              moz-do-not-send="true"><Christian.Koenig@amd.com></a><br>
                            <b>Cc:</b> Li, Samuel <a
                              href="mailto:Samuel.Li@amd.com"
                              moz-do-not-send="true"><Samuel.Li@amd.com></a>;
                            Michel Dänzer
                            <a href="mailto:michel@daenzer.net"
                              moz-do-not-send="true"><michel@daenzer.net></a>;
                            Alex Deucher <a
                              href="mailto:alexdeucher@gmail.com"
                              moz-do-not-send="true">
                              <alexdeucher@gmail.com></a>; amd-gfx
                            list <a
                              href="mailto:amd-gfx@lists.freedesktop.org"
                              moz-do-not-send="true">
                              <amd-gfx@lists.freedesktop.org></a><br>
                            <b>Subject:</b> Re: [PATCH 1/2] drm/amdgpu:
                            Enable scatter gather display support</span><o:p></o:p></p>
                      </div>
                    </div>
                    <p class="xmsonormal" style="background:white"> <o:p></o:p></p>
                    <div>
                      <div>
                        <div>
                          <p class="xmsonormal" style="background:white">On
                            Mon, Mar 19, 2018 at 3:27 PM, Christian
                            König <<a
                              href="mailto:christian.koenig@amd.com"
                              target="_blank" moz-do-not-send="true">christian.koenig@amd.com</a>>
                            wrote:<o:p></o:p></p>
                          <blockquote
                            style="border:none;border-left:solid #CCCCCC
                            1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                            <p class="xmsonormal"
                              style="background:white">I think that the
                              consensus with Alex and me is that we
                              should avoid exactly that.<br>
                              <br>
                              Overriding the preferred domain in the
                              kernel is a no-go for that patch set, so
                              please implement the discussed changes in
                              Mesa.<o:p></o:p></p>
                          </blockquote>
                          <div>
                            <p class="xmsonormal"
                              style="background:white"> <o:p></o:p></p>
                          </div>
                          <div>
                            <p class="xmsonormal"
                              style="background:white">I don't see how
                              Mesa can make a smarter decision than the
                              kernel. If you overwrite the preferred
                              domain of the buffer in the kernel, there
                              will be no ping-ponging between domains.
                              Mesa never changes the initial preferred
                              domain.<o:p></o:p></p>
                          </div>
                          <div>
                            <p class="xmsonormal"
                              style="background:white"> <o:p></o:p></p>
                          </div>
                          <div>
                            <p class="xmsonormal"
                              style="background:white">Marek<o:p></o:p></p>
                          </div>
                          <div>
                            <p class="xmsonormal"
                              style="background:white"> <o:p></o:p></p>
                          </div>
                          <div>
                            <p class="xmsonormal"
                              style="background:white"> <o:p></o:p></p>
                          </div>
                          <blockquote
                            style="border:none;border-left:solid #CCCCCC
                            1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                            <p class="xmsonormal"
                              style="background:white"><br>
                              Regards,<br>
                              Christian.<o:p></o:p></p>
                            <div>
                              <div>
                                <p class="xmsonormal"
                                  style="background:white"><br>
                                  <br>
                                  Am 19.03.2018 um 20:22 schrieb Li,
                                  Samuel:<o:p></o:p></p>
                                <blockquote
                                  style="border:none;border-left:solid
                                  #CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                  <p class="xmsonormal"
                                    style="margin-bottom:12.0pt;background:white">I
                                    agree with Marek/Michel: since
                                    kernel sets the domain before
                                    scanning out, it shall update the
                                    preferred domain here too.<br>
                                    <br>
                                    Regards,<br>
                                    Samuel Li<br>
                                    <br>
                                    <o:p></o:p></p>
                                  <blockquote
                                    style="border:none;border-left:solid
                                    #CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                    <p class="xmsonormal"
                                      style="background:white">-----Original
                                      Message-----<br>
                                      From: Koenig, Christian<br>
                                      Sent: Thursday, March 08, 2018
                                      4:07 AM<br>
                                      To: Michel Dänzer <<a
                                        href="mailto:michel@daenzer.net"
                                        target="_blank"
                                        moz-do-not-send="true">michel@daenzer.net</a>>;
                                      Li, Samuel<br>
                                      <<a
                                        href="mailto:Samuel.Li@amd.com"
                                        target="_blank"
                                        moz-do-not-send="true">Samuel.Li@amd.com</a>>;
                                      Alex Deucher <<a
                                        href="mailto:alexdeucher@gmail.com"
                                        target="_blank"
                                        moz-do-not-send="true">alexdeucher@gmail.com</a>><br>
                                      Cc: amd-gfx list <<a
                                        href="mailto:amd-gfx@lists.freedesktop.org"
                                        target="_blank"
                                        moz-do-not-send="true">amd-gfx@lists.freedesktop.org</a>><br>
                                      Subject: Re: [PATCH 1/2]
                                      drm/amdgpu: Enable scatter gather
                                      display support<br>
                                      <br>
                                      Am 08.03.2018 um 09:35 schrieb
                                      Michel Dänzer:<o:p></o:p></p>
                                    <blockquote
                                      style="border:none;border-left:solid
                                      #CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                      <p class="xmsonormal"
                                        style="background:white">On
                                        2018-03-07 10:47 AM, Christian
                                        König wrote:<o:p></o:p></p>
                                      <blockquote
                                        style="border:none;border-left:solid
                                        #CCCCCC 1.0pt;padding:0in 0in
                                        0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                        <p class="xmsonormal"
                                          style="background:white">Am
                                          07.03.2018 um 09:42 schrieb
                                          Michel Dänzer:<o:p></o:p></p>
                                        <blockquote
                                          style="border:none;border-left:solid
                                          #CCCCCC 1.0pt;padding:0in 0in
                                          0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                          <p class="xmsonormal"
                                            style="margin-bottom:12.0pt;background:white">On
                                            2018-03-06 07:23 PM,
                                            Christian König wrote:<o:p></o:p></p>
                                          <blockquote
                                            style="border:none;border-left:solid
                                            #CCCCCC 1.0pt;padding:0in
                                            0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                            <p class="xmsonormal"
                                              style="background:white">E.g.
                                              the last time I tested it
                                              placing things into GTT
                                              still<br>
                                              resulted in quite a
                                              performance penalty for
                                              rendering.<o:p></o:p></p>
                                          </blockquote>
                                          <p class="xmsonormal"
                                            style="background:white">FWIW,
                                            I think the penalty is most
                                            likely IOMMU related. Last
                                            time I<br>
                                            tested, I couldn't measure a
                                            big difference with IOMMU
                                            disabled.<o:p></o:p></p>
                                        </blockquote>
                                        <p class="xmsonormal"
                                          style="background:white">No,
                                          the penalty I'm talking about
                                          came from the ping/pong we did
                                          with<br>
                                          the scanout buffers.<br>
                                          <br>
                                          See when I tested this the DDX
                                          and Mesa where unmodified, so
                                          both<br>
                                          still assumed VRAM as
                                          placement for scanout BOs, but
                                          the kernel<br>
                                          forced scanout BOs into GTT
                                          for testing.<br>
                                          <br>
                                          So what happened was that on
                                          scanout we moved the VRAM BO
                                          to GTT<o:p></o:p></p>
                                      </blockquote>
                                    </blockquote>
                                    <p class="xmsonormal"
                                      style="background:white">and<o:p></o:p></p>
                                    <blockquote
                                      style="border:none;border-left:solid
                                      #CCCCCC 1.0pt;padding:0in 0in 0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                      <blockquote
                                        style="border:none;border-left:solid
                                        #CCCCCC 1.0pt;padding:0in 0in
                                        0in
6.0pt;margin-left:4.8pt;margin-top:5.0pt;margin-right:0in;margin-bottom:5.0pt">
                                        <p class="xmsonormal"
                                          style="background:white">after
                                          unpinning it on the first
                                          command submission which used
                                          the BO<br>
                                          we moved it back to VRAM
                                          again.<o:p></o:p></p>
                                      </blockquote>
                                      <p class="xmsonormal"
                                        style="background:white">In the
                                        meantime, I've had the same idea
                                        as Marek: Can't the kernel<br>
                                        driver simply change the BO's
                                        preferred domain to GTT when
                                        scanning<br>
                                        out from it? Then it won't move
                                        back to VRAM.<o:p></o:p></p>
                                    </blockquote>
                                    <p class="xmsonormal"
                                      style="background:white">Yes, I've
                                      considered this as well.<br>
                                      <br>
                                      But I think making the decision in
                                      Mesa is the cleaner approach.<br>
                                      <br>
                                      E.g. so far we only override the
                                      placement decision of userspace
                                      for two<br>
                                      reasons:<br>
                                      1. We where running out of memory
                                      in VRAM.<br>
                                      2. We have a hardware restriction
                                      which makes VRAM usage mandatory.<br>
                                      <br>
                                      And even then we never adjust the
                                      placement permanently, we just<br>
                                      temporary moved the buffer where
                                      it was needed and moved it back
                                      after<br>
                                      the operation completed.<br>
                                      <br>
                                      Additional to that Mesa might want
                                      to set even more flags and/or
                                      changes<br>
                                      it's behavior. E.g. use a tilling
                                      mode which both importer and
                                      export in an<br>
                                      A+A laptop understands etc...<br>
                                      <br>
                                      Regards,<br>
                                      Christian.<o:p></o:p></p>
                                  </blockquote>
                                </blockquote>
                                <p class="xmsonormal"
                                  style="background:white"><br>
_______________________________________________<br>
                                  amd-gfx mailing list<br>
                                  <a
                                    href="mailto:amd-gfx@lists.freedesktop.org"
                                    target="_blank"
                                    moz-do-not-send="true">amd-gfx@lists.freedesktop.org</a><br>
                                  <a
                                    href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx"
                                    target="_blank"
                                    moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><o:p></o:p></p>
                              </div>
                            </div>
                          </blockquote>
                        </div>
                        <p class="xmsonormal" style="background:white"> <o:p></o:p></p>
                      </div>
                    </div>
                  </div>
                  <p class="xmsonormal"
                    style="margin-bottom:12.0pt;background:white"><br>
                    <br>
                    <o:p></o:p></p>
                  <pre style="background:white">_______________________________________________<o:p></o:p></pre>
                  <pre style="background:white">amd-gfx mailing list<o:p></o:p></pre>
                  <pre style="background:white"><a href="mailto:amd-gfx@lists.freedesktop.org" moz-do-not-send="true">amd-gfx@lists.freedesktop.org</a><o:p></o:p></pre>
                  <pre style="background:white"><a href="https://lists.freedesktop.org/mailman/listinfo/amd-gfx" moz-do-not-send="true">https://lists.freedesktop.org/mailman/listinfo/amd-gfx</a><o:p></o:p></pre>
                </blockquote>
                <p class="xmsonormal" style="background:white"> <o:p></o:p></p>
              </div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>