<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">Am 21.03.2018 um 19:23 schrieb Marek
      Olšák:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAAxE2A7+18WdkiOOSD0E3PLed4nH2Bo3qGw85dAxD8AWpUkYCg@mail.gmail.com">
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote">On Wed, Mar 21, 2018 at 2:15 PM,
            Christian König <span dir="ltr"><<a
                href="mailto:christian.koenig@amd.com" target="_blank"
                moz-do-not-send="true">christian.koenig@amd.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div text="#000000" bgcolor="#FFFFFF"><span class="">
                  <div class="m_7651348995298833062moz-cite-prefix">Am
                    21.03.2018 um 19:04 schrieb Marek Olšák:<br>
                  </div>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div class="gmail_extra">
                        <div class="gmail_quote">On Wed, Mar 21, 2018 at
                          10:07 AM, Christian König <span dir="ltr"><<a
                              href="mailto:christian.koenig@amd.com"
                              target="_blank" moz-do-not-send="true">christian.koenig@amd.com</a>></span>
                          wrote:<br>
                          <blockquote class="gmail_quote"
                            style="margin:0 0 0 .8ex;border-left:1px
                            #ccc solid;padding-left:1ex">
                            <div text="#000000" bgcolor="#FFFFFF"><span>
                                <div
                                  class="m_7651348995298833062m_1741296731872194054moz-cite-prefix">Am
                                  21.03.2018 um 14:57 schrieb Marek
                                  Olšák:<br>
                                </div>
                                <blockquote type="cite">
                                  <div dir="ltr">
                                    <div class="gmail_extra">
                                      <div class="gmail_quote">On Wed,
                                        Mar 21, 2018 at 4:13 AM,
                                        Christian König <span dir="ltr"><<a
href="mailto:ckoenig.leichtzumerken@gmail.com" target="_blank"
                                            moz-do-not-send="true">ckoenig.leichtzumerken@gmail.<wbr>com</a>></span>
                                        wrote:<br>
                                        <blockquote class="gmail_quote"
                                          style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div text="#000000"
                                            bgcolor="#FFFFFF"><span>
                                              <div
class="m_7651348995298833062m_1741296731872194054m_-1982752714132975532moz-cite-prefix">Am
                                                21.03.2018 um 06:08
                                                schrieb Marek Olšák:<br>
                                              </div>
                                              <blockquote type="cite">
                                                <div dir="ltr">
                                                  <div
                                                    class="gmail_extra">
                                                    <div
                                                      class="gmail_quote">On
                                                      Tue, Mar 20, 2018
                                                      at 4:16 PM,
                                                      Christian König <span
                                                        dir="ltr"><<a
href="mailto:christian.koenig@amd.com" target="_blank"
                                                          moz-do-not-send="true">christian.koenig@amd.com</a>></span>
                                                      wrote:<br>
                                                      <blockquote
                                                        class="gmail_quote"
                                                        style="margin:0
                                                        0 0
                                                        .8ex;border-left:1px
                                                        #ccc
                                                        solid;padding-left:1ex">
                                                        <div
                                                          text="#000000"
bgcolor="#FFFFFF">
                                                          <div
class="m_7651348995298833062m_1741296731872194054m_-1982752714132975532m_4643584645760816653moz-cite-prefix">That's
                                                          what I meant
                                                          with use up
                                                          the otherwise
                                                          unused VRAM. I
                                                          don't see any
                                                          disadvantage
                                                          of always
                                                          setting GTT as
                                                          second domain
                                                          on APUs.<br>
                                                          <br>
                                                          My assumption
                                                          was that we
                                                          dropped this
                                                          in userspace
                                                          for
                                                          displayable
                                                          surfaces, but
                                                          Marek proved
                                                          that wrong.<br>
                                                          <br>
                                                          So what we
                                                          should do is
                                                          actually to
                                                          add GTT as
                                                          fallback to
                                                          all BOs on
                                                          APUs in Mesa
                                                          and only make
                                                          sure that the
                                                          kernel is
                                                          capable of
                                                          handling GTT
                                                          with optimal
                                                          performance
                                                          (e.g. have
                                                          user huge
                                                          pages etc..).<span
