From: Mike Kravetz <mike.kravetz@oracle.com>
To: James Houghton <jthoughton@google.com>
Cc: Junxiao Chang <junxiao.chang@intel.com>,
akpm@linux-foundation.org, kirill.shutemov@linux.intel.com,
mhocko@suse.com, jmarchan@redhat.com, linux-mm@kvack.org,
linux-kernel@vger.kernel.org, muchun.song@linux.dev,
Vivek Kasireddy <vivek.kasireddy@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Dongwon Kim <dongwon.kim@intel.com>,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH] mm: fix hugetlb page unmap count balance issue
Date: Mon, 15 May 2023 10:04:42 -0700 [thread overview]
Message-ID: <20230515170259.GA3848@monkey> (raw)
In-Reply-To: <20230512232947.GA3927@monkey>
On 05/12/23 16:29, Mike Kravetz wrote:
> On 05/12/23 14:26, James Houghton wrote:
> > On Fri, May 12, 2023 at 12:20 AM Junxiao Chang <junxiao.chang@intel.com> wrote:
> >
> > This alone doesn't fix mapcounting for PTE-mapped HugeTLB pages. You
> > need something like [1]. I can resend it if that's what we should be
> > doing, but this mapcounting scheme doesn't work when the page structs
> > have been freed.
> >
> > It seems like it was a mistake to include support for hugetlb memfds in udmabuf.
>
> IIUC, it was added with commit 16c243e99d33 udmabuf: Add support for mapping
> hugepages (v4). Looks like it was never sent to linux-mm? That is unfortunate
> as hugetlb vmemmap freeing went in at about the same time. And, as you have
> noted udmabuf will not work if hugetlb vmemmap freeing is enabled.
>
> Sigh!
>
> Trying to think of a way forward.
> --
> Mike Kravetz
>
> >
> > [1]: https://lore.kernel.org/linux-mm/20230306230004.1387007-2-jthoughton@google.com/
> >
> > - James
Adding people and list on Cc: involved with commit 16c243e99d33.
There are several issues with trying to map tail pages of hugetllb pages
not taken into account with udmabuf. James spent quite a bit of time trying
to understand and address all the issues with the HGM code. While using
the scheme proposed by James, may be an approach to the mapcount issue there
are also other issues that need attention. For example, I do not see how
the fault code checks the state of the hugetlb page (such as poison) as none
of that state is carried in tail pages.
The more I think about it, the more I think udmabuf should treat hugetlb
pages as hugetlb pages. They should be mapped at the appropriate level
in the page table. Of course, this would impose new restrictions on the
API (mmap and ioctl) that may break existing users. I have no idea how
extensively udmabuf is being used with hugetlb mappings.
--
Mike Kravetz
next prev parent reply other threads:[~2023-05-15 17:06 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-12 7:20 Junxiao Chang
2023-05-12 21:03 ` Andrew Morton
2023-05-15 0:08 ` Chang, Junxiao
2023-05-12 21:26 ` James Houghton
2023-05-12 23:29 ` Mike Kravetz
2023-05-15 0:44 ` Chang, Junxiao
2023-05-15 17:04 ` Mike Kravetz [this message]
2023-05-16 22:34 ` Mike Kravetz
2023-06-07 19:03 ` Andrew Morton
2023-06-07 20:53 ` Mike Kravetz
2023-06-07 21:00 ` Andrew Morton
2023-06-07 21:16 ` Mike Kravetz
2023-06-08 7:59 ` Greg Kroah-Hartman
2023-06-07 19:27 ` David Hildenbrand
2023-06-19 12:27 ` Gerd Hoffmann
2023-06-20 6:23 ` Kasireddy, Vivek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230515170259.GA3848@monkey \
--to=mike.kravetz@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=dongwon.kim@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jmarchan@redhat.com \
--cc=jthoughton@google.com \
--cc=junxiao.chang@intel.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kraxel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=muchun.song@linux.dev \
--cc=vivek.kasireddy@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox