From: Anshuman Khandual <anshuman.khandual@arm.com>
To: Michal Hocko <mhocko@kernel.org>
Cc: "Kirill A. Shutemov" <kirill@shutemov.name>,
lsf-pc@lists.linux-foundation.org,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
"Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>,
Vlastimil Babka <vbabka@suse.cz>
Subject: Re: [LSF/MM TOPIC] Non standard size THP
Date: Thu, 14 Feb 2019 09:11:36 +0530 [thread overview]
Message-ID: <3088cb22-a304-16d8-d97a-5e1e840a7f55@arm.com> (raw)
In-Reply-To: <20190213133827.GN4525@dhcp22.suse.cz>
On 02/13/2019 07:08 PM, Michal Hocko wrote:
> On Wed 13-02-19 18:20:03, Anshuman Khandual wrote:
>> On 02/12/2019 02:03 PM, Kirill A. Shutemov wrote:
>>> Honestly, I'm very skeptical about the idea. It took a lot of time to
>>> stabilize THP for singe page size, equal to PMD page table, but this looks
>>> like a new can of worms. :P
>>
>> I understand your concern here but HW providing some more TLB sizes beyond
>> standard page table level (PMD/PUD/PGD) based huge pages can help achieve
>> performance improvement when the buddy is already fragmented enough not to
>> provide higher order pages. PUD THP file mapping is already supported for
>> DAX and PUD THP anon mapping might be supported in near future (it is not
>> much challenging other than allocating HPAGE_PUD_SIZE huge page at runtime
>> will be much difficult). Around PMD sizes like HPAGE_CONT_PMD_SIZE or
>> HPAGE_CONT_PTE_SIZE really have better chances as future non-PMD level anon
>> mapping than a PUD size anon mapping support in THP.
>
> I do not think our page allocator is really ready to provide >PMD huge
> pages. So even if we deal with all the nasty things wrt locking and page
> table handling the crux becomes the allocation side. The current
> CMA/contig allocator is everything but useful for THP. It can barely
> handle hugetlb cases which are mostly pre-allocate based.
I understand the point for > PMD size. Hence first we can just narrow the
focus on contiguous PTE level huge pages which are < PMD but could offer
THP benefits on arm64 for 64K config page sizes.
>
> Besides that is there any real world usecase driving this or it is
> merely "this is possible so let's just do it"?
64K config arm64 kernel is mostly unable to use THP at PMD level of 512 MB.
But it should be able benefit from THP if we have support at cont PTE level
of 2MB which is way less than 512MB.
next prev parent reply other threads:[~2019-02-14 3:41 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-08 2:13 Anshuman Khandual
2019-02-08 4:24 ` Matthew Wilcox
2019-02-08 6:31 ` Anshuman Khandual
2019-02-12 8:33 ` Kirill A. Shutemov
2019-02-13 12:50 ` Anshuman Khandual
2019-02-13 13:38 ` Michal Hocko
2019-02-14 3:41 ` Anshuman Khandual [this message]
2019-02-13 13:48 ` Kirill A. Shutemov
2019-02-13 13:06 ` Matthew Wilcox
2019-02-13 13:28 ` Kirill A. Shutemov
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=3088cb22-a304-16d8-d97a-5e1e840a7f55@arm.com \
--to=anshuman.khandual@arm.com \
--cc=akpm@linux-foundation.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=kirill@shutemov.name \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lsf-pc@lists.linux-foundation.org \
--cc=mhocko@kernel.org \
--cc=vbabka@suse.cz \
/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