[Intel-gfx] [PATCH v2 4/4] drm/i915: Fix i915_gem_evict_for_vma (soft-pinning)
Chris Wilson
chris at chris-wilson.co.uk
Fri Nov 18 12:06:27 UTC 2016
On Fri, Nov 18, 2016 at 01:31:57PM +0200, Joonas Lahtinen wrote:
> On pe, 2016-11-18 at 10:14 +0000, Chris Wilson wrote:
> > On Fri, Nov 18, 2016 at 11:18:09AM +0200, Joonas Lahtinen wrote:
> > > i915_vma_is_pinned() being true will exit this loop with -ENOSPC with
> > > or without NOBLOCK, just skipping the exec_entry test without it. I
> > > would clarify that. Now it's bit odd.
> >
> > It's a necessary test for use by execbuf. The interface is that it tests
> > a location first with NONBLOCK before deciding on whether it is a good
> > final location. (With various other hints as to whether any eviction is
> > a good idea, vs whether it mandatory to use this location.)
> >
>
> Well, I do not object the new way of formatting it, it's more explicit.
> But does GCC do equally good job still?
Honestly, haven't looked as eviction itself is quite rare that I haven't
stared at it in perf. The regression that came from preferring softpin
was from drm_mm_reserve_node() doing a linear search. Similarly, the
biggest cost for evict would also have been the linear search. The cost
of checking each vma is going to be underwhelming (vs the cost of
changing the pagetables for the evict). But yes, it is something we can
look at if we have such a workload.
When we do see eviction, perf is dominated by insert_ppgtt. (With some
caveats about drm_mm_search on some paths that will be fixed!)
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list