From: Chris Wilson <chris@chris-wilson.co.uk> To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org Subject: [PATCH i-g-t 1/9] i915/gem_exec_schedule: Limit the plug to fit small rings Date: Tue, 13 Aug 2019 07:20:08 +0100 [thread overview] Message-ID: <20190813062016.7870-1-chris@chris-wilson.co.uk> (raw) If we are not running with a scheduler, we are using a global ringbuffer which may not accommodate 16 extra batches. Fortunately, we only need one such batch to block the submission queue as without a scheduler, it is in order submission (and so the batch is after the main setup anyway!). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/i915/gem_exec_schedule.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c index 6e8466299..058102103 100644 --- a/tests/i915/gem_exec_schedule.c +++ b/tests/i915/gem_exec_schedule.c @@ -164,8 +164,13 @@ static uint32_t create_highest_priority(int fd) static void unplug_show_queue(int fd, struct igt_cork *c, unsigned int engine) { igt_spin_t *spin[MAX_ELSP_QLEN]; + int max = MAX_ELSP_QLEN; - for (int n = 0; n < ARRAY_SIZE(spin); n++) { + /* If no scheduler, all batches are emitted in submission order */ + if (!gem_scheduler_enabled(fd)) + max = 1; + + for (int n = 0; n < max; n++) { const struct igt_spin_factory opts = { .ctx = create_highest_priority(fd), .engine = engine, @@ -177,7 +182,7 @@ static void unplug_show_queue(int fd, struct igt_cork *c, unsigned int engine) igt_cork_unplug(c); /* batches will now be queued on the engine */ igt_debugfs_dump(fd, "i915_engine_info"); - for (int n = 0; n < ARRAY_SIZE(spin); n++) + for (int n = 0; n < max; n++) igt_spin_free(fd, spin[n]); } -- 2.23.0.rc1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx
WARNING: multiple messages have this Message-ID (diff)
From: Chris Wilson <chris@chris-wilson.co.uk> To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org Subject: [igt-dev] [PATCH i-g-t 1/9] i915/gem_exec_schedule: Limit the plug to fit small rings Date: Tue, 13 Aug 2019 07:20:08 +0100 [thread overview] Message-ID: <20190813062016.7870-1-chris@chris-wilson.co.uk> (raw) If we are not running with a scheduler, we are using a global ringbuffer which may not accommodate 16 extra batches. Fortunately, we only need one such batch to block the submission queue as without a scheduler, it is in order submission (and so the batch is after the main setup anyway!). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> --- tests/i915/gem_exec_schedule.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tests/i915/gem_exec_schedule.c b/tests/i915/gem_exec_schedule.c index 6e8466299..058102103 100644 --- a/tests/i915/gem_exec_schedule.c +++ b/tests/i915/gem_exec_schedule.c @@ -164,8 +164,13 @@ static uint32_t create_highest_priority(int fd) static void unplug_show_queue(int fd, struct igt_cork *c, unsigned int engine) { igt_spin_t *spin[MAX_ELSP_QLEN]; + int max = MAX_ELSP_QLEN; - for (int n = 0; n < ARRAY_SIZE(spin); n++) { + /* If no scheduler, all batches are emitted in submission order */ + if (!gem_scheduler_enabled(fd)) + max = 1; + + for (int n = 0; n < max; n++) { const struct igt_spin_factory opts = { .ctx = create_highest_priority(fd), .engine = engine, @@ -177,7 +182,7 @@ static void unplug_show_queue(int fd, struct igt_cork *c, unsigned int engine) igt_cork_unplug(c); /* batches will now be queued on the engine */ igt_debugfs_dump(fd, "i915_engine_info"); - for (int n = 0; n < ARRAY_SIZE(spin); n++) + for (int n = 0; n < max; n++) igt_spin_free(fd, spin[n]); } -- 2.23.0.rc1 _______________________________________________ igt-dev mailing list igt-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/igt-dev
next reply other threads:[~2019-08-13 6:20 UTC|newest] Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-08-13 6:20 Chris Wilson [this message] 2019-08-13 6:20 ` [igt-dev] [PATCH i-g-t 1/9] i915/gem_exec_schedule: Limit the plug to fit small rings Chris Wilson 2019-08-13 6:20 ` [PATCH i-g-t 2/9] i915/gem_eio: Restrict number of batches of submitted Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 14:21 ` Andi Shyti 2019-08-13 14:21 ` [igt-dev] [Intel-gfx] " Andi Shyti 2019-08-13 6:20 ` [PATCH i-g-t 3/9] i915/gem_mmap_gtt: Test mmap_offset lifetime Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 6:20 ` [PATCH i-g-t 4/9] i915/gem_shrink: Make some pages dirty Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 15:37 ` Andi Shyti 2019-08-13 15:37 ` Andi Shyti 2019-08-13 6:20 ` [PATCH i-g-t 5/9] i915/gem_userptr_blits: Apply some THP pressure Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 15:37 ` Andi Shyti 2019-08-13 15:37 ` [Intel-gfx] " Andi Shyti 2019-08-13 6:20 ` [PATCH i-g-t 6/9] i915/gem_exec_schedule: Check timeslice Chris Wilson 2019-08-13 6:20 ` [Intel-gfx] " Chris Wilson 2019-08-13 6:20 ` [PATCH i-g-t 7/9] i915/perf_pmu: Flush idle work before waiting for suspend Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 6:20 ` [PATCH i-g-t 8/9] Force spin-batch to cause a hang as required Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 6:20 ` [PATCH i-g-t 9/9] i915/gem_ctx_engine: Drip feed requests into 'independent' Chris Wilson 2019-08-13 6:20 ` [igt-dev] " Chris Wilson 2019-08-13 15:37 ` Andi Shyti 2019-08-13 15:37 ` Andi Shyti 2019-08-13 7:22 ` [igt-dev] ✗ Fi.CI.BAT: failure for series starting with [i-g-t,1/9] i915/gem_exec_schedule: Limit the plug to fit small rings Patchwork 2019-08-13 14:20 ` [igt-dev] [PATCH i-g-t 1/9] " Andi Shyti 2019-08-13 14:20 ` 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=20190813062016.7870-1-chris@chris-wilson.co.uk \ --to=chris@chris-wilson.co.uk \ --cc=igt-dev@lists.freedesktop.org \ --cc=intel-gfx@lists.freedesktop.org \ /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.