[PATCH v3] drm/i915: Run relevant bits of debugfs drop_caches per GT

Rodrigo Vivi rodrigo.vivi at intel.com
Thu Sep 7 13:47:19 UTC 2023


On Thu, Sep 07, 2023 at 02:58:08PM +0200, Andi Shyti wrote:
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Walk all GTs when doing the respective bits of drop_caches work.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Signed-off-by: Andi Shyti <andi.shyti at linux.intel.com>

Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>

> ---
> Hi,
> 
> I'm proposing this new version of the series I sent here[*].
> Patch 1 from that series is not necessary so taht I'm going to
> propose the original version proposed by Tvrtko when we were
> young.
> 
> Andi
> 
> Changelog
> =========
> v2 -> v3:
>  - fix the "for_each_gt()" parameter order.
> v1 -> v2:
>  - drop the gt idling and the cache flushing decoupling and stick
>    to the original version.
> 
> [*] https://patchwork.freedesktop.org/series/123301/
> 
>  drivers/gpu/drm/i915/i915_debugfs.c | 10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 7a90a2e32c9f1..e9b79c2c37d84 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -740,15 +740,19 @@ static int
>  i915_drop_caches_set(void *data, u64 val)
>  {
>  	struct drm_i915_private *i915 = data;
> +	struct intel_gt *gt;
>  	unsigned int flags;
> +	unsigned int i;
>  	int ret;
>  
>  	drm_dbg(&i915->drm, "Dropping caches: 0x%08llx [0x%08llx]\n",
>  		val, val & DROP_ALL);
>  
> -	ret = gt_drop_caches(to_gt(i915), val);
> -	if (ret)
> -		return ret;
> +	for_each_gt(gt, i915, i) {
> +		ret = gt_drop_caches(gt, val);
> +		if (ret)
> +			return ret;
> +	}
>  
>  	fs_reclaim_acquire(GFP_KERNEL);
>  	flags = memalloc_noreclaim_save();
> -- 
> 2.40.1
> 


More information about the dri-devel mailing list