From: Chris Wilson <chris@chris-wilson.co.uk>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Avoid using mappable space for relocation processing through the CPU
Date: Tue, 29 Nov 2011 17:15:02 +0000 [thread overview]
Message-ID: <f80fcd$2m1upv@fmsmga001.fm.intel.com> (raw)
In-Reply-To: <20111129170353.GA11090@phenom.ffwll.local>
On Tue, 29 Nov 2011 18:03:53 +0100, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Tue, Nov 29, 2011 at 04:48:15PM +0000, Chris Wilson wrote:
> > On Tue, 29 Nov 2011 16:34:41 +0100, Daniel Vetter <daniel@ffwll.ch> wrote:
> > > On Tue, Nov 29, 2011 at 03:12:40PM +0000, Chris Wilson wrote:
> > > > We try to avoid writing the relocations through the uncached GTT, if the
> > > > buffer is currently in the CPU write domain and so will be flushed out to
> > > > main memory afterwards anyway. Also on SandyBridge we can safely write
> > > > to the pages in cacheable memory, so long as the buffer is LLC mapped.
> > > > In either of these caches, we therefore do not need to force the
> > > > reallocation of the buffer into the mappable region of the GTT, reducing
> > > > the aperture pressure.
> > > >
> > > > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > >
> > > The error_state capture currently relies on us pinning buffers as mappable
> > > when they contain relocations (and userspace always submitting a
> > > batchbuffers containing relocations). You break that guarantee without
> > > fixing up the error capture code. Otherwise I like this.
> >
> > I may have sent that patch a little earlier. ;-)
>
> Yes, I know. My gripe is that this will reduce our chances of successfully
> capturing the error_state, because now we expect to hit that case in the
> error capture code whereas up to now it would have been a bug somewhere.
> So either
> - fixup the error_capture to fall back to cpu reads (needs the usual
> clflush dance if the object is not llc cached)
> - or drop the pin mappable change in this patch.
Ah you forget, I volunteered you to do the error-state capture from a
workqueue so that we could add further complexity...
We would then be able to allocate enough memory to capture auxiliary
buffers as well, etc.
In the meantime, the paths that hit this code are during warmup (before
any batches have been retired into the userspace bo cache), slow steady
state behaviour (when the caches are being reaped and repopulated), and
when thrashing the hardware. It also requires that the whole mappable
range had already been allocated.
Whilst not negligible, the risk imo is small and all will be solved with
the next generation i915_capture_error().
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
next prev parent reply other threads:[~2011-11-29 17:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-29 15:12 [PATCH] drm/i915: Avoid using mappable space for relocation processing through the CPU Chris Wilson
2011-11-29 15:34 ` Daniel Vetter
2011-11-29 16:48 ` Chris Wilson
2011-11-29 17:03 ` Daniel Vetter
2011-11-29 17:15 ` Chris Wilson [this message]
2011-11-29 17:17 ` Daniel Vetter
2011-11-29 17:21 ` Daniel Vetter
2011-11-29 19:22 ` Daniel Vetter
2011-11-29 21:32 ` Ben Widawsky
[not found] <id:1322579560-15548-1-git-send-email-chris@chris-wilson.co.uk>
2011-12-04 12:26 ` Chris Wilson
2011-12-05 10:41 ` Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
2012-03-26 8:10 Daniel Vetter
2012-03-26 8:32 ` Chris Wilson
2012-03-27 11:17 ` 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='f80fcd$2m1upv@fmsmga001.fm.intel.com' \
--to=chris@chris-wilson.co.uk \
--cc=daniel@ffwll.ch \
--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.