1. 20 12月, 2021 2 次提交
  2. 20 11月, 2021 2 次提交
  3. 16 10月, 2021 1 次提交
    • M
      drm/i915: Multi-BB execbuf · 544460c3
      Matthew Brost 提交于
      Allow multiple batch buffers to be submitted in a single execbuf IOCTL
      after a context has been configured with the 'set_parallel' extension.
      The number batches is implicit based on the contexts configuration.
      
      This is implemented with a series of loops. First a loop is used to find
      all the batches, a loop to pin all the HW contexts, a loop to create all
      the requests, a loop to submit (emit BB start, etc...) all the requests,
      a loop to tie the requests to the VMAs they touch, and finally a loop to
      commit the requests to the backend.
      
      A composite fence is also created for the generated requests to return
      to the user and to stick in dma resv slots.
      
      No behavior from the existing IOCTL should be changed aside from when
      throttling because the ring for a context is full. In this situation,
      i915 will now wait while holding the object locks. This change was done
      because the code is much simpler to wait while holding the locks and we
      believe there isn't a huge benefit of dropping these locks. If this
      proves false we can restructure the code to drop the locks during the
      wait.
      
      IGT: https://patchwork.freedesktop.org/patch/447008/?series=93071&rev=1
      media UMD: https://github.com/intel/media-driver/pull/1252
      
      v2:
       (Matthew Brost)
        - Return proper error value if i915_request_create fails
      v3:
       (John Harrison)
        - Add comment explaining create / add order loops + locking
        - Update commit message explaining different in IOCTL behavior
        - Line wrap some comments
        - eb_add_request returns void
        - Return -EINVAL rather triggering BUG_ON if cmd parser used
       (Checkpatch)
        - Check eb->batch_len[*current_batch]
      v4:
       (CI)
        - Set batch len if passed if via execbuf args
        - Call __i915_request_skip after __i915_request_commit
       (Kernel test robot)
        - Initialize rq to NULL in eb_pin_timeline
      v5:
       (John Harrison)
        - Fix typo in comments near bb order loops
      Signed-off-by: NMatthew Brost <matthew.brost@intel.com>
      Reviewed-by: NJohn Harrison <John.C.Harrison@Intel.com>
      Signed-off-by: NJohn Harrison <John.C.Harrison@Intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20211014172005.27155-21-matthew.brost@intel.com
      544460c3
  4. 28 7月, 2021 1 次提交
  5. 04 6月, 2021 1 次提交
  6. 25 5月, 2021 2 次提交
  7. 25 3月, 2021 1 次提交
  8. 24 3月, 2021 2 次提交
  9. 21 1月, 2021 1 次提交
  10. 07 9月, 2020 1 次提交
  11. 28 5月, 2020 1 次提交
  12. 02 4月, 2020 1 次提交
  13. 17 3月, 2020 2 次提交
  14. 31 1月, 2020 1 次提交
  15. 08 1月, 2020 1 次提交
  16. 23 12月, 2019 1 次提交
  17. 05 12月, 2019 1 次提交
  18. 04 12月, 2019 1 次提交
  19. 22 10月, 2019 1 次提交
  20. 04 10月, 2019 3 次提交
  21. 11 9月, 2019 1 次提交
  22. 10 9月, 2019 2 次提交
  23. 22 8月, 2019 2 次提交
  24. 20 8月, 2019 1 次提交
  25. 13 8月, 2019 2 次提交
  26. 03 8月, 2019 1 次提交
    • C
      drm/i915: Hide unshrinkable context objects from the shrinker · 1aff1903
      Chris Wilson 提交于
      The shrinker cannot touch objects used by the contexts (logical state
      and ring). Currently we mark those as "pin_global" to let the shrinker
      skip over them, however, if we remove them from the shrinker lists
      entirely, we don't event have to include them in our shrink accounting.
      
      By keeping the unshrinkable objects in our shrinker tracking, we report
      a large number of objects available to be shrunk, and leave the shrinker
      deeply unsatisfied when we fail to reclaim those. The shrinker will
      persist in trying to reclaim the unavailable objects, forcing the system
      into a livelock (not even hitting the dread oomkiller).
      
      v2: Extend unshrinkable protection for perma-pinned scratch and guc
      allocations (Tvrtko)
      v3: Notice that we should be pinned when marking unshrinkable and so the
      link cannot be empty; merge duplicate paths.
      Signed-off-by: NChris Wilson <chris@chris-wilson.co.uk>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
      Reviewed-by: NMatthew Auld <matthew.auld@intel.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20190802212137.22207-1-chris@chris-wilson.co.uk
      1aff1903
  27. 13 6月, 2019 1 次提交
  28. 06 6月, 2019 2 次提交
  29. 28 5月, 2019 1 次提交