[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z-0F4Fm0byd0Co3v@kernel.org>
Date: Wed, 2 Apr 2025 12:39:44 +0300
From: Mike Rapoport <rppt@...nel.org>
To: David Hildenbrand <david@...hat.com>
Cc: Oscar Salvador <osalvador@...e.de>, Gregory Price <gourry@...rry.net>,
linux-mm@...ck.org, linux-acpi@...r.kernel.org,
kernel-team@...a.com, x86@...nel.org, linux-kernel@...r.kernel.org,
dave.hansen@...ux.intel.com, luto@...nel.org, peterz@...radead.org,
tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, hpa@...or.com,
rafael@...nel.org, lenb@...nel.org, gregkh@...uxfoundation.org,
akpm@...ux-foundation.org, dan.j.williams@...el.com,
Jonathan.Cameron@...wei.com, alison.schofield@...el.com,
rrichter@....com, bfaccini@...dia.com, haibo1.xu@...el.com,
dave.jiang@...el.com, Ira Weiny <ira.weiny@...el.com>,
Fan Ni <fan.ni@...sung.com>
Subject: Re: [PATCH v8 0/3] memory,x86,acpi: hotplug memory alignment
advisement
On Tue, Apr 01, 2025 at 09:08:31PM +0200, David Hildenbrand wrote:
> On 01.04.25 20:53, Oscar Salvador wrote:
> > On Mon, Jan 27, 2025 at 10:34:02AM -0500, Gregory Price wrote:
> > > v8: nits and tag pickups
> > >
> > > When physical address regions are not aligned to memory block size,
> > > the misaligned portion is lost (stranded capacity).
> > >
> > > Block size (min/max/selected) is architecture defined. Most architectures
> > > tend to use the minimum block size or some simplistic heurist. On x86,
> > > memory block size increases up to 2GB, and is otherwise fitted to the
> > > alignment of non-hotplug (i.e. not special purpose memory).
> >
> > I wonder if something like this could help us in improving the
> > ridiculous situation of having 16MB memory-block size on powerpc.
>
> They have this granularity because ... they want to add/remove memory in
> 16MiB on some powerpc dlpar machines :(
I'm not sure they do it today, there's a comment in near define of that 16M
in arch/powerpc/mm/init_64.c:
/*
* Outside hotplug the kernel uses this value to map the kernel direct map
* with radix. To be compatible with older kernels, let's keep this value
* as 16M which is also SECTION_SIZE with SPARSEMEM. We can ideally map
* things with 1GB size in the case where we don't support hotplug.
*/
and their SECTION_SIZE didn't change since 2005.
Quite possible that they'll be fine with increasing their
DEFAULT_MEMORY_BLOCK_SIZE.
> probe_memory_block_size() can query the hypervisor on the actual hot(un)plug
> size. IIRC, QEMU sets it to 256 MiB.
>
> --
> Cheers,
>
> David / dhildenb
>
--
Sincerely yours,
Mike.
Powered by blists - more mailing lists