]> git.ipfire.org Git - thirdparty/linux.git/commit
Partial revert "x86/xen: fix balloon target initialization for PVH dom0"
authorRoger Pau Monne <roger.pau@citrix.com>
Wed, 28 Jan 2026 11:05:08 +0000 (12:05 +0100)
committerJuergen Gross <jgross@suse.com>
Mon, 2 Feb 2026 06:31:22 +0000 (07:31 +0100)
commit0949c646d64697428ff6257d52efa5093566868d
treea6dde8e2d5e94a5f525cc931dca675dbd40803cd
parent763baca7bf8b36b8ff0e1ec6eb30dbfe99b18fd8
Partial revert "x86/xen: fix balloon target initialization for PVH dom0"

This partially reverts commit 87af633689ce16ddb166c80f32b120e50b1295de so
the current memory target for PV guests is still fetched from
start_info->nr_pages, which matches exactly what the toolstack sets the
initial memory target to.

Using get_num_physpages() is possible on PV also, but needs adjusting to
take into account the ISA hole and the PFN at 0 not considered usable
memory despite being populated, and hence would need extra adjustments.
Instead of carrying those extra adjustments switch back to the previous
code.  That leaves Linux with a difference in how current memory target is
obtained for HVM vs PV, but that's better than adding extra logic just for
PV.

However if switching to start_info->nr_pages for PV domains we need to
differentiate between released pages (freed back to the hypervisor) as
opposed to pages in the physmap which are not populated to start with.
Introduce a new xen_unpopulated_pages to account for papges that have
never been populated, and hence in the PV case don't need subtracting.

Fixes: 87af633689ce ("x86/xen: fix balloon target initialization for PVH dom0")
Reported-by: James Dingwall <james@dingwall.me.uk>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
Message-ID: <20260128110510.46425-2-roger.pau@citrix.com>
arch/x86/xen/enlighten.c
drivers/xen/balloon.c
drivers/xen/unpopulated-alloc.c
include/xen/xen.h