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

Nirmoy Das nirmoy.das at intel.com
Thu Sep 7 13:49:43 UTC 2023


On 9/7/2023 2:58 PM, 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: Nirmoy Das <nirmoy.das 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();


More information about the dri-devel mailing list