linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Michael Kelley <mikelley@microsoft.com>
To: Alexander Duyck <alexander.duyck@gmail.com>,
	Gavin Shan <gshan@redhat.com>
Cc: linux-mm <linux-mm@kvack.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	David Hildenbrand <david@redhat.com>,
	Anshuman Khandual <anshuman.khandual@arm.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	"shan.gavin@gmail.com" <shan.gavin@gmail.com>
Subject: RE: [PATCH 0/3] mm/page_reporting: Make page reporting work on arm64 with 64KB page size
Date: Mon, 21 Jun 2021 16:06:41 +0000	[thread overview]
Message-ID: <MWHPR21MB159394F6D8804DCF4C969212D70A9@MWHPR21MB1593.namprd21.prod.outlook.com> (raw)
In-Reply-To: <CAKgT0Uf3UwhdFX93YrkiB8yk6v3syqUrdbu720ECqv1ak_H_FA@mail.gmail.com>

From: Alexander Duyck <alexander.duyck@gmail.com> Sent: Monday, June 21, 2021 7:02 AM
> To: Gavin Shan <gshan@redhat.com>
> Cc: linux-mm <linux-mm@kvack.org>; LKML <linux-kernel@vger.kernel.org>; Andrew
> Morton <akpm@linux-foundation.org>; David Hildenbrand <david@redhat.com>;
> Anshuman Khandual <anshuman.khandual@arm.com>; Catalin Marinas
> <catalin.marinas@arm.com>; Will Deacon <will@kernel.org>; shan.gavin@gmail.com
> Subject: Re: [PATCH 0/3] mm/page_reporting: Make page reporting work on arm64 with
> 64KB page size
> 
> So the question I would have is what is the use case for this? It
> seems like you don't have to deal with the guest native page size
> issues since you are willing to break up what would otherwise be THP
> pages on the guest, and the fact that you are willing to go down to
> 2MB pages which happens to align with the host THP page size for x86
> makes me wonder if that is actually the environment you are running
> in.
> 
> Rather than having the guest control this it might make sense to look
> at adding an interface so that the page_reporting_register function
> and the page_reporting_dev_info struct could be used to report and
> configure the minimum page size that the host can support for the page
> reporting. With that the host could then guarantee that it isn't going
> to hurt performance by splitting pages on the host and risk hurting
> the virtualization performance.
> 
> Also you would benefit by looking into the callers of
> page_reporting_register as there are more than just the virtio balloon
> that are consuming it. Odds are HyperV won't care about an ARM64
> architecture, 

FWIW, Hyper-V *does* care about ARM64.  It's already in use by
the Windows Subsystem for Linux VM that's part of Windows 10
on ARM64 hardware.  We're working to get the code accepted
upstream.

Michael

> but your change would essentially disable it outright
> which is why I think this might be better to address via the consumers
> of page reporting rather than trying to address it in page reporting
> itself.
> 
> Thanks,
> 
> - Alex
> 
> On Sun, Jun 20, 2021 at 8:11 PM Gavin Shan <gshan@redhat.com> wrote:
> >
> > The page reporting threshold is currently equal to @pageblock_order, which
> > is 13 and 512MB on arm64 with 64KB base page size selected. The page
> > reporting won't be triggered if the freeing page can't come up with a free
> > area like that huge. The condition is hard to be met, especially when the
> > system memory becomes fragmented.
> >
> > This series intends to solve the issue by having page reporting threshold
> > as 5 (2MB) on arm64 with 64KB base page size. The patches are organized as:
> >
> >    PATCH[1/3] introduces variable (@page_reporting_order) to replace original
> >               macro (PAGE_REPORTING_MIN_ORDER). It's also exported so that it
> >               can be adjusted at runtime.
> >    PATCH[2/3] renames PAGE_REPORTING_MIN_ORDER with PAGE_REPORTING_ORDER
> and
> >               allows architecture to specify its own version.
> >    PATCH[3/3] defines PAGE_REPORTING_ORDER to 5, corresponding to 2MB in size,
> >               on arm64 when 64KB base page size is selected. It's still same
> >               as to @pageblock_order for other architectures and cases.
> >
> > Gavin Shan (3):
> >   mm/page_reporting: Allow to set reporting order
> >   mm/page_reporting: Allow architecture to select reporting order
> >   arm64: mm: Specify smaller page reporting order
> >
> >  Documentation/admin-guide/kernel-parameters.txt |  6 ++++++
> >  arch/arm64/include/asm/page.h                   | 13 +++++++++++++
> >  mm/page_reporting.c                             |  8 ++++++--
> >  mm/page_reporting.h                             | 10 +++++++---
> >  4 files changed, 32 insertions(+), 5 deletions(-)
> >
> > --
> > 2.23.0
> >

  reply	other threads:[~2021-06-21 16:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21  5:11 [PATCH 0/3] mm/page_reporting: Make page reporting work on arm64 with 64KB page size Gavin Shan
2021-06-21  5:11 ` [PATCH 1/3] mm/page_reporting: Allow to set reporting order Gavin Shan
2021-06-21  5:11 ` [PATCH 2/3] mm/page_reporting: Allow architecture to select " Gavin Shan
2021-06-21  5:11 ` [PATCH 3/3] arm64: mm: Specify smaller page " Gavin Shan
2021-06-21 14:02 ` [PATCH 0/3] mm/page_reporting: Make page reporting work on arm64 with 64KB page size Alexander Duyck
2021-06-21 16:06   ` Michael Kelley [this message]
2021-06-22  2:04     ` ** POTENTIAL FRAUD ALERT - RED HAT ** " Gavin Shan
2021-06-22  2:01   ` Gavin Shan
2021-06-22 23:25 Michael Kelley

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=MWHPR21MB159394F6D8804DCF4C969212D70A9@MWHPR21MB1593.namprd21.prod.outlook.com \
    --to=mikelley@microsoft.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.duyck@gmail.com \
    --cc=anshuman.khandual@arm.com \
    --cc=catalin.marinas@arm.com \
    --cc=david@redhat.com \
    --cc=gshan@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=shan.gavin@gmail.com \
    --cc=will@kernel.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).