On Thu, Mar 13, 2025 at 2:22 AM David Hildenbrand <david@xxxxxxxxxx> wrote: > > On 13.03.25 00:04, Nico Pache wrote: > > On Wed, Mar 12, 2025 at 4:19 PM David Hildenbrand <david@xxxxxxxxxx> wrote: > >> > >> On 12.03.25 01:06, Nico Pache wrote: > >>> Add NR_BALLOON_PAGES counter to track memory used by balloon drivers and > >>> expose it through /proc/meminfo and other memory reporting interfaces. > >> > >> In balloon_page_enqueue_one(), we perform a > >> > >> __count_vm_event(BALLOON_INFLATE) > >> > >> and in balloon_page_list_dequeue > >> > >> __count_vm_event(BALLOON_DEFLATE); > >> > >> > >> Should we maybe simply do the per-node accounting similarly there? > > > > I think the issue is that some balloon drivers use the > > balloon_compaction interface while others use their own. > > > > This would require unifying all the drivers under a single api which > > may be tricky if they all have different behavior > > Why would that be required? Simply implement it in the balloon > compaction logic, and in addition separately in the ones that don't > implement it. Ah ok that makes sense! > > That's the same as how we handle PageOffline today. > > In summary, we have > > virtio-balloon: balloon compaction > hv-balloon: no balloon compaction > xen-balloon: no balloon compaction > vmx-balloon: balloon compaction > pseries-cmm: balloon compaction I'm having a hard time verifying this... it looks like only vmx-balloon uses the balloon_compaction balloon_page_list_enqueue function that calls balloon_page_enqueue_one. > > So you'd handle 3 balloon drivers in one go. > > (this series didn't touch pseries-cmm) Ah I didn't realize that was a balloon driver. Ill add that one to the todo. > > -- > Cheers, > > David / dhildenb >