Re: [PATCH v7] mm: Add PM_THP_MAPPED to /proc/pid/pagemap

From: William Kucharski
Date: Tue Jan 11 2022 - 18:35:33 EST




> On Jan 4, 2022, at 4:04 PM, Mina Almasry <almasrymina@xxxxxxxxxx> wrote:
>
> On Mon, Dec 13, 2021 at 4:22 PM Mina Almasry <almasrymina@xxxxxxxxxx> wrote:
>>
>> On Sat, Nov 27, 2021 at 8:10 PM Matthew Wilcox <willy@xxxxxxxxxxxxx> wrote:
>>>
>>> On Mon, Nov 22, 2021 at 04:01:02PM -0800, Mina Almasry wrote:
>>>> Add PM_THP_MAPPED MAPPING to allow userspace to detect whether a given virt
>>>> address is currently mapped by a transparent huge page or not. Example
>>>> use case is a process requesting THPs from the kernel (via a huge tmpfs
>>>> mount for example), for a performance critical region of memory. The
>>>> userspace may want to query whether the kernel is actually backing this
>>>> memory by hugepages or not.
>>>
>>> But what is userspace going to _do_ differently if the kernel hasn't
>>> backed the memory with huge pages?
>>
>> Sorry for the late reply here.
>>
>> My plan is to expose this information as metrics right now and:
>> 1. Understand the kind of hugepage backing we're actually getting if any.
>> 2. If there are drops in hugepage backing we can investigate the
>> cause, whether it's due to normal memory fragmentation or some
>> bug/issue.
>> 3. Schedule machines for reboots to defragment the memory if the
>> hugepage backing is too low.
>> 4. Possibly motivate future work to improve hugepage backing if our
>> numbers are too low.
>
> Friendly ping on this. It has been reviewed by a few folks and after
> Matthew had questions about the use case which I've answered in the
> email above. Matthew, are you opposed to this patch?

I realize I'm jumping in late on this, but while (1) and (2) are
understandable, this bothers me:

> 3. Schedule machines for reboots to defragment the memory if the
> hugepage backing is too low.

If it's important enough to reboot the machine, shouldn't one be using
hugetlbfs instead?

It seems like user space is trying to track something it shouldn't be concerned
about, rather like if user space were concerned about precisely where in physical
memory its pages were mapped.