From: David Hildenbrand <david@redhat.com>
To: Gregory Price <gourry@gourry.net>
Cc: linux-mm@kvack.org, linux-kernel@kvack.org, osalvador@suse.de,
gregkh@linuxfoundation.org, rafael@kernel.org,
akpm@linux-foundation.org
Subject: Re: [PATCH] mm: add build-time option to set hotplug default type
Date: Fri, 20 Dec 2024 16:56:04 +0100 [thread overview]
Message-ID: <161e99cd-543b-4be2-a6c1-d7c4ff4e74a2@redhat.com> (raw)
In-Reply-To: <Z2WKbg3HSDMrW3op@gourry-fedora-PF4VCD3F>
On 20.12.24 16:17, Gregory Price wrote:
> On Fri, Dec 20, 2024 at 03:59:58PM +0100, David Hildenbrand wrote:
>> On 20.12.24 15:45, Gregory Price wrote:
>>> When memory hotplug auto-online is enabled, hotplug memory blocks are
>>> onlined into ZONE_NORMAL by default. The `memhp_default_state` boot
>>> param allows runtime configuration, but no build-time config exists.
>>
>> + you can configure it at runtime.
>>
>>>
>>> Add a build-time configuration option to change default hotplug zone.
>>>
>>> build config:
>>> MEMHP_DEFAULT_TYPE
>>>
>>> Selections:
>>> MEMHP_DEFAULT_TYPE_NORMAL => mhp_default_online_type = "online"
>>> MEMHP_DEFAULT_TYPE_MOVABLE => mhp_default_online_type = "online_movable"
>>>
>>> When MEMORY_HOTPLUG_DEFAULT_ONLINE is disabled, MEMHP_DEFAULT_TYPE is
>>> set to "offline" to match the current system behavior.
>>>
>>> ZONE_NORMAL still remains the default, because for systems with a large
>>> amount of hotplug memory, defaulting it to ZONE_MOVABLE may result in
>>> portions failing to online if sufficient ZONE_NORMAL memory does not
>>> exist to describe it.
>>>
>>
>> What's the use case?
>>
>> I'm hoping that we can move away from the compile-time option and let user
>> space, who better knows what to do (especially with different kinds of
>> memory having different requirements) configure auto-onlining or online
>> manually (e.g., devdax).
>>
>
> At Meta we have a fairly complex boot process that goes through multiple
> kernels before we get to a target kernel to run workloads. Each of those> kernels may have health-checks that want to see the memory is online.
Fancy, I'd love to learn some more about that if there is public
information available somewhere.
>
> The build switch makes this particular feature consistent for us across
> all those kernels without having to carry the boot parameter. Eventually
> we'd like to move to udev, but it's not feasible for us right now due
> to the state of CXL BIOS/Platform/Drivers - driver-management does not
> work reliable for all platforms and all devices.
I see.
>
> This gets us where we're going while the rest catch up.
Understood, let me review the patch briefly.
--
Cheers,
David / dhildenb
next prev parent reply other threads:[~2024-12-20 15:56 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-20 14:45 Gregory Price
2024-12-20 14:59 ` David Hildenbrand
2024-12-20 15:17 ` Gregory Price
2024-12-20 15:56 ` David Hildenbrand [this message]
2024-12-20 16:04 ` David Hildenbrand
2024-12-20 16:37 ` Gregory Price
2024-12-20 18:25 ` David Hildenbrand
2024-12-20 18:36 ` Gregory Price
2024-12-20 18:25 ` Gregory Price
2024-12-20 18:26 ` David Hildenbrand
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=161e99cd-543b-4be2-a6c1-d7c4ff4e74a2@redhat.com \
--to=david@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=gourry@gourry.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@kvack.org \
--cc=linux-mm@kvack.org \
--cc=osalvador@suse.de \
--cc=rafael@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