Re: [PATCH v1 05/29] mm/balloon_compaction: make PageOffline sticky until the page is freed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 30.06.25 18:01, Lorenzo Stoakes wrote:
On Mon, Jun 30, 2025 at 02:59:46PM +0200, David Hildenbrand wrote:
Let the page freeing code handle clearing the page type.

Why is this advantageous? We want to keep the page marked offline for longer?

Less code? ;)

I will add:

"Being able to identify balloon pages until actually freed is a requirement for upcoming movable_ops migration changes."

Note that the documentation is extended in patch #27 to mention that.



Acked-by: Zi Yan <ziy@xxxxxxxxxx>
Acked-by: Harry Yoo <harry.yoo@xxxxxxxxxx>
Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>

On assumption this UINT_MAX stuff is sane :)) I mean this is straightforward I
guess:
> > Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>

---
  include/linux/balloon_compaction.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/linux/balloon_compaction.h b/include/linux/balloon_compaction.h
index b9f19da37b089..bfc6e50bd004b 100644
--- a/include/linux/balloon_compaction.h
+++ b/include/linux/balloon_compaction.h
@@ -140,7 +140,7 @@ static inline void balloon_page_finalize(struct page *page)
  		__ClearPageMovable(page);
  		set_page_private(page, 0);
  	}
-	__ClearPageOffline(page);
+	/* PageOffline is sticky until the page is freed to the buddy. */

OK so we are relying on this UINT_MAX thing in free_pages_prepare() to handle this.

Yes. Resetting the page_type -> _mapcount to the initial value -1.

--
Cheers,

David / dhildenb





[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux