Re: [PATCH v2 00/23] mm: balloon infrastructure cleanups

2026-01-15 Thread David Hildenbrand (Red Hat)

On 1/15/26 19:49, Andrew Morton wrote:

On Thu, 15 Jan 2026 10:19:50 +0100 "David Hildenbrand (Red Hat)" 
 wrote:


I started with wanting to remove the dependency of the balloon
infrastructure on the page lock, but ended up performing various other
cleanups, some of which I had on my todo list for years.

This series heavily cleans up and simplifies our balloon infrastructure,
including our balloon page migration functionality.


Thanks, I'll add this.  Again, I'll suppress the ensuing 528 emails.

Sigh, I do worry that the ongoing email deluge is training people to
ignore addition of things to mm.git.  Maybe more emails like this one
is the way to address this.


It would be sufficient to only send a single mail for the whole 
patchset, maybe?


--
Cheers

David



Re: [PATCH v2 00/23] mm: balloon infrastructure cleanups

2026-01-15 Thread Andrew Morton
On Thu, 15 Jan 2026 10:19:50 +0100 "David Hildenbrand (Red Hat)" 
 wrote:

> I started with wanting to remove the dependency of the balloon
> infrastructure on the page lock, but ended up performing various other
> cleanups, some of which I had on my todo list for years.
> 
> This series heavily cleans up and simplifies our balloon infrastructure,
> including our balloon page migration functionality.

Thanks, I'll add this.  Again, I'll suppress the ensuing 528 emails.

Sigh, I do worry that the ongoing email deluge is training people to
ignore addition of things to mm.git.  Maybe more emails like this one
is the way to address this.



Re: [PATCH v2 00/23] mm: balloon infrastructure cleanups

2026-01-15 Thread David Hildenbrand (Red Hat)

On 1/15/26 10:32, Michael S. Tsirkin wrote:

On Thu, Jan 15, 2026 at 10:19:50AM +0100, David Hildenbrand (Red Hat) wrote:

I started with wanting to remove the dependency of the balloon
infrastructure on the page lock, but ended up performing various other
cleanups, some of which I had on my todo list for years.

This series heavily cleans up and simplifies our balloon infrastructure,
including our balloon page migration functionality.

