From: Mika Kuoppala <mika.kuoppala@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Preallocate next seqno before touching the ring
Date: Tue, 27 Nov 2012 16:30:30 +0200 [thread overview]
Message-ID: <87haobce49.fsf@gaia.fi.intel.com> (raw)
In-Reply-To: <1354009730-15796-1-git-send-email-chris@chris-wilson.co.uk>
On Tue, 27 Nov 2012 09:48:50 +0000, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> Based on the work by Mika Kuoppala, we realised that we need to handle
> seqno wraparound prior to committing our changes to the ring. The most
> obvious point then is to grab the seqno inside intel_ring_begin(), and
> then to reuse that seqno for all ring operations until the next request.
> As intel_ring_begin() can fail, the callers must already be prepared to
> handle such failure and so we can safely add further checks.
>
> This patch looks like it should be split up into the interface
> changes and the tweaks to move seqno wrapping from the execbuffer into
> the core seqno increment. However, I found no easy way to break it into
> incremental steps without introducing further broken behaviour.
>
> v2: Mika found a silly mistake and a subtle error in the existing code;
> inside i915_gem_retire_requests() we were resetting the sync_seqno of
> the target ring based on the seqno from this ring - which are only
> related by the order of their allocation, not retirement. Hence we were
> applying the optimisation that the rings were synchronised too early,
> fortunately the only real casualty there is the handling of seqno
> wrapping.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala@intel.com>
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=863861
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
next prev parent reply other threads:[~2012-11-27 14:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-11-22 13:07 [PATCH 1/2] drm/i915: Wait upon the last request seqno, rather than a future seqno Chris Wilson
2012-11-22 13:07 ` [PATCH 2/2] drm/i915: Preallocate next seqno before touching the ring Chris Wilson
2012-11-27 9:03 ` Mika Kuoppala
2012-11-27 9:25 ` Chris Wilson
2012-11-27 9:48 ` [PATCH] " Chris Wilson
2012-11-27 14:30 ` Mika Kuoppala [this message]
2012-11-27 8:40 ` [PATCH 1/2] drm/i915: Wait upon the last request seqno, rather than a future seqno Mika Kuoppala
2012-11-27 9:25 ` Daniel Vetter
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=87haobce49.fsf@gaia.fi.intel.com \
--to=mika.kuoppala@linux.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 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.