[PATCH 1/1] drm/panfrost: remove spamming to syslog
Robin Murphy
robin.murphy at arm.com
Wed Jun 9 10:07:22 UTC 2021
On 2021-06-08 18:18, Eero Lehtinen wrote:
> This patch removes Panfrost spamming messages to syslog that causes a
> poor performance and crashes of the Xfce desktop with a Amlogic S912
> TV box. See the old bug in:
> https://gitlab.freedesktop.org/mesa/mesa/-/issues/3143
There is certainly an argument for demoting the shrinker messages to a
debug feature, if we're happy that our memory management is mature
enough that memory pressure issues are no longer a common thing to need
to spot easily (and especially since msm, from whence that was copied,
has now taken a similar route with commit fdf38426cda6). The rest,
however, represent genuine error conditions, so hiding them is
nonsensical. If the GPU is faulting or locked up, 99% of the time it's
because the userspace driver has done *something* wrong (for incredibly
many values of "something"), but there's still the possibility of things
going wrong in the kernel too. Either way, the bugs only have a hope of
getting fixed if we know they're happening.
Taking the "this is fine" approach of wilfully ignoring significant
errors because your particular use-case happens to be able to limp along
in spite of them might be OK as a local hack, but it is not reasonable
for the mainline kernel.
Thanks,
Robin.
> Signed-off-by: Eero Lehtinen <debiangamer2 at gmail.com>
>
> --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> @@ -36,8 +36,8 @@
> ret = readl_relaxed_poll_timeout_atomic(pfdev->iomem + AS_STATUS(as_nr),
> val, !(val & AS_STATUS_AS_ACTIVE), 10, 1000);
>
> - if (ret)
> - dev_err(pfdev->dev, "AS_ACTIVE bit stuck\n");
> + //if (ret)
> + // dev_err(pfdev->dev, "AS_ACTIVE bit stuck\n");
>
> return ret;
> }
>
> --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> @@ -292,8 +292,8 @@
> prot |= IOMMU_NOEXEC;
>
> sgt = drm_gem_shmem_get_pages_sgt(obj);
> - if (WARN_ON(IS_ERR(sgt)))
> - return PTR_ERR(sgt);
> + //if (WARN_ON(IS_ERR(sgt)))
> + // return PTR_ERR(sgt);
>
> mmu_map_sg(pfdev, mapping->mmu, mapping->mmnode.start << PAGE_SHIFT,
> prot, sgt);
>
> --- a/drivers/gpu/drm/panfrost/panfrost_mmu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_mmu.c
> @@ -660,7 +660,7 @@
> ret = -1;
> if ((status & mask) == BIT(as) && (exception_type & 0xF8) == 0xC0)
> ret = panfrost_mmu_map_fault_addr(pfdev, as, addr);
> -
> +#if 0
> if (ret)
> /* terminal fault, print info about the fault */
> dev_err(pfdev->dev,
> @@ -678,7 +678,7 @@
> exception_type, panfrost_exception_name(pfdev, exception_type),
> access_type, access_type_name(pfdev, fault_status),
> source_id);
> -
> +#endif
> status &= ~mask;
>
> /* If we received new MMU interrupts, process them before returning. */
>
> --- a/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gem_shrinker.c
> @@ -85,8 +85,8 @@
>
> mutex_unlock(&pfdev->shrinker_lock);
>
> - if (freed > 0)
> - pr_info_ratelimited("Purging %lu bytes\n", freed << PAGE_SHIFT);
> + // if (freed > 0)
> + // pr_info_ratelimited("Purging %lu bytes\n", freed << PAGE_SHIFT);
>
> return freed;
> }
>
More information about the dri-devel
mailing list