[Intel-gfx] [PATCH v2] drm/i915: Flush the idle-worker for debugfs/i915_drop_caches
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Wed Oct 18 12:55:49 UTC 2017
On Wed, 2017-10-18 at 13:16 +0100, Chris Wilson wrote:
> After being requested to idle the GPU, flush the idle worker to drop the
> residual active state, and any internal object caches.
>
> v2: By popular demand, introduce DROP_IDLE for fine-grained control from
> userspace, though it should be used as part of a
> DROP_ACTIVE | DROP_RETIRE | DROP_IDLE | DROP_FREED
> sequence.
> v3: Convert to BIT() to sell it to Joonas.
>
> References: https://bugs.freedesktop.org/show_bug.cgi?id=102655
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
<SNIP>
> @@ -4206,7 +4208,8 @@ i915_drop_caches_set(void *data, u64 val)
> struct drm_device *dev = &dev_priv->drm;
> int ret = 0;
>
> - DRM_DEBUG("Dropping caches: 0x%08llx\n", val);
> + DRM_DEBUG("Dropping caches: 0x%08llx [0x%08llx]\n",
> + val, val & DROP_ALL);
>
> /* No need to check and wait for gpu resets, only libdrm auto-restarts
> * on ioctls on -EAGAIN. */
> @@ -4237,6 +4240,9 @@ i915_drop_caches_set(void *data, u64 val)
> i915_gem_shrink_all(dev_priv);
> fs_reclaim_release(GFP_KERNEL);
We have call to i915_gem_wait_for_idle (function with no kerneldoc)
above so it might be worthy to comment something along;
/* Idling the GT will release all internal objects, too. */
> + if (val & DROP_IDLE)
> + drain_delayed_work(&dev_priv->gt.idle_work);
And maybe add kerneldoc for i915_gem_wait_for_idle as follow-up.
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the Intel-gfx
mailing list