Enable transparent-huge-pages through gemfs by mounting with
huge=within_size.

v2: prefer kern_mount_data

Signed-off-by: Matthew Auld <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Chris Wilson <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: Kirill A. Shutemov <[email protected]>
Cc: Andrew Morton <[email protected]>
Cc: Hugh Dickins <[email protected]>
Cc: [email protected]
---
 drivers/gpu/drm/i915/i915_gemfs.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gemfs.c 
b/drivers/gpu/drm/i915/i915_gemfs.c
index 168d0bd98f60..dc35719814f0 100644
--- a/drivers/gpu/drm/i915/i915_gemfs.c
+++ b/drivers/gpu/drm/i915/i915_gemfs.c
@@ -24,6 +24,7 @@
 
 #include <linux/fs.h>
 #include <linux/mount.h>
+#include <linux/pagemap.h>
 
 #include "i915_drv.h"
 #include "i915_gemfs.h"
@@ -32,12 +33,17 @@ int i915_gemfs_init(struct drm_i915_private *i915)
 {
        struct file_system_type *type;
        struct vfsmount *gemfs;
+       char within_size[] = "huge=within_size";
+       char *options = NULL;
 
        type = get_fs_type("tmpfs");
        if (!type)
                return -ENODEV;
 
-       gemfs = kern_mount(type);
+       if (has_transparent_hugepage())
+               options = within_size;
+
+       gemfs = kern_mount_data(type, options);
        if (IS_ERR(gemfs))
                return PTR_ERR(gemfs);
 
-- 
2.13.5

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to