[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