From: Karolina Drobnik <karolina.drobnik@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Subject: [Intel-gfx] [PATCH 0/3] drm/i915: Apply waitboosting before fence wait
Date: Tue, 5 Jul 2022 12:57:16 +0200 [thread overview]
Message-ID: <cover.1656911806.git.karolina.drobnik@intel.com> (raw)
Waitboost is a heuristic that detects latency sensitive workloads waiting for
the results from previous execution. The wait can be seen as GPU
under-utilisation by RPS, Render Power State management, which might lower the
GPU frequency to save power. Limiting the frequency means more waiting for
results, which is undesirable for submissions with tight time constraints.
To circumvent this, with waitboost we iteratively check the list of fences
during gem_wait to see if any of them is stalled waiting for GPU. If such is
found, and the request hasn't yet started its execution, we temporarily bump up
the GPU frequency, so we get the required results as soon as possible.
Commit 047a1b877ed4 ("dma-buf & drm/amdgpu: remove dma_resv workaround") changes
the fences order and how they are iterated. Under this new scheme, we would wait
on each fence that starts executing, rendering them not suitable for waitboost.
To avoid situation like this, inspect the entire list of fences dma-resv
earlier, before gem_wait, instead of sequentially waiting for each of them,
applying the boost when needed.
Test-with: 20220705103551.3720180-1-karolina.drobnik@intel.com
Chris Wilson (3):
drm/i915/gem: Look for waitboosting across the whole object prior to
individual waits
drm/i915: Bump GT idling delay to 2 jiffies
drm/i915/gt: Only kick the signal worker if there's been an update
drivers/gpu/drm/i915/gem/i915_gem_wait.c | 35 +++++++++++++++++++++
drivers/gpu/drm/i915/gt/intel_breadcrumbs.c | 3 +-
drivers/gpu/drm/i915/i915_active.c | 2 +-
3 files changed, 38 insertions(+), 2 deletions(-)
--
2.25.1
next reply other threads:[~2022-07-05 11:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-05 10:57 Karolina Drobnik [this message]
2022-07-05 10:57 ` [Intel-gfx] [PATCH 1/3] drm/i915/gem: Look for waitboosting across the whole object prior to individual waits Karolina Drobnik
2022-07-07 17:57 ` Rodrigo Vivi
2022-07-07 21:50 ` Andi Shyti
2022-07-08 10:15 ` Karolina Drobnik
2022-07-08 11:38 ` Andi Shyti
2022-07-08 14:14 ` Karolina Drobnik
2022-07-05 10:57 ` [Intel-gfx] [PATCH 2/3] drm/i915: Bump GT idling delay to 2 jiffies Karolina Drobnik
2022-07-07 18:09 ` Rodrigo Vivi
2022-07-07 21:52 ` Andi Shyti
2022-07-05 10:57 ` [Intel-gfx] [PATCH 3/3] drm/i915/gt: Only kick the signal worker if there's been an update Karolina Drobnik
2022-07-05 13:51 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Apply waitboosting before fence wait Patchwork
2022-07-05 14:10 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-07-05 16:52 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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=cover.1656911806.git.karolina.drobnik@intel.com \
--to=karolina.drobnik@intel.com \
--cc=chris@chris-wilson.co.uk \
--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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox