[PATCH v3 8/8] drm/v3d: Add modparam for turning off Big/Super Pages
Tvrtko Ursulin
tvrtko.ursulin at igalia.com
Mon Apr 22 10:02:18 UTC 2024
On 21/04/2024 22:44, Maíra Canal wrote:
> Add a modparam for turning off Big/Super Pages to make sure that if an
> user doesn't want Big/Super Pages enabled, it can disabled it by setting
> the modparam to false.
>
> Signed-off-by: Maíra Canal <mcanal at igalia.com>
> ---
> drivers/gpu/drm/v3d/v3d_drv.c | 8 ++++++++
> drivers/gpu/drm/v3d/v3d_gemfs.c | 5 +++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/v3d/v3d_drv.c b/drivers/gpu/drm/v3d/v3d_drv.c
> index 3debf37e7d9b..bc8c8905112a 100644
> --- a/drivers/gpu/drm/v3d/v3d_drv.c
> +++ b/drivers/gpu/drm/v3d/v3d_drv.c
> @@ -36,6 +36,14 @@
> #define DRIVER_MINOR 0
> #define DRIVER_PATCHLEVEL 0
>
> +bool super_pages = true;
> +
> +/* Only expose the `super_pages` modparam if THP is enabled. */
> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE
I would have put bool super_pages in here so it can get compiled out.
> +module_param_named(super_pages, super_pages, bool, 0400);
> +MODULE_PARM_DESC(super_pages, "Enable/Disable Super Pages support.");
> +#endif
> +
> static int v3d_get_param_ioctl(struct drm_device *dev, void *data,
> struct drm_file *file_priv)
> {
> diff --git a/drivers/gpu/drm/v3d/v3d_gemfs.c b/drivers/gpu/drm/v3d/v3d_gemfs.c
> index 31cf5bd11e39..5fa08263cff2 100644
> --- a/drivers/gpu/drm/v3d/v3d_gemfs.c
> +++ b/drivers/gpu/drm/v3d/v3d_gemfs.c
> @@ -11,6 +11,11 @@ void v3d_gemfs_init(struct v3d_dev *v3d)
> char huge_opt[] = "huge=within_size";
> struct file_system_type *type;
> struct vfsmount *gemfs;
> + extern bool super_pages;
> +
> + /* The user doesn't want to enable Super Pages */
> + if (!super_pages)
> + goto err;
And if this hunk is moved after the CONFIG_TRANSPARENT_HUGEPAGE check
just below I hope compiler can be happy with that.
Regards,
Tvrtko
>
> /*
> * By creating our own shmemfs mountpoint, we can pass in
More information about the dri-devel
mailing list