linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: David Hildenbrand <david@redhat.com>
To: Michal Hocko <mhocko@suse.com>,
	Aneesh Kumar K V <aneesh.kumar@linux.ibm.com>
Cc: linux-mm@kvack.org, akpm@linux-foundation.org,
	mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
	npiggin@gmail.com, christophe.leroy@csgroup.eu,
	Oscar Salvador <osalvador@suse.de>,
	Vishal Verma <vishal.l.verma@intel.com>
Subject: Re: [PATCH v7 7/7] mm/memory_hotplug: Enable runtime update of memmap_on_memory parameter
Date: Mon, 7 Aug 2023 20:35:49 +0200	[thread overview]
Message-ID: <b6753402-2de9-25b2-36e9-eacd49752b19@redhat.com> (raw)
In-Reply-To: <a32a9e7f-1e24-bab1-cb73-8058fed3b59c@redhat.com>

On 07.08.23 14:41, David Hildenbrand wrote:
> On 07.08.23 14:27, Michal Hocko wrote:
>> On Sat 05-08-23 19:54:23, Aneesh Kumar K V wrote:
>> [...]
>>> Do you see a need for firmware-managed memory to be hotplugged in with
>>> different memory block sizes?
>>
>> In short. Yes. Slightly longer, a fixed size memory block semantic is
>> just standing in the way and I would even argue it is actively harmful.
>> Just have a look at ridicously small memory blocks on ppc. I do
>> understand that it makes some sense to be aligned to the memory model
>> (so sparsmem section aligned). In an ideal world, memory hotplug v2
>> interface (if we ever go that path) should be physical memory range based.
> 
> Yes, we discussed that a couple of times already (and so far nobody
> cared to implement any of that).
> 
> Small memory block sizes are very beneficial for use cases like PPC
> dlar, virtio-mem, hyperv-balloon, ... essentially in most virtual
> environments where you might want to add/remove memory in very small
> granularity. I don't see that changing any time soon. Rather the opposite.
> 
> Small memory block sizes are suboptimal for large machines where you
> might never end up removing such memory (boot memory), or when dealing
> with devices that can only be removed in one piece (DIMM/kmem). We
> already have memory groups in place to model that.
> 
> For the latter it might be beneficial to have memory blocks of larger
> size that correspond to the physical memory ranges. That might also make
> a memmap (re-)configuration easier.
> 
> Not sure if that is standing in any way or is harmful, though.
> 

Just because I thought of something right now, I'll share it, maybe it 
makes sense.

Assume when we get add_memory*(MHP_MEMMAP_ON_MEMORY) and it is enabled 
by the admin:

1) We create a single altmap at the beginning of the memory

2) We create the existing fixed-size memory block devices, but flag them
    to be part of a single "altmap" unit.

3) Whenever we trigger offlining of a single such memory block, we
    offline *all* memory blocks belonging to that altmap, essentially
    using a single offline_pages() call and updating all memory block
    states accordingly.

4) Whenever we trigger onlining of a single such memory block, we
    online *all* memory blocks belonging to that altmap, using a single
    online_pages() call.

5) We fail remove_memory() if it doesn't cover the same (altmap) range.

So we can avoid having a memory block v2 (and all that comes with that 
...) for now and still get that altmap stuff sorted out. As that altmap 
behavior can be controlled by the admin, we should be fine for now.

I think all memory notifiers should already be able to handle bigger 
granularity, but it would be easy to check. Some internal things might 
require a bit of tweaking.

Just a thought.

-- 
Cheers,

David / dhildenb



  reply	other threads:[~2023-08-07 18:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-01  4:41 [PATCH v7 0/7] Add support for memmap on memory feature on ppc64 Aneesh Kumar K.V
2023-08-01  4:41 ` [PATCH v7 1/7] mm/memory_hotplug: Simplify ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE kconfig Aneesh Kumar K.V
2023-08-01  4:41 ` [PATCH v7 5/7] powerpc/book3s64/memhotplug: Enable memmap on memory for radix Aneesh Kumar K.V
     [not found] ` <20230801044116.10674-8-aneesh.kumar@linux.ibm.com>
2023-08-01  8:58   ` [PATCH v7 7/7] mm/memory_hotplug: Enable runtime update of memmap_on_memory parameter Michal Hocko
     [not found]     ` <a32fe748-fa18-bd92-3a10-5da8dbad96e6@linux.ibm.com>
2023-08-01 10:50       ` Michal Hocko
2023-08-02  4:45         ` Aneesh Kumar K V
2023-08-02 15:50           ` Michal Hocko
2023-08-02 15:54             ` David Hildenbrand
2023-08-02 15:57               ` Aneesh Kumar K V
2023-08-02 16:02                 ` Verma, Vishal L
2023-08-02 16:59               ` Michal Hocko
2023-08-03  8:52                 ` Michal Hocko
2023-08-03  9:24                   ` David Hildenbrand
2023-08-03 11:30                     ` Michal Hocko
     [not found]                       ` <d71a85b1-c0ea-6451-d65c-d7c5040caf77@linux.ibm.com>
2023-08-07 12:27                         ` Michal Hocko
2023-08-07 12:41                           ` David Hildenbrand
2023-08-07 18:35                             ` David Hildenbrand [this message]
2023-08-08  6:09                               ` Aneesh Kumar K V
2023-08-08  6:29                               ` Aneesh Kumar K V
2023-08-08  7:46                                 ` David Hildenbrand
2023-08-07 12:54                       ` David Hildenbrand
     [not found] ` <20230801044116.10674-5-aneesh.kumar@linux.ibm.com>
2023-08-01  9:04   ` [PATCH v7 4/7] mm/memory_hotplug: Support memmap_on_memory when memmap is not aligned to pageblocks Michal Hocko
2023-08-01  9:07 ` [PATCH v7 0/7] Add support for memmap on memory feature on ppc64 Michal Hocko
     [not found] ` <20230801044116.10674-7-aneesh.kumar@linux.ibm.com>
2023-08-01 23:10   ` [PATCH v7 6/7] mm/memory_hotplug: Embed vmem_altmap details in memory block Verma, Vishal L
2023-08-02  4:47     ` Aneesh Kumar K V

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=b6753402-2de9-25b2-36e9-eacd49752b19@redhat.com \
    --to=david@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mhocko@suse.com \
    --cc=mpe@ellerman.id.au \
    --cc=npiggin@gmail.com \
    --cc=osalvador@suse.de \
    --cc=vishal.l.verma@intel.com \
    /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).