Quoting Chris Wilson (2017-10-11 15:06:05) > In the full-ppgtt world, we can fill the GGTT full of context objects. > These context objects are currently implicitly tracked by the requests > that pin them i.e. they are only unpinned when the request is completed > and retired, but we do not have the link from the vma to the request > (anymore). In order to unpin those contexts, we have to issue another > request and wait upon the switch to the kernel context. > > The bug during eviction was that we assumed that a full GGTT meant we > would have requests on the GGTT timeline, and so we missed situations > where those requests where merely in flight (and when even they have not > yet been submitted to hw yet). The fix employed here is to change the > already-is-idle test to no look at the execution timeline, but count the > outstanding requests and then check that we have switched to the kernel > context. Erring on the side of overkill here just means that we stall a > little longer than may be strictly required, but we only expect to hit > this path in extreme corner cases where returning an erroneous error is > worse than the delay. > > v2: Logical inversion when swapping over branches. > > Fixes: 80b204bce8f2 ("drm/i915: Enable multiple timelines") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> > Cc: Joonas Lahtinen <joonas.lahtinen@xxxxxxxxxxxxxxx> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@xxxxxxxxx> -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx