[Intel-gfx] [CI] drm/i915: Keep user GGTT alive for a minimum of 250ms

Chris Wilson chris at chris-wilson.co.uk
Tue May 28 09:27:04 UTC 2019


Quoting Maarten Lankhorst (2019-05-28 10:24:40)
> Op 27-05-2019 om 13:51 schreef Chris Wilson:
> > Do not allow runtime pm autosuspend to remove userspace GGTT mmaps too
> > quickly. For example, igt sets the autosuspend delay to 0, and so we
> > immediately attempt to perform runtime suspend upon releasing the
> > wakeref. Unfortunately, that involves tearing down GGTT mmaps as they
> > require an active device.
> >
> > Override the autosuspend for GGTT mmaps, by keeping the wakeref around
> > for 250ms after populating the PTE for a fresh mmap.
> >
> > v2: Prefer refcount_t for its under/overflow error detection
> > v3: Flush the user runtime autosuspend prior to system system.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> > Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> 
> Can't this extra delay be added to the kernel core? Feels like we're just duplicating autosuspend behavior here..

Yes. In the end, we would need to adjust the device pm to clamp the user
sysfs value. But really, we want different floors for different
operations as we would expect different wakeup latencies / penalties.
E.g. reaping GTT mmaps is expensive, but if none are in use...
-Chris


More information about the Intel-gfx mailing list