From: Daniel Vetter <daniel@ffwll.ch>
To: Chris Wilson <chris@chris-wilson.co.uk>
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 18:21:03 +0100 [thread overview]
Message-ID: <20111129172103.GC11090@phenom.ffwll.local> (raw)
In-Reply-To: <20111129171721.GB11090@phenom.ffwll.local>
On Tue, Nov 29, 2011 at 06:17:21PM +0100, Daniel Vetter wrote:
> On Tue, Nov 29, 2011 at 06:03:53PM +0100, Daniel Vetter 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.
>
> After some irc discussion with Dave Airlie I think a simple wmb() to flush
> the wc buffer might make more sense. I'll try to run that past testers and
> gather results. Will take at least a week to get anything conclusive.
Meh, replied to the wrong mail ...
-Daniel
--
Daniel Vetter
Mail: daniel@ffwll.ch
Mobile: +41 (0)79 365 57 48
next prev parent reply other threads:[~2011-11-29 17:19 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
2011-11-29 17:17 ` Daniel Vetter
2011-11-29 17:21 ` Daniel Vetter [this message]
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=20111129172103.GC11090@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--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.