class="m_7651348995298833062m_1741296731872194054m_-1982752714132975532HOEnZb"><font
color="#888888"><br>
                                                          </font></span></div>
                                                        </div>
                                                      </blockquote>
                                                      <div><br>
                                                      </div>
                                                      <div>VRAM|GTT is
                                                        practically as
                                                        good as GTT.
                                                        VRAM with BO
                                                        priorities and
                                                        eviction
                                                        throttling is
                                                        the true
                                                        "VRAM|GTT".<br>
                                                        <br>
                                                      </div>
                                                      <div>I don't know
                                                        how else to make
                                                        use of VRAM
                                                        intelligently.</div>
                                                    </div>
                                                  </div>
                                                </div>
                                              </blockquote>
                                              <br>
                                            </span> Well why not set
                                            VRAM|GTT as default on APUs?
                                            That should still save quite
                                            a bunch of moves even with
                                            throttling.<br>
                                          </div>
                                        </blockquote>
                                        <div><br>
                                        </div>
                                        <div>I explained why: <span
                                            class="m_7651348995298833062m_1741296731872194054gmail-">VRAM|GTT
                                            is practically as good as
                                            GTT.</span><br>
                                        </div>
                                        <div> </div>
                                        <blockquote class="gmail_quote"
                                          style="margin:0 0 0
                                          .8ex;border-left:1px #ccc
                                          solid;padding-left:1ex">
                                          <div text="#000000"
                                            bgcolor="#FFFFFF"> <br>
                                            I mean there really
                                            shouldn't be any advantage
                                            to use VRAM any more except
                                            that we want to use it up as
                                            long as it is available.<br>
                                          </div>
                                        </blockquote>
                                        <div><br>
                                        </div>
                                        <div>Why are you suggesting to
                                          use VRAM|GTT then? Let's just
                                          only use GTT on all APUs.</div>
                                      </div>
                                    </div>
                                  </div>
                                </blockquote>
                                <br>
                              </span> Then we don't use the memory
                              stolen for VRAM.<br>
                              <br>
                              See we want to get to a point where we
                              have any ~16MB of stolen VRAM on APUs and
                              everything else in GTT.<br>
                              <br>
                              But we still have to support cases where
                              we have 1GB stolen VRAM, and wasting those
                              1GB would suck a bit.<br>
                            </div>
                          </blockquote>
                          <div><br>
                          </div>
                          BO priorities and BO move throttling should
                          take care of optimal VRAM usage regardless of
                          the VRAM size. We can adjust the throttling
                          for small VRAM, but that's about all we can
                          do.</div>
                      </div>
                    </div>
                  </blockquote>
                  <br>
                </span> Well at least on APUs move throttling is
                complete nonsense. VRAM should expose the same
                performance as GTT.<br>
                <br>
                So the only usage we have for VRAM is for special cases
                like page tables and to allow to actually use the stolen
                memory.<span class=""><br>
                  <br>
                  <blockquote type="cite">
                    <div dir="ltr">
                      <div class="gmail_extra">
                        <div class="gmail_quote">VRAM|GTT doesn't
                          guarantee that VRAM will be used usefully. In
                          fact, it doesn't guarantee anything about
                          VRAM.<br>
                        </div>
                      </div>
                    </div>
                  </blockquote>
                  <br>
                </span> Why not? VRAM|GTT means that we should use VRAM
                as long as it is available and if it is used up fallback
                to GTT.<br>
                <br>
                When BOs are evicted from VRAM they are never moved back
                into it. As far as I can see that is exactly what we
                need on APUs.<br>
              </div>
            </blockquote>
            <div><br>
            </div>
            I see. You don't want to use VRAM usefully. You just want to
            fill it up with something (anything) so that it's not
            unused.</div>
        </div>
      </div>
    </blockquote>
    <br>
    Yes, exactly. The point is we really don't have any special use case
    for it on APUs any more on newer kernels/hardware.<br>
    <br>
    We need a bit for firmware, but that is fixed and allocate at driver
    load time.<br>
    <br>
    Page tables are still in VRAM, but at least for Raven that is just
    an issue that I didn't had free time to implement it otherwise.<br>
    <br>
    If I could I would give the unused parts back to the OS for general
    purpose usage, but you need to reconfigure the northbridge to do
    that and well that is easier said than done.<br>
    <br>
    Christian.<br>
    <br>
    <blockquote type="cite"
cite="mid:CAAxE2A7+18WdkiOOSD0E3PLed4nH2Bo3qGw85dAxD8AWpUkYCg@mail.gmail.com">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote"><br>
          </div>
          <div class="gmail_quote">Marek<br>
          </div>
        </div>
      </div>
    </blockquote>
    <br>
  </body>
</html>