Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH v4 2/2] xen: add helpers to allocate unpopulated memory | From | Jürgen Groß <> | Date | Fri, 14 Aug 2020 14:54:38 +0200 |
| |
On 14.08.20 14:47, Roger Pau Monné wrote: > On Fri, Aug 14, 2020 at 12:27:32PM +0200, Jürgen Groß wrote: >> On 14.08.20 11:56, Roger Pau Monné wrote: >>> On Fri, Aug 14, 2020 at 08:29:20AM +0100, Christoph Hellwig wrote: >>>> On Thu, Aug 13, 2020 at 09:54:20AM +0200, Roger Pau Monn?? wrote: >>>>> On Thu, Aug 13, 2020 at 08:33:37AM +0100, Christoph Hellwig wrote: >>>>>> On Tue, Aug 11, 2020 at 11:44:47AM +0200, Roger Pau Monne wrote: >>>>>>> If enabled (because ZONE_DEVICE is supported) the usage of the new >>>>>>> functionality untangles Xen balloon and RAM hotplug from the usage of >>>>>>> unpopulated physical memory ranges to map foreign pages, which is the >>>>>>> correct thing to do in order to avoid mappings of foreign pages depend >>>>>>> on memory hotplug. >>>>>> >>>>>> So please just select ZONE_DEVICE if this is so much better rather >>>>>> than maintaining two variants. >>>>> >>>>> We still need to other variant for Arm at least, so both need to be >>>>> maintained anyway, even if we force ZONE_DEVICE on x86. >>>> >>>> Well, it still really helps reproducability if you stick to one >>>> implementation of x86. >>>> >>>> The alternative would be an explicit config option to opt into it, >>>> but just getting a different implementation based on a random >>>> kernel option is strange. >>> >>> Would adding something like the chunk below to the patch be OK? >>> >>> ---8<--- >>> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig >>> index 018020b91baa..5f321a1319e6 100644 >>> --- a/drivers/xen/Kconfig >>> +++ b/drivers/xen/Kconfig >>> @@ -328,7 +328,14 @@ config XEN_FRONT_PGDIR_SHBUF >>> tristate >>> config XEN_UNPOPULATED_ALLOC >>> - bool >>> - default y if ZONE_DEVICE && !ARM && !ARM64 >>> + bool "Use unpopulated memory ranges for guest mappings" >>> + depends on X86 >>> + select ZONE_DEVICE >>> + default y >> >> I'd rather use "default XEN_BACKEND" here, as mappings of other guest's >> memory is rarely used for non-backend guests. > > There's also the privcmd and gnt devices which make heavy use of this, > so I'm not sure only selecting by default on XEN_BACKEND is the best > option.
I just want to avoid that kernels built for running as Xen guest, but not as dom0, will be forced to select ZONE_DEVICE.
As privcmd is dom0-only, this is no problem.
In case you are worrying about gnt devices, I'd be fine to switch to
default XEN_BACKEND || XEN_GNTDEV
Juergen
| ![\](/images/icornerr.gif) |