From: William Kucharski <kucharsk@gmail.com>
To: Song Liu <songliubraving@fb.com>,
William Kucharski <william.kucharski@oracle.com>
Cc: lkml <linux-kernel@vger.kernel.org>,
Linux-MM <linux-mm@kvack.org>,
"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Bob Kasten <robert.a.kasten@intel.com>,
Mike Kravetz <mike.kravetz@oracle.com>,
Chad Mynhier <chad.mynhier@oracle.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Johannes Weiner <jweiner@fb.com>,
Matthew Wilcox <willy@infradead.org>
Subject: Re: [PATCH v3 0/2] mm,thp: Add filemap_huge_fault() for THP
Date: Wed, 31 Jul 2019 02:58:21 -0600 [thread overview]
Message-ID: <dc8d71ca-cbec-b924-386f-678ce528aff6@gmail.com> (raw)
In-Reply-To: <C9405E2A-4A0B-4EFD-B432-C54D2C9CFC2B@fb.com>
On 7/31/19 2:35 AM, Song Liu wrote:
> Could you please explain how to test/try this? Would it automatically map
> all executables to THPs?
Until there is filesystem support you can't actually try this, though I have
tested it through some hacks during development and am also working on some
other methods to be able to test this before large page filesystem read support
is in place.
The end goal is that if enabled, when a fault occurs for an RO executable where
the faulting address lies within a vma properly aligned/sized for the fault to
be satisfied by mapping a THP, and the kernel can allocate a THP, the fault WILL
be satisfied by mapping the THP.
It's not expected that all executables nor even all pages of all executables
would be THP-mapped, just those executables and ranges where alignment and size
permit. Future optimizations may include fine-tuning these checks to try to
better determine whether an application would actually benefit from THP mapping.
From some quick and dirty experiments I performed, I've seen that there are a
surprising number of applications that may end up with THP-mapped pages,
including Perl, Chrome and Firefox.
However I don't yet know what the actual vs. theoretical benefits would be.
-- Bill
next prev parent reply other threads:[~2019-07-31 8:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-07-31 8:25 [PATCH v3 0/2] mm,thp: Add filemap_huge_fault() for THP William Kucharski
2019-07-31 8:25 ` [PATCH v3 1/2] mm: Allow the page cache to allocate large pages William Kucharski
2019-07-31 8:25 ` [PATCH v3 2/2] mm,thp: Add experimental config option RO_EXEC_FILEMAP_HUGE_FAULT_THP William Kucharski
2019-08-01 12:36 ` Kirill A. Shutemov
2019-08-03 22:27 ` William Kucharski
2019-08-05 13:28 ` Kirill A. Shutemov
2019-08-05 15:56 ` William Kucharski
2019-08-06 11:12 ` Kirill A. Shutemov
2019-08-07 16:12 ` William Kucharski
2019-07-31 8:35 ` [PATCH v3 0/2] mm,thp: Add filemap_huge_fault() for THP Song Liu
2019-07-31 8:58 ` William Kucharski [this message]
2019-07-31 10:20 ` Dave Chinner
2019-07-31 11:32 ` Matthew Wilcox
2019-07-31 22:19 ` Dave Chinner
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=dc8d71ca-cbec-b924-386f-678ce528aff6@gmail.com \
--to=kucharsk@gmail.com \
--cc=chad.mynhier@oracle.com \
--cc=dave.hansen@linux.intel.com \
--cc=jweiner@fb.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mike.kravetz@oracle.com \
--cc=robert.a.kasten@intel.com \
--cc=songliubraving@fb.com \
--cc=william.kucharski@oracle.com \
--cc=willy@infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).