[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220112191510.6uqdflbreuet7bnx@box.shutemov.name>
Date: Wed, 12 Jan 2022 22:15:10 +0300
From: "Kirill A. Shutemov" <kirill@...temov.name>
To: David Hildenbrand <david@...hat.com>
Cc: Dave Hansen <dave.hansen@...el.com>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Borislav Petkov <bp@...en8.de>,
Andy Lutomirski <luto@...nel.org>,
Sean Christopherson <seanjc@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Joerg Roedel <jroedel@...e.de>,
Ard Biesheuvel <ardb@...nel.org>,
Andi Kleen <ak@...ux.intel.com>,
Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@...ux.intel.com>,
David Rientjes <rientjes@...gle.com>,
Vlastimil Babka <vbabka@...e.cz>,
Tom Lendacky <thomas.lendacky@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
Paolo Bonzini <pbonzini@...hat.com>,
Ingo Molnar <mingo@...hat.com>,
Varad Gautam <varad.gautam@...e.com>,
Dario Faggioli <dfaggioli@...e.com>, x86@...nel.org,
linux-mm@...ck.org, linux-coco@...ts.linux.dev,
linux-efi@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCHv2 1/7] mm: Add support for unaccepted memory
On Wed, Jan 12, 2022 at 12:31:10PM +0100, David Hildenbrand wrote:
>
> >
> > Looking at stuff like this, I can't help but think that a:
> >
> > #define PageOffline PageUnaccepted
> >
> > and some other renaming would be a fine idea. I get that the Offline
> > bit can be reused, but I'm not sure that the "Offline" *naming* should
> > be reused. What you're doing here is logically distinct from existing
> > offlining.
>
> Yes, or using a new pagetype bit to make the distinction clearer.
> Especially the function names like maybe_set_page_offline() et. Al are
> confusing IMHO. They are all about accepting unaccepted memory ... and
> should express that.
"Unaccepted" is UEFI treminology and I'm not sure we want to expose
core-mm to it. Power/S390/ARM may have a different name for the same
concept. Offline/online is neutral terminology, familiar to MM developers.
What if I change accept->online in function names and document the meaning
properly?
> I assume PageOffline() will be set only on the first sub-page of a
> high-order PageBuddy() page, correct?
>
> Then we'll have to monitor all PageOffline() users such that they can
> actually deal with PageBuddy() pages spanning *multiple* base pages for
> a PageBuddy() page. For now it's clear that if a page is PageOffline(),
> it cannot be PageBuddy() and cannot span more than one base page.
> E.g., fs/proc/kcore.c:read_kcore() assumes that PageOffline() is set on
> individual base pages.
Right, pages that offline from hotplug POV are never on page allocator's
free lists, so it cannot ever step on them.
--
Kirill A. Shutemov
Powered by blists - more mailing lists