Re: [PATCH v7 7/7] mm/memory_hotplug: Enable runtime update of memmap_on_memory parameter
From: Aneesh Kumar K V <hidden>
Date: 2023-08-02 04:45:24
Also in:
linux-mm
On 8/1/23 4:20 PM, Michal Hocko wrote:
On Tue 01-08-23 14:58:29, Aneesh Kumar K V wrote:quoted
On 8/1/23 2:28 PM, Michal Hocko wrote:quoted
On Tue 01-08-23 10:11:16, Aneesh Kumar K.V wrote:quoted
Allow updating memmap_on_memory mode after the kernel boot. Memory hotplug done after the mode update will use the new mmemap_on_memory value.Well, this is a user space kABI extension and as such you should spend more words about the usecase. Why we could live with this static and now need dynamic?This enables easy testing of memmap_on_memory feature without a kernel reboot.Testing alone is rather weak argument to be honest.quoted
I also expect people wanting to use that when they find dax kmem memory online failing because of struct page allocation failures[1]. User could reboot back with memmap_on_memory=y kernel parameter. But being able to enable it via sysfs makes the feature much more useful.Sure it can be useful but that holds for any feature, right. The main question is whether this is worth maintaing. The current implementation seems rather trivial which is an argument to have it but are there any risks long term? Have you evaluated a potential long term maintenance cost? There is no easy way to go back and disable it later on without breaking some userspace. All that should be in the changelog!
I updated it as below. mm/memory_hotplug: Enable runtime update of memmap_on_memory parameter Allow updating memmap_on_memory mode after the kernel boot. Memory hotplug done after the mode update will use the new mmemap_on_memory value. It is now possible to test the memmap_on_memory feature easily without the need for a kernel reboot. Additionally, for those encountering struct page allocation failures while using dax kmem memory online, this feature may prove useful. Instead of rebooting with the memmap_on_memory=y kernel parameter, users can now enable it via sysfs, which greatly enhances its usefulness. Making the necessary changes to support runtime updates is a simple change that should not affect the addition of new features or result in long-term maintenance problems.