1. 22 Jul, 2021 12 commits
  2. 21 Jul, 2021 6 commits
  3. 20 Jul, 2021 2 commits
  4. 16 Jul, 2021 6 commits
  5. 15 Jul, 2021 13 commits
  6. 14 Jul, 2021 1 commit
    • Matthew Auld's avatar
      drm/i915/gtt: drop the page table optimisation · 8f88ca76
      Matthew Auld authored
      We skip filling out the pt with scratch entries if the va range covers
      the entire pt, since we later have to fill it with the PTEs for the
      object pages anyway. However this might leave open a small window where
      the PTEs don't point to anything valid for the HW to consume.
      
      When for example using 2M GTT pages this fill_px() showed up as being
      quite significant in perf measurements, and ends up being completely
      wasted since we ignore the pt and just use the pde directly.
      
      Anyway, currently we have our PTE construction split between alloc and
      insert, which is probably slightly iffy nowadays, since the alloc
      doesn't actually allocate anything anymore, instead it just sets up the
      page directories and points the PTEs at the scratch page. Later when we
      do the insert step we re-program the PTEs again. Better might be to
      squash the alloc and insert into a single step, then bringing back this
      optimisation(along with some others) should be possible.
      
      Fixes: 14826673 ("drm/i915: Only initialize partially filled pagetables")
      Signed-off-by: default avatarMatthew Auld <matthew.auld@intel.com>
      Cc: Jon Bloomfield <jon.bloomfield@intel.com>
      Cc: Chris Wilson <chris.p.wilson@intel.com>
      Cc: Daniel Vetter <daniel@ffwll.ch>
      Cc: <stable@vger.kernel.org> # v4.15+
      Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Link: https://patchwork.freedesktop.org/patch/msgid/20210713130431.2392740-1-matthew.auld@intel.com
      8f88ca76