2022-08-10 06:13:51

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH 0/4] update the xen config fragments

Dear xen maintainers,

here are three patches to update the xen config fragments to the currently
existing configs.

The fourth patch is just an addition to MAINTAINERS that I saw reasonable
after get_maintainers did not point to the XEN subsystem.

It applies cleanly on next-20220810.

Lukas

Lukas Bulwahn (4):
xen: x86: set the config XEN_512GB after config change
xen: remove XEN_SCRUB_PAGES in xen.config
xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config
MAINTAINERS: add xen config fragments to XEN HYPERVISOR sections

MAINTAINERS | 2 ++
arch/x86/configs/xen.config | 5 +----
kernel/configs/xen.config | 2 +-
3 files changed, 4 insertions(+), 5 deletions(-)

--
2.17.1


2022-08-10 06:15:16

by Lukas Bulwahn

[permalink] [raw]
Subject: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config

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.

Signed-off-by: Lukas Bulwahn <[email protected]>
---
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
--
2.17.1

2022-08-10 13:36:19

by Oleksandr Tyshchenko

[permalink] [raw]
Subject: Re: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config


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 <[email protected]>
> ---
> 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

2022-08-17 04:44:47

by Lukas Bulwahn

[permalink] [raw]
Subject: Re: [PATCH 3/4] xen: move XEN_BALLOON_MEMORY_HOTPLUG to generic config

On Wed, Aug 10, 2022 at 1:32 PM Oleksandr Tyshchenko
<[email protected]> wrote:
>
>
> 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.
>

Thanks for the in-depth investigation and explanation. For now, let us
drop this patch here and keep the configs as they are.

Lukas