From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 25954D116E2 for ; Fri, 28 Nov 2025 18:41:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 525F96B008A; Fri, 28 Nov 2025 13:41:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4D66A6B0093; Fri, 28 Nov 2025 13:41:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 39E856B0095; Fri, 28 Nov 2025 13:41:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 218A06B008A for ; Fri, 28 Nov 2025 13:41:14 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 943681606F6 for ; Fri, 28 Nov 2025 18:41:13 +0000 (UTC) X-FDA: 84160883226.08.F60E518 Received: from bali.collaboradmins.com (bali.collaboradmins.com [148.251.105.195]) by imf07.hostedemail.com (Postfix) with ESMTP id 935E240014 for ; Fri, 28 Nov 2025 18:41:11 +0000 (UTC) Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=RKhAogxf; dmarc=pass (policy=none) header.from=collabora.com; spf=pass (imf07.hostedemail.com: domain of loic.molinari@collabora.com designates 148.251.105.195 as permitted sender) smtp.mailfrom=loic.molinari@collabora.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1764355271; a=rsa-sha256; cv=none; b=Cyw5JnyXQbrNm06Ku08VeObhQE5tqhb5GcjtFvVe5keuU/tAyW0p1uAUwljwH5ENU8QSq3 7JC3YloWOsbcYUWylor7SoNbG2GHnOolQiDTvH/NybsLZOR1cudtxB9GFoasobZnnrbAWI jI3HiKvi4YnzXmy9dSzxwUQgiaR1dAs= ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=collabora.com header.s=mail header.b=RKhAogxf; dmarc=pass (policy=none) header.from=collabora.com; spf=pass (imf07.hostedemail.com: domain of loic.molinari@collabora.com designates 148.251.105.195 as permitted sender) smtp.mailfrom=loic.molinari@collabora.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1764355271; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vC9WTVfNyUViGlZdnoIAO0/O/EhQzM6QJd30+bK4D58=; b=lTSF66qpVbw6eGnJ5uQvBWeTFXYLyhLrvTaYvoqZhDjCFf1Yo6DiEOJUYjQ9hNi4se0rem A0aV0LvZNLCVUUIGQv48NGeXuksozsV61rP+nsMODJ3fgffdf2BL8GkuhRAj6EbqU15nD0 T4pC7bFHUFFhs8es+rel+H002+8LD6M= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1764355268; bh=pjGvrYsdueRWDiGzWJuR8igEbqVLnOV1Kr4NX8Kwk1I=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=RKhAogxf3z9Ei/hAJajkLD5pCm1EXNG5q5K08bm6kT61kdS2CRh2VXxOGKHobCiae UFhqFEtVuIqleFOB8qTUTNZbweI3jie+/XB/xEpXyVLzGXB+ClpEH1RVUinnBOHDER C++qI/M6IMjXjNOAj+V1Ok7COsa6FJ1os0luuSZpNY02lpQw9i1eYJCRJV7ZxND92/ cCzq0z7U8Lc8J5D6kzIaMnQjmbtXojT2z9dtKCkj6JxpMQhifrAekhJd0PmDw37e6a mwIOTy0lGuY46ZKJrL6dDYFzNd7QbPOUXkaI+jqsXdi156vHiFyWisuEobGp15Kfzj lbR8SyKhkfEtw== Received: from [IPV6:2a01:e0a:5e3:6100:7aed:fe0e:8590:cbaa] (unknown [IPv6:2a01:e0a:5e3:6100:7aed:fe0e:8590:cbaa]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: loicmolinari) by bali.collaboradmins.com (Postfix) with ESMTPSA id 7478C17E06C3; Fri, 28 Nov 2025 19:41:07 +0100 (CET) Message-ID: <240d0dce-bbc4-4c82-9f9f-7f4625da8315@collabora.com> Date: Fri, 28 Nov 2025 19:41:07 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v9 05/11] drm/i915: Use huge tmpfs mountpoint helpers To: Tvrtko Ursulin , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , Boris Brezillon , Rob Herring , Steven Price , Liviu Dudau , Melissa Wen , =?UTF-8?Q?Ma=C3=ADra_Canal?= , Hugh Dickins , Baolin Wang , Andrew Morton , Al Viro , =?UTF-8?Q?Miko=C5=82aj_Wasiak?= , Christian Brauner , Nitin Gote , Andi Shyti , Jonathan Corbet , Christopher Healy , Matthew Wilcox , Bagas Sanjaya Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-mm@kvack.org, linux-doc@vger.kernel.org, kernel@collabora.com References: <20251114170303.2800-1-loic.molinari@collabora.com> <20251114170303.2800-6-loic.molinari@collabora.com> Content-Language: fr From: =?UTF-8?Q?Lo=C3=AFc_Molinari?= Organization: Collabora Ltd In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 935E240014 X-Stat-Signature: dgkxjw3nanp8boeqdit16418cz71tu6q X-Rspam-User: X-HE-Tag: 1764355271-12668 X-HE-Meta: U2FsdGVkX199ztTpAxRQY4Tr7cQIkWeu8idR/XZu34PZHBDt0dGbKV2Z/12x7lwa+4YbBP1skCBxoy4uR1CRgt0kC9dre4OPigmr/oFqWq/QcpmhoTCKsvE5JHu6zfjPw3ai7/AbOl33rmPiQXZUnZb7/BwsyKndUeVSim2yFQ+V4yhxojIoyv6nDPWZfYlx3RswG9E8nqsjXDvfviyA57X4GE1O92up7uWxO2CVoJCDHIvHpA+z8v9CV736+b6E3prJeFtcxoE4liCz22Vwma9Z2kDb4Rrspj2vtGVcuufZhDdZ3XAHsmhqHMlLMX82k/Z44qme+u2aaQeVRcxGhOnJAj/YCM+PGkgeYB/t5caXaYjGyMvIXNhJJyekvR8l8+9GOBKMJpQDidQ4cJL4A8X+kJ+5blmhLxmslVtAXqND4hFumDKMngFQLRdxIJMrBBiCr226u3xQGINFs5Im9LiR07hsBaoINyn2rDCWKMMetRIQYqLqZgt6fMGTPu7r4vv2SwRqXt+wCFRzegVNnkr+evYJgkiclwA9mtfy1M/eQ5o2A4OcUiimbCoGfFrABEThQBi2+41kh131o7OcgbtoF8rkgE59FbKkOGYrMzn5mJGMyyb4JX0sxN4OhSd45O2KKAvxV/5FW24VOq1yoqAX99OUxm17LhHNO8XqNE09BqDjn7RclMxzCzIsNpRaJcdN/Bm5jJ2LAsNmGnB2k6jQ5abzC4t2FIvzkVSo2nNjVGQvRbLiV6K2Ui29Dds7IQVVOkqr34ZLXhn5kwbwiQaxpqEZLnKeZ5tvWP8KPwbIv9Co4GpLhgZM2ujy76LVr2KdKP6IyAjhI4JIDSXNPdEzcs1+AG0c0riejPct5CTjF7LYeZVV38GPagP/BfC3MiNylqIm0f26Xo9GH2gqhYQKwBlE39cb/UHyeVleqrP9Qe56Rmrp9VJXfmVq6o4P4mR7VmrOQsh/fGil4X9 /bQoOCAq puaQsF846k5SojrNO4dQlDcbyK2eRvdxYH4j+jM49nVRpdMVs6CHa6cYKJ/2YlQMtQSFPF2v1CJwb9NetxW7IuZKeRurOTtUL6KzvhPN8kTVmyUB2iF8Mk+D79JZMJLnYdQcHsy8eb/DJpCkQ70v7tUY9cTN3aEoo/5rRxXetqKtHRRuTPTG7Jua9g5PSzeVUqeCPn484vyHWSXBkEg2y7f45gNbMr+Jym8OGb4j7RnGgZWeSW/tesUgXIZuRANzFAc1y1pxETCnAzTTD2umnLSS7zYcP0qKGx0SgWg8JFTjgvghdpAc0SEwYjUzdXhYq3O2zlNmXNU3yjL14EMTzSTcOi1lUTyVnvaID4jsKC5EMuJhHsldOuEkkRerNe5+RIdBaAnTGo4jRWkEkofj5bmmvAVjyg4d2fjzhSDqkgbvXaE+5nD5XaWhynKr1MaG5Qz6OFihiWXPEZ60= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On 20/11/2025 10:31, Tvrtko Ursulin wrote: > > On 14/11/2025 17:02, Loïc Molinari wrote: >> Make use of the new drm_gem_huge_mnt_create() and >> drm_gem_get_huge_mnt() helpers to avoid code duplication. Now that >> it's just a few lines long, the single function in i915_gemfs.c is >> moved into v3d_gem_shmem.c. >> >> v3: >> - use huge tmpfs mountpoint in drm_device >> - move i915_gemfs.c into i915_gem_shmem.c >> >> v4: >> - clean up mountpoint creation error handling >> >> v5: >> - use drm_gem_has_huge_mnt() helper >> >> v7: >> - include in i915_gem_shmem.c >> >> v8: >> - keep logging notice message with CONFIG_TRANSPARENT_HUGEPAGE=n >> - don't access huge_mnt field with CONFIG_TRANSPARENT_HUGEPAGE=n >> >> v9: >> - replace drm_gem_has_huge_mnt() by drm_gem_get_huge_mnt() >> - remove useless ternary op test in selftests/huge_pages.c >> >> Signed-off-by: Loïc Molinari >> --- >>   drivers/gpu/drm/i915/Makefile                 |  3 +- >>   drivers/gpu/drm/i915/gem/i915_gem_shmem.c     | 48 +++++++++---- >>   drivers/gpu/drm/i915/gem/i915_gemfs.c         | 71 ------------------- >>   drivers/gpu/drm/i915/gem/i915_gemfs.h         | 14 ---- >>   .../gpu/drm/i915/gem/selftests/huge_pages.c   | 16 +++-- >>   drivers/gpu/drm/i915/i915_drv.h               |  5 -- >>   6 files changed, 47 insertions(+), 110 deletions(-) >>   delete mode 100644 drivers/gpu/drm/i915/gem/i915_gemfs.c >>   delete mode 100644 drivers/gpu/drm/i915/gem/i915_gemfs.h >> >> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/ >> Makefile >> index 84ec79b64960..b5a8c0a6b747 100644 >> --- a/drivers/gpu/drm/i915/Makefile >> +++ b/drivers/gpu/drm/i915/Makefile >> @@ -169,8 +169,7 @@ gem-y += \ >>       gem/i915_gem_ttm_move.o \ >>       gem/i915_gem_ttm_pm.o \ >>       gem/i915_gem_userptr.o \ >> -    gem/i915_gem_wait.o \ >> -    gem/i915_gemfs.o >> +    gem/i915_gem_wait.o >>   i915-y += \ >>       $(gem-y) \ >>       i915_active.o \ >> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c b/drivers/gpu/ >> drm/i915/gem/i915_gem_shmem.c >> index 26dda55a07ff..15c2c6fde2ac 100644 >> --- a/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> +++ b/drivers/gpu/drm/i915/gem/i915_gem_shmem.c >> @@ -9,14 +9,16 @@ >>   #include >>   #include >> +#include >> +#include >>   #include "gem/i915_gem_region.h" >>   #include "i915_drv.h" >>   #include "i915_gem_object.h" >>   #include "i915_gem_tiling.h" >> -#include "i915_gemfs.h" >>   #include "i915_scatterlist.h" >>   #include "i915_trace.h" >> +#include "i915_utils.h" >>   /* >>    * Move folios to appropriate lru and release the batch, >> decrementing the >> @@ -497,6 +499,7 @@ static int __create_shmem(struct drm_i915_private >> *i915, >>                 resource_size_t size) >>   { >>       unsigned long flags = VM_NORESERVE; >> +    struct vfsmount *huge_mnt; >>       struct file *filp; >>       drm_gem_private_object_init(&i915->drm, obj, size); >> @@ -515,9 +518,9 @@ static int __create_shmem(struct drm_i915_private >> *i915, >>       if (BITS_PER_LONG == 64 && size > MAX_LFS_FILESIZE) >>           return -E2BIG; >> -    if (i915->mm.gemfs) >> -        filp = shmem_file_setup_with_mnt(i915->mm.gemfs, "i915", size, >> -                         flags); >> +    huge_mnt = drm_gem_get_huge_mnt(&i915->drm); >> +    if (huge_mnt) >> +        filp = shmem_file_setup_with_mnt(huge_mnt, "i915", size, flags); >>       else >>           filp = shmem_file_setup("i915", size, flags); >>       if (IS_ERR(filp)) >> @@ -644,21 +647,40 @@ i915_gem_object_create_shmem_from_data(struct >> drm_i915_private *i915, >>   static int init_shmem(struct intel_memory_region *mem) >>   { >> -    i915_gemfs_init(mem->i915); >> -    intel_memory_region_set_name(mem, "system"); >> +    struct drm_i915_private *i915 = mem->i915; >> -    return 0; /* We have fallback to the kernel mnt if gemfs init >> failed. */ >> -} >> +    /* >> +     * By creating our own shmemfs mountpoint, we can pass in >> +     * mount flags that better match our usecase. >> +     * >> +     * One example, although it is probably better with a per-file >> +     * control, is selecting huge page allocations ("huge=within_size"). >> +     * However, we only do so on platforms which benefit from it, or to >> +     * offset the overhead of iommu lookups, where with latter it is >> a net >> +     * win even on platforms which would otherwise see some performance >> +     * regressions such a slow reads issue on Broadwell and Skylake. >> +     */ >> -static int release_shmem(struct intel_memory_region *mem) >> -{ >> -    i915_gemfs_fini(mem->i915); >> -    return 0; >> +    if (GRAPHICS_VER(i915) < 11 && !i915_vtd_active(i915)) >> +        goto no_thp; >> + >> +    drm_gem_huge_mnt_create(&i915->drm, "within_size"); >> +    if (drm_gem_get_huge_mnt(&i915->drm)) >> +        drm_info(&i915->drm, "Using Transparent Hugepages\n"); >> +    else >> +        drm_notice(&i915->drm, >> +               "Transparent Hugepage support is recommended for >> optimal performance%s\n", >> +               GRAPHICS_VER(i915) >= 11 ? " on this platform!" : >> +                              " when IOMMU is enabled!"); >> + >> + no_thp: >> +    intel_memory_region_set_name(mem, "system"); >> + >> +    return 0; /* We have fallback to the kernel mnt if huge mnt >> failed. */ >>   } >>   static const struct intel_memory_region_ops shmem_region_ops = { >>       .init = init_shmem, >> -    .release = release_shmem, >>       .init_object = shmem_object_init, >>   }; >> diff --git a/drivers/gpu/drm/i915/gem/i915_gemfs.c b/drivers/gpu/drm/ >> i915/gem/i915_gemfs.c >> deleted file mode 100644 >> index 1f1290214031..000000000000 >> --- a/drivers/gpu/drm/i915/gem/i915_gemfs.c >> +++ /dev/null >> @@ -1,71 +0,0 @@ >> -// SPDX-License-Identifier: MIT >> -/* >> - * Copyright © 2017 Intel Corporation >> - */ >> - >> -#include >> -#include >> -#include >> - >> -#include >> - >> -#include "i915_drv.h" >> -#include "i915_gemfs.h" >> -#include "i915_utils.h" >> - >> -void i915_gemfs_init(struct drm_i915_private *i915) >> -{ >> -    struct file_system_type *type; >> -    struct fs_context *fc; >> -    struct vfsmount *gemfs; >> -    int ret; >> - >> -    /* >> -     * By creating our own shmemfs mountpoint, we can pass in >> -     * mount flags that better match our usecase. >> -     * >> -     * One example, although it is probably better with a per-file >> -     * control, is selecting huge page allocations ("huge=within_size"). >> -     * However, we only do so on platforms which benefit from it, or to >> -     * offset the overhead of iommu lookups, where with latter it is >> a net >> -     * win even on platforms which would otherwise see some performance >> -     * regressions such a slow reads issue on Broadwell and Skylake. >> -     */ >> - >> -    if (GRAPHICS_VER(i915) < 11 && !i915_vtd_active(i915)) >> -        return; >> - >> -    if (!IS_ENABLED(CONFIG_TRANSPARENT_HUGEPAGE)) >> -        goto err; >> - >> -    type = get_fs_type("tmpfs"); >> -    if (!type) >> -        goto err; >> - >> -    fc = fs_context_for_mount(type, SB_KERNMOUNT); >> -    if (IS_ERR(fc)) >> -        goto err; >> -    ret = vfs_parse_fs_string(fc, "source", "tmpfs"); >> -    if (!ret) >> -        ret = vfs_parse_fs_string(fc, "huge", "within_size"); >> -    if (!ret) >> -        gemfs = fc_mount_longterm(fc); >> -    put_fs_context(fc); >> -    if (ret) >> -        goto err; >> - >> -    i915->mm.gemfs = gemfs; >> -    drm_info(&i915->drm, "Using Transparent Hugepages\n"); >> -    return; >> - >> -err: >> -    drm_notice(&i915->drm, >> -           "Transparent Hugepage support is recommended for optimal >> performance%s\n", >> -           GRAPHICS_VER(i915) >= 11 ? " on this platform!" : >> -                          " when IOMMU is enabled!"); >> -} >> - >> -void i915_gemfs_fini(struct drm_i915_private *i915) >> -{ >> -    kern_unmount(i915->mm.gemfs); >> -} >> diff --git a/drivers/gpu/drm/i915/gem/i915_gemfs.h b/drivers/gpu/drm/ >> i915/gem/i915_gemfs.h >> deleted file mode 100644 >> index 16d4333c9a4e..000000000000 >> --- a/drivers/gpu/drm/i915/gem/i915_gemfs.h >> +++ /dev/null >> @@ -1,14 +0,0 @@ >> -/* SPDX-License-Identifier: MIT */ >> -/* >> - * Copyright © 2017 Intel Corporation >> - */ >> - >> -#ifndef __I915_GEMFS_H__ >> -#define __I915_GEMFS_H__ >> - >> -struct drm_i915_private; >> - >> -void i915_gemfs_init(struct drm_i915_private *i915); >> -void i915_gemfs_fini(struct drm_i915_private *i915); >> - >> -#endif >> diff --git a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c b/ >> drivers/gpu/drm/i915/gem/selftests/huge_pages.c >> index bd08605a1611..28aef75630a2 100644 >> --- a/drivers/gpu/drm/i915/gem/selftests/huge_pages.c >> +++ b/drivers/gpu/drm/i915/gem/selftests/huge_pages.c >> @@ -1316,7 +1316,7 @@ typedef struct drm_i915_gem_object * >>   static inline bool igt_can_allocate_thp(struct drm_i915_private *i915) >>   { >> -    return i915->mm.gemfs && has_transparent_hugepage(); >> +    return !!drm_gem_get_huge_mnt(&i915->drm); >>   } >>   static struct drm_i915_gem_object * >> @@ -1761,7 +1761,9 @@ static int igt_tmpfs_fallback(void *arg) >>       struct drm_i915_private *i915 = arg; >>       struct i915_address_space *vm; >>       struct i915_gem_context *ctx; >> -    struct vfsmount *gemfs = i915->mm.gemfs; >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +    struct vfsmount *huge_mnt = i915->drm.huge_mnt; >> +#endif >>       struct drm_i915_gem_object *obj; >>       struct i915_vma *vma; >>       struct file *file; >> @@ -1782,10 +1784,12 @@ static int igt_tmpfs_fallback(void *arg) >>       /* >>        * Make sure that we don't burst into a ball of flames upon >> falling back >>        * to tmpfs, which we rely on if on the off-chance we encounter >> a failure >> -     * when setting up gemfs. >> +     * when setting up a huge mountpoint. >>        */ >> -    i915->mm.gemfs = NULL; >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +    i915->drm.huge_mnt = NULL; >> +#endif >>       obj = i915_gem_object_create_shmem(i915, PAGE_SIZE); >>       if (IS_ERR(obj)) { >> @@ -1819,7 +1823,9 @@ static int igt_tmpfs_fallback(void *arg) >>   out_put: >>       i915_gem_object_put(obj); >>   out_restore: >> -    i915->mm.gemfs = gemfs; >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +    i915->drm.huge_mnt = huge_mnt; >> +#endif > > Apart from this layering violation in the selftest, this version looks > good to me. I am just wondering if we could somehow improve this aspect. > I was thinking a self-test builds only special version of > i915_gem_object_create_shmem. Call chain is deep but there are flags > passed on: > > i915_gem_object_create_shmem >   i915_gem_object_create_region >     __i915_gem_object_create_region >       err = mem->ops->init_object( > > So we could add a new helper like: > > selftests_create_shmem >   i915_gem_object_create_region(...flags = > I915_BO_ALLOC_SELFTESTS_NOTHP...) > > And in __create_shmem we just make it: > > ... > huge_mnt = drm_gem_get_huge_mnt(&i915->drm) && > if (IS_ENABLED(..SELFTESTS..) && >     (flags & I915_BO_ALLOC_SELFTESTS_NOTHP)) >     huge_mnt = NULL; > ... > > It would avoid the ifdef and needing to play games with the DRM internals. > > How does that sound to you? That sounds better to me but I'm not very familiar with the i915 testing process. Would you be ready to accept the currect ifdef'd version for now and let me take a better look at that proposal later for a follow-up patch series? Regards, Loïc > Regards, > > Tvrtko > >>       i915_vm_put(vm); >>   out: >> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/ >> i915_drv.h >> index 95f9ddf22ce4..93a5af3de334 100644 >> --- a/drivers/gpu/drm/i915/i915_drv.h >> +++ b/drivers/gpu/drm/i915/i915_drv.h >> @@ -141,11 +141,6 @@ struct i915_gem_mm { >>        */ >>       atomic_t free_count; >> -    /** >> -     * tmpfs instance used for shmem backed objects >> -     */ >> -    struct vfsmount *gemfs; >> - >>       struct intel_memory_region *regions[INTEL_REGION_UNKNOWN]; >>       struct notifier_block oom_notifier;