On Thu, Jan 22, 2026 at 12:03:47PM -0500, Jason Andryuk wrote: > On 2026-01-22 11:57, Roger Pau Monné wrote: > > On Thu, Jan 22, 2026 at 09:40:01AM -0500, Jason Andryuk wrote: > > > On 2026-01-21 12:49, Roger Pau Monné wrote: > > > > I haven't tested it yet to see whether that's OK to do on PV, I would > > > > think PV and PVH would be the same here, since the setting of the > > > > xenstore target value is based in the return of > > > > XENMEM_current_reservation for both. > > > > > > On a system with 32GB and dom0=pvh dom0_mem=7G: > > > > > > [ 0.295201] xen:balloon: current_pages: 1835007 get_num_physpages > > > 8220126 > > > xen_released_pages 6385120 > > > [ 0.295201] ------------[ cut here ]------------ > > > [ 0.295201] Released pages underflow current target > > > > > > 8220126 - 6385120 = 1835006 > > > > > > And also for PV: > > > > > > [ 1.406923] xen:balloon: current_pages: 1835008 get_num_physpages > > > 8220127 > > > xen_released_pages 6385120 > > > [ 1.406928] ------------[ cut here ]------------ > > > [ 1.406931] Released pages underflow current target > > > > > > > > > So we don't want to subtract xen_released_pages for dom0. Is > > > xen_released_pages expected to be non-zero for a domU? > > > > Oh, yes. In fact I think the patch here is wrong for PV dom0, as it > > shouldn't subtract xen_released_pages from xen_start_info->nr_pages. > > I will need to send v2. > > To be clear, the numbers and warning are from the follow on > current_reservation patch.
Yes, but I think it's also bad to use xen_start_info->nr_pages - xen_released_pages (my current proposal). xen_released_pages had a different meaning on PV which I kind of stolen for the unpopulated alloc work. It was originally meant to signal pages that are freed during the boot process when it's not possible to relocate them; see xen_set_identity_and_release_chunk. Unpopulated alloc doesn't free the pages it uses, because they are already free to start with. I think I need to introduce a new counter that accounts for pages consumed by unpopulated alloc strictly, and not re-use the xen_released_pages counter. All this memory accounting is far more complex than it should be sadly. Thanks, Roger.
