drm/i915: Check PIN_NONFAULT overlaps in evict_for_node
If the caller says that he doesn't want to evict any other faulting vma, honour that flag. The logic was used in evict_something, but not the more specific evict_for_node, now being used as a preliminary probe since commit606fec956c
("drm/i915: Prefer random replacement before eviction search"). Fixes:606fec956c
("drm/i915: Prefer random replacement before eviction search") Fixes:821188778b
("drm/i915: Choose not to evict faultable objects from the GGTT") References: https://bugs.freedesktop.org/show_bug.cgi?id=102490 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20171009084401.29090-4-chris@chris-wilson.co.uk Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
This commit is contained in:
parent
a65adaf8a8
commit
f34a93bbb3
|
@ -315,6 +315,11 @@ int i915_gem_evict_for_node(struct i915_address_space *vm,
|
|||
break;
|
||||
}
|
||||
|
||||
if (flags & PIN_NONFAULT && i915_vma_has_userfault(vma)) {
|
||||
ret = -ENOSPC;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Overlap of objects in the same batch? */
|
||||
if (i915_vma_is_pinned(vma)) {
|
||||
ret = -ENOSPC;
|
||||
|
|
Loading…
Reference in a new issue