All of lore.kernel.org
 help / color / mirror / Atom feed
* [igt-dev] [PATCH i-g-t v23 00/37] Introduce IGT allocator
@ 2021-03-15 16:58 Zbigniew Kempczyński
  2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 01/37] lib/gem_submission: Add gem_has_relocations() check Zbigniew Kempczyński
                   ` (38 more replies)
  0 siblings, 39 replies; 49+ messages in thread
From: Zbigniew Kempczyński @ 2021-03-15 16:58 UTC (permalink / raw)
  To: igt-dev

This series introduce intel-allocator inside IGT.

v2: add comment/commit msg for allocator core
v3: enforce relocs in gem_linear_blits for ppgtt sizes <= 32b
v4: use addresses only from ppgtt range in check-canonical
v5: use relocations as default up to gen12 to avoid loosing
    coverage.
v6: migrate memory check in gem_ppgtt to avoid exec serialization
v7: keep decanonical address within intel-bb, remove check-canonical
    test
v8: adopt delta-check to use intel-bb with allocator to fully control
    addresses
v9: fix intel_allocator_is_reserved() prototype (Andrzej)
v10: separate allocator initialization for multiprocess execution
    to compile and run against address sanitizer
v11: rebase on top intel-bb and aux pgtable changes
v12: rebase, fixing api-intel-bb
v13: rebase
v14: gem_softpin: fix handle leak, add allocator tests
v15: gem_softpin: add allocator-basic and allocator-basic-reserve to BAT
     add reserve/unreserve to work with full ppgtt without bias/reservation
     from the end of vm
v16: addressing review comments - simplify code, add comments (Chris)
v17: adding SPDX license for all new files introduced in the series
v18: fix intel_bb_add/remove intel_buf list handling from O(n)->O(1) (Chris)
v19: - add igt_list_del_init()
     - migrate gem_has_relocations() check to gem_submission
     - add simple tests (intel-bb and pure execbuf) with allocator usage
       as copy-paste examples
v20: - add possibility to define vm range in simple allocator (default
       just excludes last-page)
     - add test which could reveal render issue on last-page
     - addressing reviews 
     - reorder patches to avoid compilation break
     Series doesn't cover fd/vm_id (it still assumes we use allocator
     with context).
v21: - refactor of allocator code related to keeping allocator handles
       (main reason of that was VM context getparam would return different
        vm_id for same vm). 
     - intel-bb can switch to different vm (allocator handle) now.
     - extend documentation and comments.
v22: address review comments:
     - allow child to use allocator in its process (standalone) +
       add api_intel_allocator@standalone subtest
     - fix couple of minor issues (code refactoring)
v23: address review comments:
     - add "reloc" allocator to avoid conditional code in IGT
     - in random allocator use whole gtt (instead of previously limited, 
       without last page to avoid hang on rcs)
     - use reloc allocator in gem_linear_blits

Cc: Dominik Grzegorzek <dominik.grzegorzek@intel.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala@intel.com>
Cc: Andrzej Turko <andrzej.turko@linux.intel.com>

Dominik Grzegorzek (5):
  lib/igt_list: igt_hlist implementation.
  lib/igt_map: Introduce igt_map
  lib/intel_allocator_simple: Add simple allocator
  tests/api_intel_allocator: Simple allocator test suite
  tests/gem_linear_blits: Use intel allocator

Zbigniew Kempczyński (32):
  lib/gem_submission: Add gem_has_relocations() check
  lib/igt_list: Add igt_list_del_init()
  lib/igt_core: Track child process pid and tid
  lib/intel_allocator_reloc: Add reloc allocator
  lib/intel_allocator_random: Add random allocator
  lib/intel_allocator: Add intel_allocator core
  lib/intel_allocator: Try to stop smoothly instead of deinit
  lib/intel_allocator_msgchannel: Scale to 4k of parallel clients
  lib/intel_allocator: Separate allocator multiprocess start
  lib/intel_bufops: Change size from 32->64 bit
  lib/intel_bufops: Add init with handle and size function
  lib/intel_batchbuffer: Integrate intel_bb with allocator
  lib/intel_batchbuffer: Use relocations in intel-bb up to gen12
  lib/intel_batchbuffer: Create bb with strategy / vm ranges
  lib/intel_batchbuffer: Add tracking intel_buf to intel_bb
  lib/igt_fb: Initialize intel_buf with same size as fb
  tests/api_intel_bb: Remove check-canonical test
  tests/api_intel_bb: Modify test to verify intel_bb with allocator
  tests/api_intel_bb: Add subtest to check render batch on the last page
  tests/api_intel_bb: Add compressed->compressed copy
  tests/api_intel_bb: Add purge-bb test
  tests/api_intel_bb: Add simple intel-bb which uses allocator
  tests/api_intel_bb: Use allocator in delta-check test
  tests/api_intel_bb: Check switching vm in intel-bb
  tests/api_intel_allocator: Add execbuf with allocator example
  tests/api_intel_allocator: Verify child can use its standalone
    allocator
  tests/gem_softpin: Verify allocator and execbuf pair work together
  tests/gem|kms: Remove intel_bb from fixture
  tests/gem_mmap_offset: Use intel_buf wrapper code instead direct
  tests/gem_ppgtt: Adopt test to use intel_bb with allocator
  tests/gem_render_copy_redux: Adopt to use with intel_bb and allocator
  tests/perf.c: Remove buffer from batch

 .../igt-gpu-tools/igt-gpu-tools-docs.xml      |    2 +
 lib/Makefile.sources                          |    8 +
 lib/i915/gem_submission.c                     |   30 +
 lib/i915/gem_submission.h                     |    1 +
 lib/igt_core.c                                |   20 +
 lib/igt_fb.c                                  |   10 +-
 lib/igt_list.c                                |   78 +
 lib/igt_list.h                                |   51 +-
 lib/igt_map.c                                 |  131 ++
 lib/igt_map.h                                 |  104 ++
 lib/intel_allocator.c                         | 1360 +++++++++++++++++
 lib/intel_allocator.h                         |  222 +++
 lib/intel_allocator_msgchannel.c              |  195 +++
 lib/intel_allocator_msgchannel.h              |  156 ++
 lib/intel_allocator_random.c                  |  188 +++
 lib/intel_allocator_reloc.c                   |  190 +++
 lib/intel_allocator_simple.c                  |  744 +++++++++
 lib/intel_aux_pgtable.c                       |   26 +-
 lib/intel_batchbuffer.c                       |  729 ++++++---
 lib/intel_batchbuffer.h                       |   54 +-
 lib/intel_bufops.c                            |   63 +-
 lib/intel_bufops.h                            |   20 +-
 lib/media_spin.c                              |    2 -
 lib/meson.build                               |    6 +
 tests/i915/api_intel_allocator.c              |  700 +++++++++
 tests/i915/api_intel_bb.c                     |  804 ++++++++--
 tests/i915/gem_caching.c                      |   14 +-
 tests/i915/gem_linear_blits.c                 |  120 +-
 tests/i915/gem_mmap_offset.c                  |    4 +-
 tests/i915/gem_partial_pwrite_pread.c         |   40 +-
 tests/i915/gem_ppgtt.c                        |    7 +-
 tests/i915/gem_render_copy.c                  |   31 +-
 tests/i915/gem_render_copy_redux.c            |   24 +-
 tests/i915/gem_softpin.c                      |  194 +++
 tests/i915/perf.c                             |    9 +
 tests/intel-ci/fast-feedback.testlist         |    2 +
 tests/kms_big_fb.c                            |   12 +-
 tests/meson.build                             |    1 +
 38 files changed, 5856 insertions(+), 496 deletions(-)
 create mode 100644 lib/igt_map.c
 create mode 100644 lib/igt_map.h
 create mode 100644 lib/intel_allocator.c
 create mode 100644 lib/intel_allocator.h
 create mode 100644 lib/intel_allocator_msgchannel.c
 create mode 100644 lib/intel_allocator_msgchannel.h
 create mode 100644 lib/intel_allocator_random.c
 create mode 100644 lib/intel_allocator_reloc.c
 create mode 100644 lib/intel_allocator_simple.c
 create mode 100644 tests/i915/api_intel_allocator.c

-- 
2.26.0

_______________________________________________
igt-dev mailing list
igt-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/igt-dev

^ permalink raw reply	[flat|nested] 49+ messages in thread

end of thread, other threads:[~2021-03-16 13:26 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-15 16:58 [igt-dev] [PATCH i-g-t v23 00/37] Introduce IGT allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 01/37] lib/gem_submission: Add gem_has_relocations() check Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 02/37] lib/igt_list: Add igt_list_del_init() Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 03/37] lib/igt_list: igt_hlist implementation Zbigniew Kempczyński
2021-03-16 10:29   ` Daniel Vetter
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 04/37] lib/igt_map: Introduce igt_map Zbigniew Kempczyński
2021-03-16 10:30   ` Daniel Vetter
2021-03-16 12:25     ` Zbigniew Kempczyński
2021-03-16 13:26       ` Daniel Vetter
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 05/37] lib/igt_core: Track child process pid and tid Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 06/37] lib/intel_allocator_simple: Add simple allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 07/37] lib/intel_allocator_reloc: Add reloc allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 08/37] lib/intel_allocator_random: Add random allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 09/37] lib/intel_allocator: Add intel_allocator core Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 10/37] lib/intel_allocator: Try to stop smoothly instead of deinit Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 11/37] lib/intel_allocator_msgchannel: Scale to 4k of parallel clients Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 12/37] lib/intel_allocator: Separate allocator multiprocess start Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 13/37] lib/intel_bufops: Change size from 32->64 bit Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 14/37] lib/intel_bufops: Add init with handle and size function Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 15/37] lib/intel_batchbuffer: Integrate intel_bb with allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 16/37] lib/intel_batchbuffer: Use relocations in intel-bb up to gen12 Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 17/37] lib/intel_batchbuffer: Create bb with strategy / vm ranges Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 18/37] lib/intel_batchbuffer: Add tracking intel_buf to intel_bb Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 19/37] lib/igt_fb: Initialize intel_buf with same size as fb Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 20/37] tests/api_intel_bb: Remove check-canonical test Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 21/37] tests/api_intel_bb: Modify test to verify intel_bb with allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 22/37] tests/api_intel_bb: Add subtest to check render batch on the last page Zbigniew Kempczyński
2021-03-16 11:47   ` Daniel Vetter
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 23/37] tests/api_intel_bb: Add compressed->compressed copy Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 24/37] tests/api_intel_bb: Add purge-bb test Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 25/37] tests/api_intel_bb: Add simple intel-bb which uses allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 26/37] tests/api_intel_bb: Use allocator in delta-check test Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 27/37] tests/api_intel_bb: Check switching vm in intel-bb Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 28/37] tests/api_intel_allocator: Simple allocator test suite Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 29/37] tests/api_intel_allocator: Add execbuf with allocator example Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 30/37] tests/api_intel_allocator: Verify child can use its standalone allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 31/37] tests/gem_softpin: Verify allocator and execbuf pair work together Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 32/37] tests/gem|kms: Remove intel_bb from fixture Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 33/37] tests/gem_mmap_offset: Use intel_buf wrapper code instead direct Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 34/37] tests/gem_ppgtt: Adopt test to use intel_bb with allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 35/37] tests/gem_render_copy_redux: Adopt to use with intel_bb and allocator Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 36/37] tests/perf.c: Remove buffer from batch Zbigniew Kempczyński
2021-03-15 16:58 ` [igt-dev] [PATCH i-g-t v23 37/37] tests/gem_linear_blits: Use intel allocator Zbigniew Kempczyński
2021-03-16 11:23   ` Chris Wilson
2021-03-16 13:08     ` Zbigniew Kempczyński
2021-03-16 13:18     ` Zbigniew Kempczyński
2021-03-15 17:59 ` [igt-dev] ✓ Fi.CI.BAT: success for Introduce IGT allocator (rev26) Patchwork
2021-03-15 19:00 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
2021-03-16 10:36   ` Daniel Vetter

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.