On 10.08.22 08:07, Lukas Bulwahn wrote: Hello Lukas, all > While reviewing arch/x86/configs/xen.config, I noticed the following > note in this file: > > '# depends on MEMORY_HOTPLUG, arm64 doesn't enable this yet, > '# move to generic config if it ever does. > CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y > > Commit 6c6685055a28 ("kconfig: add xenconfig defconfig helper") in June > 2015 adds this note. Fortunately, commit 4ab215061554 ("arm64: Add memory > hotplug support") from December 2018 adds the memory hotplug in arm64, so > the precondition of this note above is now met. > > Move setting the config XEN_BALLOON_MEMORY_HOTPLUG into the generic > xen.config now. I might have missed something but I have never heard of anyone using XEN_BALLOON_MEMORY_HOTPLUG on Arm. Looking into the code, I am afraid, CONFIG_XEN_BALLOON_MEMORY_HOTPLUG won't be functional on Arm without reworking resource allocation logic in drivers/xen/ballon.c at least, since system "iomem_resource" cannot be used on Arm to allocate unused memory region(s), please see additional_memory_resource(). I might be wrong, but it feels to me that here we would need a similar logic like in drivers/xen/unpopulated-alloc.c which is functional on Arm since it uses specific Xen resource (on x86 it is just an iomem_resource, but on Arm it contains provided by the hypervisor extended regions). I am not aware of anyone working on it, so I wouldn't enable that support on Arm by default until the code is updated. > > Signed-off-by: Lukas Bulwahn <lukas.bulwahn@xxxxxxxxx> > --- > arch/x86/configs/xen.config | 3 --- > kernel/configs/xen.config | 1 + > 2 files changed, 1 insertion(+), 3 deletions(-) > > diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config > index 8a6c88f48e75..024817bc4f0e 100644 > --- a/arch/x86/configs/xen.config > +++ b/arch/x86/configs/xen.config > @@ -23,6 +23,3 @@ CONFIG_XEN_ACPI_PROCESSOR=m > CONFIG_XEN_PCIDEV_BACKEND=m > # x86 specific frontend drivers > CONFIG_XEN_PCIDEV_FRONTEND=m > -# depends on MEMORY_HOTPLUG, arm64 doesn't enable this yet, > -# move to generic config if it ever does. > -CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y > diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config > index 436f806aa1ed..ea84d5b3122d 100644 > --- a/kernel/configs/xen.config > +++ b/kernel/configs/xen.config > @@ -34,6 +34,7 @@ CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m > CONFIG_XEN_SCSI_FRONTEND=m > # others > CONFIG_XEN_BALLOON=y > +CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y > CONFIG_XEN_DEV_EVTCHN=m > CONFIG_XEN_BLKDEV_FRONTEND=m > CONFIG_XEN_NETDEV_FRONTEND=m -- Regards, Oleksandr Tyshchenko