On 6/30/24 9:17 PM, Suren Baghdasaryan wrote: > On Mon, Jun 17, 2024 at 1:33 AM Vlastimil Babka <vbabka@xxxxxxx> wrote: >> >> On 6/15/24 1:05 AM, Suren Baghdasaryan wrote: >> > During compaction isolated free pages are marked allocated so that they >> > can be split and/or freed. For that, post_alloc_hook() is used inside >> > split_map_pages() and release_free_list(). split_map_pages() marks free >> > pages allocated, splits the pages and then lets alloc_contig_range_noprof() >> > free those pages. release_free_list() marks free pages and immediately >> >> Well in case of split_map_pages() only some of them end up freed, but most >> should be used as migration targets. But we move the tags from the source >> page during migration and unaccount the ones from the target (i.e. from the >> instrumented post_alloc_hook() after this patch), right? So it should be ok, >> just the description here is incomplete. > > Sorry for the delay with replying, Vlastimil. > Yes, you are correct. Some of these pages are not immediately freed > but migrated and during migration the destination gets charged for > them. As a result these new counters should still read 0 most of the > time except for some intermediate states. > I can amend the description if this is considered important. The fix was merged to mainline already.