[Intel-gfx] [PATCH 03/23] drm/i915/gemfs: enable THP
Joonas Lahtinen
joonas.lahtinen at linux.intel.com
Tue Aug 29 14:49:00 UTC 2017
On Mon, 2017-08-21 at 19:34 +0100, Matthew Auld wrote:
> Enable transparent-huge-pages through gemfs by mounting with
> huge=within_size.
>
> Signed-off-by: Matthew Auld <matthew.auld at intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
<SNIP>
> +++ 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"
> @@ -41,6 +42,20 @@ int i915_gemfs_init(struct drm_i915_private *i915)
> if (IS_ERR(gemfs))
> return PTR_ERR(gemfs);
>
> + if (has_transparent_hugepage()) {
> + struct super_block *sb = gemfs->mnt_sb;
> + char options[] = "huge=within_size";
char const options[] ?
> + int flags = 0;
> +
> + /* We don't consider failure to remount fatal, since this should
> + * only ever attempt to modify the mount options of the sb, and
> + * so should always leave us with a working mount upon failure.
> + * Hence decoupling this from the actual kern_mount is probably
> + * advisable.
> + */
> + WARN_ON(sb->s_op->remount_fs(sb, &flags, options));
Not to have too many fallback paths, would it make sense for any error
in setting up gemfs to result in NULL gemfs and fallback to tmpfs?
With the string constified, this is:
Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Regards, Joonas
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
More information about the Intel-gfx
mailing list