Thank you for your contribution! Sashiko AI review found 1 potential issue(s) 
to consider:
- [Low] Removing the `IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)` check causes a 
build failure (undefined reference to `panfrost_transparent_hugepage`) when 
`CONFIG_TRANSPARENT_HUGEPAGE` is disabled.
--

--- Patch [4]: [PATCH v5 04/11] drm/panfrost: Move shrinker initialization and 
unplug one level down ---
commit a1e5fed49d6d030d377938e3c3e5a1b2314d6290
Author: Adrián Larumbe <[email protected]>

drm/panfrost: Move shrinker initialization and unplug one level down

Since the moment we call drm_dev_register() the device should be in a
position to accept jobs, so it's best if the shrinker is already
initialized by then.

> diff --git a/drivers/gpu/drm/panfrost/panfrost_gem.c 
> b/drivers/gpu/drm/panfrost/panfrost_gem.c
> index 3a7fce4288987..7b993a089af2d 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gem.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gem.c
> @@ -15,20 +15,25 @@
>  #include "panfrost_gem.h"
>  #include "panfrost_mmu.h"
>  
> -void panfrost_gem_init(struct panfrost_device *pfdev)
> +int panfrost_gem_init(struct panfrost_device *pfdev)
>  {
>       int err;
>  
> -     if (IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE) &&
> -         !panfrost_transparent_hugepage)
> -             return;
> +     if (panfrost_transparent_hugepage) {
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[Severity: Low]
Will this cause a build failure when CONFIG_TRANSPARENT_HUGEPAGE is disabled?

Looking at drivers/gpu/drm/panfrost/panfrost_drv.c,
panfrost_transparent_hugepage is defined under an #ifdef:

#ifdef CONFIG_TRANSPARENT_HUGEPAGE
bool panfrost_transparent_hugepage = true;
module_param_named(transparent_hugepage, panfrost_transparent_hugepage, bool, 
0400);
MODULE_PARM_DESC(transparent_hugepage, "Use a dedicated tmpfs mount point with 
Transparent Hugepage enabled (true = default)");
#endif

Without the IS_ENABLED() check, evaluating panfrost_transparent_hugepage here
could result in an undefined reference error during linking if the config is
disabled.

> +             err = drm_gem_huge_mnt_create(&pfdev->base, "within_size");
> +             if (drm_gem_get_huge_mnt(&pfdev->base))
> +                     drm_info(&pfdev->base, "Using Transparent Hugepage\n");
> +             else if (err)
> +                     drm_warn(&pfdev->base,
> +                              "Can't use Transparent Hugepage (%d)\n", err);
> +     }
>  
> -     err = drm_gem_huge_mnt_create(&pfdev->base, "within_size");
> -     if (drm_gem_get_huge_mnt(&pfdev->base))
> -             drm_info(&pfdev->base, "Using Transparent Hugepage\n");
> -     else if (err)
> -             drm_warn(&pfdev->base, "Can't use Transparent Hugepage (%d)\n",
> -                      err);
> +     return panfrost_gem_shrinker_init(pfdev);
> +}

-- 
Sashiko AI review · 
https://sashiko.dev/#/patchset/[email protected]?part=4

Reply via email to