With this series, we no longer make use of the page lock for PageOffline
pages as part of the balloon infrastructure (preparing for memdescs
where PageOffline pages won't have any such lock), and simplifies
migration handling such that refcounting can more easily be adjusted
later (long-term focus is for PageOffline pages to not have a refcount
either).

Plenty of related cleanups.

Heavily compile-tested and heavily runtime-tested with virtio-balloon.
PPC CMM and the VMware balloon are untested and I'd appreciate a helping
hand from people that have suitable environments.

Not CCing maintainers for the vmscan.c and migrate.c change as they
are rather trivial and I don't want to patchbomb them.


besides MAINTAINERS thing:

Acked-by: Michael S. Tsirkin 



Thanks!

--
Cheers

David



Re: [PATCH v2 00/23] mm: balloon infrastructure cleanups

2026-01-15 Thread Michael S. Tsirkin
On Thu, Jan 15, 2026 at 10:19:50AM +0100, David Hildenbrand (Red Hat) wrote:
> I started with wanting to remove the dependency of the balloon
> infrastructure on the page lock, but ended up performing various other
> cleanups, some of which I had on my todo list for years.
> 
> This series heavily cleans up and simplifies our balloon infrastructure,
> including our balloon page migration functionality.
> 
> With this series, we no longer make use of the page lock for PageOffline
> pages as part of the balloon infrastructure (preparing for memdescs
> where PageOffline pages won't have any such lock), and simplifies
> migration handling such that refcounting can more easily be adjusted
> later (long-term focus is for PageOffline pages to not have a refcount
> either).
> 
> Plenty of related cleanups.
> 
> Heavily compile-tested and heavily runtime-tested with virtio-balloon.
> PPC CMM and the VMware balloon are untested and I'd appreciate a helping
> hand from people that have suitable environments.
> 
> Not CCing maintainers for the vmscan.c and migrate.c change as they
> are rather trivial and I don't want to patchbomb them.

besides MAINTAINERS thing:

Acked-by: Michael S. Tsirkin 


> --
> 
> This is based on mm/mm-unstable.
> 
> v1 -> v2:
> * Rebased to latest mm/mm-unstable without any conflicts
> * Minor patch description/subject and comment fixups
> * Retested
> 
> Cc: Andrew Morton 
> Cc: Oscar Salvador 
> Cc: Lorenzo Stoakes 
> Cc: "Liam R. Howlett" 
> Cc: Vlastimil Babka 
> Cc: Mike Rapoport 
> Cc: Suren Baghdasaryan 
> Cc: Michal Hocko 
> Cc: Jonathan Corbet 
> Cc: Madhavan Srinivasan 
> Cc: Michael Ellerman 
> Cc: Nicholas Piggin 
> Cc: Christophe Leroy 
> Cc: Arnd Bergmann 
> Cc: Greg Kroah-Hartman 
> Cc: Jerrin Shaji George 
> Cc: "Michael S. Tsirkin" 
> Cc: Jason Wang 
> Cc: Xuan Zhuo 
> Cc: "Eugenio Pérez" 
> Cc: Zi Yan 
> 
> David Hildenbrand (Red Hat) (23):
>   vmw_balloon: adjust BALLOON_DEFLATE when deflating while migrating
>   vmw_balloon: remove vmballoon_compaction_init()
>   powerpc/pseries/cmm: remove cmm_balloon_compaction_init()
>   mm/balloon_compaction: centralize basic page migration handling
>   mm/balloon_compaction: centralize adjust_managed_page_count() handling
>   vmw_balloon: stop using the balloon_dev_info lock
>   mm/balloon_compaction: use a device-independent balloon (list) lock
>   mm/balloon_compaction: remove dependency on page lock
>   mm/balloon_compaction: make balloon_mops static
>   mm/balloon_compaction: drop fs.h include from balloon_compaction.h
>   drivers/virtio/virtio_balloon: stop using balloon_page_push/pop()
>   mm/balloon_compaction: remove balloon_page_push/pop()
>   mm/balloon_compaction: fold balloon_mapping_gfp_mask() into
> balloon_page_alloc()
>   mm/balloon_compaction: move internal helpers to balloon_compaction.c
>   mm/balloon_compaction: assert that the balloon_pages_lock is held
>   mm/balloon_compaction: mark remaining functions for having proper
> kerneldoc
>   mm/balloon_compaction: remove "extern" from functions
>   mm/vmscan: drop inclusion of balloon_compaction.h
>   mm: rename balloon_compaction.(c|h) to balloon.(c|h)
>   mm/kconfig: make BALLOON_COMPACTION depend on MIGRATION
>   mm: rename CONFIG_BALLOON_COMPACTION to CONFIG_BALLOON_MIGRATION
>   mm: rename CONFIG_MEMORY_BALLOON -> CONFIG_BALLOON
>   MAINTAINERS: move memory balloon infrastructure to "MEMORY MANAGEMENT
> - BALLOON"
> 
>  .../admin-guide/mm/memory-hotplug.rst |   8 +-
>  Documentation/core-api/mm-api.rst |   2 +-
>  MAINTAINERS   |  12 +-
>  arch/powerpc/platforms/pseries/Kconfig|   2 +-
>  arch/powerpc/platforms/pseries/cmm.c  |  53 +
>  drivers/misc/Kconfig  |   2 +-
>  drivers/misc/vmw_balloon.c| 105 +++---
>  drivers/virtio/Kconfig|   2 +-
>  drivers/virtio/virtio_balloon.c   |  64 ++
>  include/linux/balloon.h   |  77 +++
>  include/linux/balloon_compaction.h| 160 ---
>  include/linux/vm_event_item.h |   8 +-
>  mm/Kconfig|  23 +--
>  mm/Makefile   |   2 +-
>  mm/{balloon_compaction.c => balloon.c}| 194 +-
>  mm/memory_hotplug.c   |   4 +-
>  mm/migrate.c  |   2 +-
>  mm/vmscan.c   |   1 -
>  mm/vmstat.c   |   8 +-
>  19 files changed, 314 insertions(+), 415 deletions(-)
>  create mode 100644 include/linux/balloon.h
>  delete mode 100644 include/linux/balloon_compaction.h
>  rename mm/{balloon_compaction.c => balloon.c} (59%)
> 
> 
> base-commit: f8ed52ac0cfbddff992bb9600941bfe51e1e385a
> -- 
> 2.52.0