Re: [PATCH v3 8/8] drm/v3d: Add modparam for turning off Big/Super Pages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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@xxxxxxxxxx>
---
  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



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux