From: Andi Shyti <andi.shyti@linux.intel.com> To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>, "Andi Shyti" <andi@etezian.org>, "Tvrtko Ursulin" <tvrtko.ursulin@intel.com>, "Chris Wilson" <chris@chris-wilson.co.uk>, "Matthew Auld" <matthew.auld@intel.com>, "Andi Shyti" <andi.shyti@linux.intel.com>, "Shawn Lee" <shawn.c.lee@intel.com> Subject: [PATCH v4 0/5] Add guard padding around i915_vma Date: Thu, 1 Dec 2022 00:58:00 +0100 [thread overview] Message-ID: <20221130235805.221010-1-andi.shyti@linux.intel.com> (raw) Hi, This series adds guards around vma's but setting a pages at the beginning and at the end that work as padding. The first user of the vma guard are scanout objects which don't need anymore to add scratch to all the unused ggtt's and speeding up up considerably the boot and resume by several hundreds of milliseconds up to over a full second in slower machines. Because of this we don't need anymore 2ef6efa79fec ("drm/i915: Improve on suspend / resume time with VT-d enabled") which gets reverted. Thanks Tvrtko and Chris for the review. Andi Changelog ========= v3 -> v4: - change the order of the patches: the 64->32 bit change of the memory alignment goes as first (Tvrtko). - Use roundup instead of ALIGN to round up the guard padding (Chris). - Restore the GEM_BUG_ON(2 * guard > end) as a paranoiac check and as mean of documentation (Chris). v2 -> v3: - fix Tvrtko's comments: explain in a comment why the guard is is alligned as the vma and remove a GEM_BUG_ON() in case the the total padding was exceeding the size of the va. - the display_alignment is declared as u32 instead of a u64 in a separate patch. v1 -> v2: - Revert 2ef6efa79fec ("drm/i915: Improve on suspend / resume time with VT-d enabled") Andi Shyti (2): drm/i915: Limit the display memory alignment to 32 bit instead of 64 Revert "drm/i915: Improve on suspend / resume time with VT-d enabled" Chris Wilson (3): drm/i915: Wrap all access to i915_vma.node.start|size drm/i915: Introduce guard pages to i915_vma drm/i915: Refine VT-d scanout workaround drivers/gpu/drm/i915/display/intel_fb_pin.c | 2 +- drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_domain.c | 15 ++- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 33 +++--- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 4 +- .../gpu/drm/i915/gem/selftests/huge_pages.c | 2 +- .../i915/gem/selftests/i915_gem_client_blt.c | 23 ++-- .../drm/i915/gem/selftests/i915_gem_context.c | 15 ++- .../drm/i915/gem/selftests/i915_gem_mman.c | 2 +- .../drm/i915/gem/selftests/igt_gem_utils.c | 7 +- drivers/gpu/drm/i915/gt/gen7_renderclear.c | 2 +- drivers/gpu/drm/i915/gt/intel_ggtt.c | 108 ++++-------------- drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 3 +- drivers/gpu/drm/i915/gt/intel_gtt.h | 24 ---- drivers/gpu/drm/i915/gt/intel_renderstate.c | 2 +- .../gpu/drm/i915/gt/intel_ring_submission.c | 2 +- drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 8 +- drivers/gpu/drm/i915/gt/selftest_execlists.c | 18 +-- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 15 +-- drivers/gpu/drm/i915/gt/selftest_lrc.c | 16 +-- .../drm/i915/gt/selftest_ring_submission.c | 2 +- drivers/gpu/drm/i915/gt/selftest_rps.c | 12 +- .../gpu/drm/i915/gt/selftest_workarounds.c | 8 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 4 +- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/i915_driver.c | 16 --- drivers/gpu/drm/i915/i915_gem_gtt.h | 3 +- drivers/gpu/drm/i915/i915_perf.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 63 +++++++--- drivers/gpu/drm/i915/i915_vma.h | 52 ++++++++- drivers/gpu/drm/i915/i915_vma_resource.c | 4 +- drivers/gpu/drm/i915/i915_vma_resource.h | 17 ++- drivers/gpu/drm/i915/i915_vma_types.h | 3 +- drivers/gpu/drm/i915/selftests/i915_request.c | 20 ++-- drivers/gpu/drm/i915/selftests/igt_spinner.c | 8 +- 37 files changed, 264 insertions(+), 259 deletions(-) -- 2.38.1
WARNING: multiple messages have this Message-ID (diff)
From: Andi Shyti <andi.shyti@linux.intel.com> To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>, "Chris Wilson" <chris@chris-wilson.co.uk>, "Matthew Auld" <matthew.auld@intel.com> Subject: [Intel-gfx] [PATCH v4 0/5] Add guard padding around i915_vma Date: Thu, 1 Dec 2022 00:58:00 +0100 [thread overview] Message-ID: <20221130235805.221010-1-andi.shyti@linux.intel.com> (raw) Hi, This series adds guards around vma's but setting a pages at the beginning and at the end that work as padding. The first user of the vma guard are scanout objects which don't need anymore to add scratch to all the unused ggtt's and speeding up up considerably the boot and resume by several hundreds of milliseconds up to over a full second in slower machines. Because of this we don't need anymore 2ef6efa79fec ("drm/i915: Improve on suspend / resume time with VT-d enabled") which gets reverted. Thanks Tvrtko and Chris for the review. Andi Changelog ========= v3 -> v4: - change the order of the patches: the 64->32 bit change of the memory alignment goes as first (Tvrtko). - Use roundup instead of ALIGN to round up the guard padding (Chris). - Restore the GEM_BUG_ON(2 * guard > end) as a paranoiac check and as mean of documentation (Chris). v2 -> v3: - fix Tvrtko's comments: explain in a comment why the guard is is alligned as the vma and remove a GEM_BUG_ON() in case the the total padding was exceeding the size of the va. - the display_alignment is declared as u32 instead of a u64 in a separate patch. v1 -> v2: - Revert 2ef6efa79fec ("drm/i915: Improve on suspend / resume time with VT-d enabled") Andi Shyti (2): drm/i915: Limit the display memory alignment to 32 bit instead of 64 Revert "drm/i915: Improve on suspend / resume time with VT-d enabled" Chris Wilson (3): drm/i915: Wrap all access to i915_vma.node.start|size drm/i915: Introduce guard pages to i915_vma drm/i915: Refine VT-d scanout workaround drivers/gpu/drm/i915/display/intel_fb_pin.c | 2 +- drivers/gpu/drm/i915/display/intel_fbdev.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_domain.c | 15 ++- .../gpu/drm/i915/gem/i915_gem_execbuffer.c | 33 +++--- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_shrinker.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 4 +- .../gpu/drm/i915/gem/selftests/huge_pages.c | 2 +- .../i915/gem/selftests/i915_gem_client_blt.c | 23 ++-- .../drm/i915/gem/selftests/i915_gem_context.c | 15 ++- .../drm/i915/gem/selftests/i915_gem_mman.c | 2 +- .../drm/i915/gem/selftests/igt_gem_utils.c | 7 +- drivers/gpu/drm/i915/gt/gen7_renderclear.c | 2 +- drivers/gpu/drm/i915/gt/intel_ggtt.c | 108 ++++-------------- drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 3 +- drivers/gpu/drm/i915/gt/intel_gtt.h | 24 ---- drivers/gpu/drm/i915/gt/intel_renderstate.c | 2 +- .../gpu/drm/i915/gt/intel_ring_submission.c | 2 +- drivers/gpu/drm/i915/gt/selftest_engine_cs.c | 8 +- drivers/gpu/drm/i915/gt/selftest_execlists.c | 18 +-- drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 15 +-- drivers/gpu/drm/i915/gt/selftest_lrc.c | 16 +-- .../drm/i915/gt/selftest_ring_submission.c | 2 +- drivers/gpu/drm/i915/gt/selftest_rps.c | 12 +- .../gpu/drm/i915/gt/selftest_workarounds.c | 8 +- drivers/gpu/drm/i915/i915_cmd_parser.c | 4 +- drivers/gpu/drm/i915/i915_debugfs.c | 2 +- drivers/gpu/drm/i915/i915_driver.c | 16 --- drivers/gpu/drm/i915/i915_gem_gtt.h | 3 +- drivers/gpu/drm/i915/i915_perf.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 63 +++++++--- drivers/gpu/drm/i915/i915_vma.h | 52 ++++++++- drivers/gpu/drm/i915/i915_vma_resource.c | 4 +- drivers/gpu/drm/i915/i915_vma_resource.h | 17 ++- drivers/gpu/drm/i915/i915_vma_types.h | 3 +- drivers/gpu/drm/i915/selftests/i915_request.c | 20 ++-- drivers/gpu/drm/i915/selftests/igt_spinner.c | 8 +- 37 files changed, 264 insertions(+), 259 deletions(-) -- 2.38.1
next reply other threads:[~2022-11-30 23:58 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-11-30 23:58 Andi Shyti [this message] 2022-11-30 23:58 ` [Intel-gfx] [PATCH v4 0/5] Add guard padding around i915_vma Andi Shyti 2022-11-30 23:58 ` [PATCH v4 1/5] drm/i915: Limit the display memory alignment to 32 bit instead of 64 Andi Shyti 2022-11-30 23:58 ` [Intel-gfx] " Andi Shyti 2022-11-30 23:58 ` [PATCH v4 2/5] drm/i915: Wrap all access to i915_vma.node.start|size Andi Shyti 2022-11-30 23:58 ` [Intel-gfx] " Andi Shyti 2022-11-30 23:58 ` [PATCH v4 3/5] drm/i915: Introduce guard pages to i915_vma Andi Shyti 2022-11-30 23:58 ` [Intel-gfx] " Andi Shyti 2022-12-01 8:59 ` Tvrtko Ursulin 2022-12-01 10:45 ` Andi Shyti 2022-12-01 10:45 ` Andi Shyti 2022-12-01 10:50 ` Tvrtko Ursulin 2022-12-01 14:44 ` [PATCH v5 " Andi Shyti 2022-12-01 14:44 ` [Intel-gfx] " Andi Shyti 2022-12-01 14:51 ` Tvrtko Ursulin 2022-12-01 20:39 ` [PATCH v6 " Andi Shyti 2022-12-01 20:39 ` [Intel-gfx] " Andi Shyti 2022-12-02 10:20 ` Tvrtko Ursulin 2022-12-02 11:11 ` Andi Shyti 2022-12-02 11:11 ` Andi Shyti 2022-12-02 12:38 ` Tvrtko Ursulin 2022-11-30 23:58 ` [PATCH v4 4/5] drm/i915: Refine VT-d scanout workaround Andi Shyti 2022-11-30 23:58 ` [Intel-gfx] " Andi Shyti 2022-12-01 9:00 ` Tvrtko Ursulin 2022-11-30 23:58 ` [PATCH v4 5/5] Revert "drm/i915: Improve on suspend / resume time with VT-d enabled" Andi Shyti 2022-11-30 23:58 ` [Intel-gfx] " Andi Shyti 2022-12-01 9:02 ` Tvrtko Ursulin 2022-12-01 0:59 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for add guard padding around i915_vma (rev4) Patchwork 2022-12-01 0:59 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2022-12-01 1:26 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2022-12-01 15:01 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for add guard padding around i915_vma (rev5) Patchwork 2022-12-01 15:01 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2022-12-01 16:07 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2022-12-01 21:05 ` [Intel-gfx] ✗ Fi.CI.SPARSE: warning for add guard padding around i915_vma (rev6) Patchwork 2022-12-01 21:30 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2022-12-02 14:13 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for add guard padding around i915_vma (rev7) Patchwork 2022-12-02 14:13 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork 2022-12-02 14:43 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2022-12-03 2:27 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2022-12-05 14:47 ` Andi Shyti
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221130235805.221010-1-andi.shyti@linux.intel.com \ --to=andi.shyti@linux.intel.com \ --cc=andi@etezian.org \ --cc=chris@chris-wilson.co.uk \ --cc=dri-devel@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ --cc=matthew.auld@intel.com \ --cc=shawn.c.lee@intel.com \ --cc=thomas.hellstrom@linux.intel.com \ --cc=tvrtko.ursulin@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.