On 18.02.20 11:05, Michal Hocko wrote: > On Tue 18-02-20 18:19:00, kkabe@xxxxxxxxxxx wrote: >> mhocko@xxxxxxxxxx sed in <20200218084700.GD21113@xxxxxxxxxxxxxx> >> >>>> On Tue 18-02-20 15:24:48, kkabe@xxxxxxxxxxx wrote: >>>> [...] >>>>> Tried out the above patch. >>>>> It seems to be working; no panic, total memory has increased and >>>>> the hot-added memory is added as HIGHMEM. >>>> >>>> I was about to post a patch to mark hotplug broken on 32b but it seems >>>> you do care about this setup. Could you describe your usecase please? >> >> My usecase is testing out the kernel on Hyper-V before loading it on >> real i686 machine. Hyper-V machine is faster to skim out other bugs. >> So memory hot-add is not a must requirement for me, >> but having hot-add may be handy to see the application memory requirement. >> (as in the anaconda test revealed) > > OK, thanks for the clarification. I am not sure that this qualifies > as a sufficient reason to maintain the code though. > >> If we're disabling it, we have to announce it somewhere; >> where is appropriate? `modinfo hv_balloon`'s "hot_add" description? > > This should behave the same way as when the CONFIG_MEMORY_HOTPLULG is > not enabled. And from a very cursory look hv_balloon.c already checks > for the config. > > --- > From 562f21abeda508f199c34358e50fbaa518cd5ed8 Mon Sep 17 00:00:00 2001 > From: Michal Hocko <mhocko@xxxxxxxx> > Date: Tue, 18 Feb 2020 08:04:13 +0100 > Subject: [PATCH] memory_hotplug: disable the functionality for 32b > > Memory hotlug is broken for 32b systems at least since c6f03e2903c9 > ("mm, memory_hotplug: remove zone restrictions") which has considerably > reworked how can be memory associated with movable/kernel zones. The > same is not really trivial to achieve in 32b where only lowmem is the > kernel zone. While we can tweak this immediate problem around there are > likely other land mines hidden at other places. > > It is also quite dubious that there is a real usecase for the memory > hotplug on 32b in the first place. Low memory is just too small to be > hotplugable (for hot add) and generally unusable for hotremove. Adding > more memory to highmem is also dubious because it would increase the > low mem or vmalloc space pressure for memmaps. > > Restrict the functionality to 64b systems. This will help future > development to focus on usecases that have real life application. We > can remove this restriction in future in presence of a real life usecase > of course but until then make it explicit that hotplug on 32b is broken > and requires a non trivial amount of work to fix. > > Signed-off-by: Michal Hocko <mhocko@xxxxxxxx> > --- > mm/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/mm/Kconfig b/mm/Kconfig > index ab80933be65f..2d5fe9e92969 100644 > --- a/mm/Kconfig > +++ b/mm/Kconfig > @@ -154,6 +154,7 @@ config MEMORY_HOTPLUG > bool "Allow for memory hot-add" > depends on SPARSEMEM || X86_64_ACPI_NUMA > depends on ARCH_ENABLE_MEMORY_HOTPLUG > + depends on 64BIT || BROKEN > > config MEMORY_HOTPLUG_SPARSE > def_bool y > Acked-by: David Hildenbrand <david@xxxxxxxxxx> -- Thanks, David / dhildenb