[igt-dev] [PATCH i-g-t v14 00/33] Introduce IGT allocator
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Thu Jan 14 12:22:00 UTC 2021
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
Cc: Dominik Grzegorzek <dominik.grzegorzek at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Petri Latvala <petri.latvala at intel.com>
Cc: Andrzej Turko <andrzej.turko at 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 (28):
tests/gem_softpin: Fix object leak in softpin test
lib/igt_core: Track child process pid and tid
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_bufops: Removes handle from allocator, change size
lib/intel_bufops: Add init with handle and size function
lib/intel_batchbuffer: Integrate intel_bb with allocator
lib/intel_batchbuffer: Add tracking intel_buf to intel_bb
lib/intel_aux_pgtable: Get addresses for aux table from an allocator
lib/igt_fb: Initialize intel_buf with same size as fb
tests/api_intel_bb: Modify test to verify intel_bb with allocator
tests/api_intel_bb: Add compressed->compressed copy
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
lib/ioctl_wrappers: Add gem_has_relocations() check
lib/intel_batchbuffer: Use relocations in intel-bb up to gen12
tests/api_intel_*: Adopt to use relocations as default up to gen12
tests/gem_ppgtt: Migrate memory check out of render blits
tests/api_intel_bb: Remove check-canonical test
tests/api_intel_bb: Use allocator in delta-check test
lib/intel_allocator: Separate allocator multiprocess start
tests/api_intel_allocator: Prepare to run with sanitizer
.../igt-gpu-tools/igt-gpu-tools-docs.xml | 2 +
lib/Makefile.sources | 2 +
lib/igt_core.c | 20 +
lib/igt_fb.c | 10 +-
lib/igt_list.c | 71 ++
lib/igt_list.h | 50 +-
lib/igt_map.c | 150 +++
lib/igt_map.h | 121 +++
lib/intel_allocator.c | 986 ++++++++++++++++++
lib/intel_allocator.h | 138 +++
lib/intel_allocator_msgchannel.c | 190 ++++
lib/intel_allocator_msgchannel.h | 140 +++
lib/intel_allocator_random.c | 223 ++++
lib/intel_allocator_simple.c | 728 +++++++++++++
lib/intel_aux_pgtable.c | 26 +-
lib/intel_batchbuffer.c | 569 +++++++---
lib/intel_batchbuffer.h | 28 +-
lib/intel_bufops.c | 61 +-
lib/intel_bufops.h | 20 +-
lib/ioctl_wrappers.c | 43 +
lib/ioctl_wrappers.h | 1 +
lib/meson.build | 5 +
tests/i915/api_intel_allocator.c | 560 ++++++++++
tests/i915/api_intel_bb.c | 587 ++++++++---
tests/i915/gem_caching.c | 14 +-
tests/i915/gem_linear_blits.c | 103 +-
tests/i915/gem_mmap_offset.c | 4 +-
tests/i915/gem_partial_pwrite_pread.c | 40 +-
tests/i915/gem_ppgtt.c | 57 +-
tests/i915/gem_render_copy.c | 31 +-
tests/i915/gem_render_copy_redux.c | 24 +-
tests/i915/gem_softpin.c | 97 ++
tests/i915/perf.c | 9 +
tests/kms_big_fb.c | 12 +-
tests/meson.build | 1 +
35 files changed, 4668 insertions(+), 455 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_simple.c
create mode 100644 tests/i915/api_intel_allocator.c
--
2.26.0
More information about the igt-dev
mailing list