* [Intel-gfx] [PATCH] drm/i915/gem: Use large rings for compute contexts
@ 2023-05-16 12:13 Tejas Upadhyay
2023-05-16 12:31 ` Jani Nikula
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Tejas Upadhyay @ 2023-05-16 12:13 UTC (permalink / raw)
To: intel-gfx; +Cc: Chris Wilson
From: Chris Wilson <chris.p.wilson@intel.com>
Allow compute contexts to submit the maximal amount of work without
blocking userspace.
The original size for user LRC ring's (SZ_16K) was chosen to minimise
memory consumption, without being so small as to frequently stall in the
middle of workloads. With the main consumers being GL / media pipelines
of 2 or 3 batches per frame, we want to support ~10 requests in flight
to allow for the application to control throttling without stalling
within a frame.
Signed-off-by: Chris Wilson <chris.p.wilson@intel.com>
---
drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 5402a7bbcb1d..0edb7be6fa5e 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -965,6 +965,8 @@ static int intel_context_set_gem(struct intel_context *ce,
GEM_BUG_ON(intel_context_is_pinned(ce));
ce->ring_size = SZ_16K;
+ if (ce->engine->class == COMPUTE_CLASS)
+ ce->ring_size = SZ_512K;
i915_vm_put(ce->vm);
ce->vm = i915_gem_context_get_eb_vm(ctx);
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [Intel-gfx] [PATCH] drm/i915/gem: Use large rings for compute contexts 2023-05-16 12:13 [Intel-gfx] [PATCH] drm/i915/gem: Use large rings for compute contexts Tejas Upadhyay @ 2023-05-16 12:31 ` Jani Nikula 2023-05-16 14:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork 2023-05-16 20:04 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Jani Nikula @ 2023-05-16 12:31 UTC (permalink / raw) To: Tejas Upadhyay, intel-gfx; +Cc: Chris Wilson On Tue, 16 May 2023, Tejas Upadhyay <tejas.upadhyay@intel.com> wrote: > From: Chris Wilson <chris.p.wilson@intel.com> > > Allow compute contexts to submit the maximal amount of work without > blocking userspace. > > The original size for user LRC ring's (SZ_16K) was chosen to minimise > memory consumption, without being so small as to frequently stall in the > middle of workloads. With the main consumers being GL / media pipelines > of 2 or 3 batches per frame, we want to support ~10 requests in flight > to allow for the application to control throttling without stalling > within a frame. > > Signed-off-by: Chris Wilson <chris.p.wilson@intel.com> > --- > drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c > index 5402a7bbcb1d..0edb7be6fa5e 100644 > --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c > +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c > @@ -965,6 +965,8 @@ static int intel_context_set_gem(struct intel_context *ce, > > GEM_BUG_ON(intel_context_is_pinned(ce)); > ce->ring_size = SZ_16K; > + if (ce->engine->class == COMPUTE_CLASS) > + ce->ring_size = SZ_512K; Not a huge fan of first initializing something, and then changing it in some cases. Why not if (ce->engine->class == COMPUTE_CLASS) ... else ...? BR, Jani. > > i915_vm_put(ce->vm); > ce->vm = i915_gem_context_get_eb_vm(ctx); -- Jani Nikula, Intel Open Source Graphics Center ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/gem: Use large rings for compute contexts 2023-05-16 12:13 [Intel-gfx] [PATCH] drm/i915/gem: Use large rings for compute contexts Tejas Upadhyay 2023-05-16 12:31 ` Jani Nikula @ 2023-05-16 14:13 ` Patchwork 2023-05-16 20:04 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2023-05-16 14:13 UTC (permalink / raw) To: Tejas Upadhyay; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 6259 bytes --] == Series Details == Series: drm/i915/gem: Use large rings for compute contexts URL : https://patchwork.freedesktop.org/series/117814/ State : success == Summary == CI Bug Log - changes from CI_DRM_13151 -> Patchwork_117814v1 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/index.html Participating hosts (38 -> 37) ------------------------------ Missing (1): fi-snb-2520m Known issues ------------ Here are the changes found in Patchwork_117814v1 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_module_load@load: - bat-adls-5: [PASS][1] -> [ABORT][2] ([i915#4391]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-adls-5/igt@i915_module_load@load.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-adls-5/igt@i915_module_load@load.html * igt@i915_selftest@live@gt_engines: - bat-atsm-1: [PASS][3] -> [FAIL][4] ([i915#6268]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-atsm-1/igt@i915_selftest@live@gt_engines.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-atsm-1/igt@i915_selftest@live@gt_engines.html * igt@i915_selftest@live@hangcheck: - bat-dg2-11: [PASS][5] -> [ABORT][6] ([i915#7913] / [i915#7979]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-dg2-11/igt@i915_selftest@live@hangcheck.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-dg2-11/igt@i915_selftest@live@hangcheck.html * igt@i915_selftest@live@requests: - bat-rpls-1: [PASS][7] -> [ABORT][8] ([i915#4983] / [i915#7911] / [i915#7920]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-rpls-1/igt@i915_selftest@live@requests.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-rpls-1/igt@i915_selftest@live@requests.html * igt@i915_selftest@live@slpc: - bat-rpls-2: NOTRUN -> [DMESG-WARN][9] ([i915#6367]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-rpls-2/igt@i915_selftest@live@slpc.html * igt@i915_suspend@basic-s2idle-without-i915: - bat-rpls-2: NOTRUN -> [ABORT][10] ([i915#6687]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-rpls-2/igt@i915_suspend@basic-s2idle-without-i915.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence: - bat-dg2-11: NOTRUN -> [SKIP][11] ([i915#1845] / [i915#5354]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-dg2-11/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html #### Possible fixes #### * igt@i915_pm_rpm@basic-rte: - {bat-mtlp-8}: [TIMEOUT][12] -> [PASS][13] [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-mtlp-8/igt@i915_pm_rpm@basic-rte.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-mtlp-8/igt@i915_pm_rpm@basic-rte.html * igt@i915_selftest@live@reset: - bat-rpls-2: [ABORT][14] ([i915#4983] / [i915#7461] / [i915#7913] / [i915#8347]) -> [PASS][15] [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-rpls-2/igt@i915_selftest@live@reset.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-rpls-2/igt@i915_selftest@live@reset.html * igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1: - bat-dg2-8: [FAIL][16] ([i915#7932]) -> [PASS][17] +1 similar issue [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/bat-dg2-8/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence@pipe-c-dp-1.html #### Warnings #### * igt@i915_suspend@basic-s3-without-i915: - fi-tgl-1115g4: [INCOMPLETE][18] ([i915#7443] / [i915#7953] / [i915#8102]) -> [INCOMPLETE][19] ([i915#7443] / [i915#8102]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/fi-tgl-1115g4/igt@i915_suspend@basic-s3-without-i915.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/fi-tgl-1115g4/igt@i915_suspend@basic-s3-without-i915.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1845]: https://gitlab.freedesktop.org/drm/intel/issues/1845 [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391 [i915#4983]: https://gitlab.freedesktop.org/drm/intel/issues/4983 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6268]: https://gitlab.freedesktop.org/drm/intel/issues/6268 [i915#6367]: https://gitlab.freedesktop.org/drm/intel/issues/6367 [i915#6687]: https://gitlab.freedesktop.org/drm/intel/issues/6687 [i915#7443]: https://gitlab.freedesktop.org/drm/intel/issues/7443 [i915#7461]: https://gitlab.freedesktop.org/drm/intel/issues/7461 [i915#7911]: https://gitlab.freedesktop.org/drm/intel/issues/7911 [i915#7913]: https://gitlab.freedesktop.org/drm/intel/issues/7913 [i915#7920]: https://gitlab.freedesktop.org/drm/intel/issues/7920 [i915#7932]: https://gitlab.freedesktop.org/drm/intel/issues/7932 [i915#7953]: https://gitlab.freedesktop.org/drm/intel/issues/7953 [i915#7979]: https://gitlab.freedesktop.org/drm/intel/issues/7979 [i915#8102]: https://gitlab.freedesktop.org/drm/intel/issues/8102 [i915#8347]: https://gitlab.freedesktop.org/drm/intel/issues/8347 Build changes ------------- * Linux: CI_DRM_13151 -> Patchwork_117814v1 CI-20190529: 20190529 CI_DRM_13151: 4a28d03908b9d284f0b64a1fd9f5304761460db8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7292: 9d9475ffd3b5ae18fd8ec120595385f6c562f249 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_117814v1: 4a28d03908b9d284f0b64a1fd9f5304761460db8 @ git://anongit.freedesktop.org/gfx-ci/linux ### Linux commits cdc0e57796e3 drm/i915/gem: Use large rings for compute contexts == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/index.html [-- Attachment #2: Type: text/html, Size: 7385 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/gem: Use large rings for compute contexts 2023-05-16 12:13 [Intel-gfx] [PATCH] drm/i915/gem: Use large rings for compute contexts Tejas Upadhyay 2023-05-16 12:31 ` Jani Nikula 2023-05-16 14:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork @ 2023-05-16 20:04 ` Patchwork 2 siblings, 0 replies; 4+ messages in thread From: Patchwork @ 2023-05-16 20:04 UTC (permalink / raw) To: Tejas Upadhyay; +Cc: intel-gfx [-- Attachment #1: Type: text/plain, Size: 7126 bytes --] == Series Details == Series: drm/i915/gem: Use large rings for compute contexts URL : https://patchwork.freedesktop.org/series/117814/ State : success == Summary == CI Bug Log - changes from CI_DRM_13151_full -> Patchwork_117814v1_full ==================================================== Summary ------- **SUCCESS** No regressions found. Participating hosts (7 -> 7) ------------------------------ No changes in participating hosts Known issues ------------ Here are the changes found in Patchwork_117814v1_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2: - shard-glk: [PASS][1] -> [FAIL][2] ([i915#79]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-glk6/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-glk3/igt@kms_flip@flip-vs-expired-vblank@b-hdmi-a2.html * igt@kms_flip@flip-vs-suspend@b-dp1: - shard-apl: [PASS][3] -> [ABORT][4] ([i915#180]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-apl1/igt@kms_flip@flip-vs-suspend@b-dp1.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-apl3/igt@kms_flip@flip-vs-suspend@b-dp1.html #### Possible fixes #### * igt@gem_exec_fair@basic-none@bcs0: - {shard-rkl}: [FAIL][5] ([i915#2842]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-rkl-7/igt@gem_exec_fair@basic-none@bcs0.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-rkl-6/igt@gem_exec_fair@basic-none@bcs0.html * igt@gem_exec_fair@basic-pace-share@rcs0: - shard-glk: [FAIL][7] ([i915#2842]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-glk9/igt@gem_exec_fair@basic-pace-share@rcs0.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-glk1/igt@gem_exec_fair@basic-pace-share@rcs0.html * igt@i915_pm_dc@dc9-dpms: - {shard-tglu}: [SKIP][9] ([i915#4281]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-tglu-6/igt@i915_pm_dc@dc9-dpms.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-tglu-4/igt@i915_pm_dc@dc9-dpms.html * igt@i915_pm_rc6_residency@rc6-idle@vcs0: - {shard-dg1}: [FAIL][11] ([i915#3591]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-dg1-14/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-dg1-18/igt@i915_pm_rc6_residency@rc6-idle@vcs0.html * igt@i915_pm_rpm@dpms-mode-unset-lpsp: - {shard-rkl}: [SKIP][13] ([i915#1397]) -> [PASS][14] +1 similar issue [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-rkl-6/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-rkl-7/igt@i915_pm_rpm@dpms-mode-unset-lpsp.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-glk: [FAIL][15] ([i915#2346]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-glk1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-glk5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1: - shard-glk: [FAIL][17] ([i915#79]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_13151/shard-glk2/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/shard-glk6/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-hdmi-a1.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#109300]: https://bugs.freedesktop.org/show_bug.cgi?id=109300 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [fdo#111825]: https://bugs.freedesktop.org/show_bug.cgi?id=111825 [i915#1072]: https://gitlab.freedesktop.org/drm/intel/issues/1072 [i915#1397]: https://gitlab.freedesktop.org/drm/intel/issues/1397 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#2842]: https://gitlab.freedesktop.org/drm/intel/issues/2842 [i915#315]: https://gitlab.freedesktop.org/drm/intel/issues/315 [i915#3458]: https://gitlab.freedesktop.org/drm/intel/issues/3458 [i915#3539]: https://gitlab.freedesktop.org/drm/intel/issues/3539 [i915#3591]: https://gitlab.freedesktop.org/drm/intel/issues/3591 [i915#3638]: https://gitlab.freedesktop.org/drm/intel/issues/3638 [i915#3689]: https://gitlab.freedesktop.org/drm/intel/issues/3689 [i915#4077]: https://gitlab.freedesktop.org/drm/intel/issues/4077 [i915#4078]: https://gitlab.freedesktop.org/drm/intel/issues/4078 [i915#4270]: https://gitlab.freedesktop.org/drm/intel/issues/4270 [i915#4281]: https://gitlab.freedesktop.org/drm/intel/issues/4281 [i915#433]: https://gitlab.freedesktop.org/drm/intel/issues/433 [i915#4391]: https://gitlab.freedesktop.org/drm/intel/issues/4391 [i915#4538]: https://gitlab.freedesktop.org/drm/intel/issues/4538 [i915#4579]: https://gitlab.freedesktop.org/drm/intel/issues/4579 [i915#4812]: https://gitlab.freedesktop.org/drm/intel/issues/4812 [i915#4833]: https://gitlab.freedesktop.org/drm/intel/issues/4833 [i915#4852]: https://gitlab.freedesktop.org/drm/intel/issues/4852 [i915#5176]: https://gitlab.freedesktop.org/drm/intel/issues/5176 [i915#5235]: https://gitlab.freedesktop.org/drm/intel/issues/5235 [i915#5354]: https://gitlab.freedesktop.org/drm/intel/issues/5354 [i915#6095]: https://gitlab.freedesktop.org/drm/intel/issues/6095 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#7116]: https://gitlab.freedesktop.org/drm/intel/issues/7116 [i915#7561]: https://gitlab.freedesktop.org/drm/intel/issues/7561 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#8011]: https://gitlab.freedesktop.org/drm/intel/issues/8011 [i915#8414]: https://gitlab.freedesktop.org/drm/intel/issues/8414 Build changes ------------- * Linux: CI_DRM_13151 -> Patchwork_117814v1 CI-20190529: 20190529 CI_DRM_13151: 4a28d03908b9d284f0b64a1fd9f5304761460db8 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_7292: 9d9475ffd3b5ae18fd8ec120595385f6c562f249 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git Patchwork_117814v1: 4a28d03908b9d284f0b64a1fd9f5304761460db8 @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_117814v1/index.html [-- Attachment #2: Type: text/html, Size: 6120 bytes --] ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-05-16 20:04 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-05-16 12:13 [Intel-gfx] [PATCH] drm/i915/gem: Use large rings for compute contexts Tejas Upadhyay 2023-05-16 12:31 ` Jani Nikula 2023-05-16 14:13 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork 2023-05-16 20:04 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox