public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Intel-gfx@lists.freedesktop.org
Subject: [RFC 0/4] Eliminating the execlist retired request queue
Date: Fri,  8 Apr 2016 14:54:54 +0100	[thread overview]
Message-ID: <1460123698-16832-1-git-send-email-tvrtko.ursulin@linux.intel.com> (raw)

From: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Retired request queue coupled with retired work handler is a scalability
concern on some workloads of which one dramatic example is gem_close_race.

This series depend on i915_gem_object_pin_map series by Chris Wilson.

Brief outline of patches:

 1/4) Allow lockless request unreference - needed for 4/4.
 2/4) Pin the LRC until the following request is completed - needed for
      GuC mode on its own and also enables 4/4.
 3/4) Use i915_gem_object_pin_map in execlists to alleviate increase in
      LRC pin/unpin this series adds.
 4/4) Removes retired_req_queue.

Lightly tested so RFC for now. Did not spot any performance difference in
my usual benchmarks but did not look very closely yet. There may be wins in
CPU usage. TBD.

Easiest way to see the change is gem_close_race which finishes in 10-20 seconds
with this series and otherwise takes ten minutes to half an hour.

TODO:

1) Patches 2 and 3 should probably swap order.
2) More benchmarking including CPU usage and power.
3) Need a better cover letter as well.

Chris Wilson (1):
  drm/i915: Move releasing of the GEM request from free to retire/cancel

Tvrtko Ursulin (3):
  drm/i915/guc: Keep the previous context pinned until the next one has
    been completed
  drm/i915: Use new i915_gem_object_pin_map for LRC
  drm/i915: Stop tracking execlists retired requests

 drivers/gpu/drm/i915/i915_drv.h         | 18 ++------
 drivers/gpu/drm/i915/i915_gem.c         | 63 +++++++++++++-------------
 drivers/gpu/drm/i915/intel_display.c    |  2 +-
 drivers/gpu/drm/i915/intel_lrc.c        | 78 ++++++++++++++++-----------------
 drivers/gpu/drm/i915/intel_lrc.h        |  2 +-
 drivers/gpu/drm/i915/intel_pm.c         |  2 +-
 drivers/gpu/drm/i915/intel_ringbuffer.h |  1 -
 7 files changed, 74 insertions(+), 92 deletions(-)

-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

             reply	other threads:[~2016-04-08 13:55 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-08 13:54 Tvrtko Ursulin [this message]
2016-04-08 13:54 ` [RFC 1/4] drm/i915: Move releasing of the GEM request from free to retire/cancel Tvrtko Ursulin
2016-04-08 15:01   ` Chris Wilson
2016-04-11  9:19     ` Tvrtko Ursulin
2016-04-08 13:54 ` [RFC 2/4] drm/i915/guc: Keep the previous context pinned until the next one has been completed Tvrtko Ursulin
2016-04-08 14:37   ` Chris Wilson
2016-04-11  8:58     ` Tvrtko Ursulin
2016-04-08 13:54 ` [RFC 3/4] drm/i915: Use new i915_gem_object_pin_map for LRC Tvrtko Ursulin
2016-04-08 14:40   ` Chris Wilson
2016-04-11  9:05     ` Tvrtko Ursulin
2016-04-11  9:18       ` Chris Wilson
2016-04-08 13:54 ` [RFC 4/4] drm/i915: Stop tracking execlists retired requests Tvrtko Ursulin
2016-04-08 14:57   ` Chris Wilson
2016-04-11  9:10     ` Tvrtko Ursulin
2016-04-11  9:23       ` Chris Wilson
2016-04-11  9:26       ` Chris Wilson
2016-04-08 14:08 ` ✗ Fi.CI.BAT: failure for Eliminating the execlist retired request queue Patchwork
2016-04-09  8:03 ` [RFC 0/4] " Chris Wilson
2016-04-11  9:19   ` Tvrtko Ursulin
2016-04-11 10:20     ` Chris Wilson

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=1460123698-16832-1-git-send-email-tvrtko.ursulin@linux.intel.com \
    --to=tvrtko.ursulin@linux.intel.com \
    --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