On Thu, Dec 03, 2020 at 08:39:31AM +0000, Chris Wilson wrote: > If we let an object idle in a shared GTT, it may be evicted by the > kernel in favour of another client. Thus, we have to be very careful > when asserting that two different executions of the same object will > be at the same address. If there's an idle point between the two > asserts, it will only be guaranteed to hold for full-ppgtt. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2754 > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Zbigniew Kempczyński <zbigniew.kempczynski@xxxxxxxxx> > --- > tests/i915/api_intel_bb.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/tests/i915/api_intel_bb.c b/tests/i915/api_intel_bb.c > index 0cb3192cb..18814d14d 100644 > --- a/tests/i915/api_intel_bb.c > +++ b/tests/i915/api_intel_bb.c > @@ -505,10 +505,21 @@ static void blit(struct buf_ops *bops, > intel_bb_exec(ibb, intel_bb_offset(ibb), flags, true); > check_buf(dst, COLOR_77); > > - poff2_src = intel_bb_get_object_offset(ibb, src->handle); > - poff2_dst = intel_bb_get_object_offset(ibb, dst->handle); > - igt_assert(poff_src == poff2_src); > - igt_assert(poff_dst == poff2_dst); > + /* > + * Since we let the objects idle, if the GTT is shared another client > + * is liable to reuse our offsets for themselves, causing us to have > + * to relocate. We don't expect this to happen as LRU eviction should > + * try to avoid reuse, but we use random eviction instead as it is > + * much quicker! Given that the kernel is *allowed* to relocate objects, > + * we cannot assert that the objects remain in the same location, unless > + * we are in full control of our own GTT. > + */ > + if (gem_uses_full_ppgtt(i915)) { > + igt_assert_eq_u64(intel_bb_get_object_offset(ibb, src->handle), > + poff_src); > + igt_assert_eq_u64(intel_bb_get_object_offset(ibb, dst->handle), > + poff_dst); > + } > > intel_buf_destroy(src); > intel_buf_destroy(dst); > -- > 2.29.2 > Patch looks ok. BTW is it possible when we're running the test in isolated environment (IGT)? Reviewed-by: Zbigniew Kempczyński <zbigniew.kempczynski@xxxxxxxxx> -- Zbigniew _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx