On 2025/06/30 15:24, HAGIO KAZUHITO(萩尾 一仁) wrote: > On 2025/06/30 15:30, Zhiquan Li wrote: >> >> On 2025/6/30 12:05, HAGIO KAZUHITO(萩尾 一仁) wrote: >>> Hi, >>> >>> thank you for the patch, and sorry for the long delay.. >>> >> >> Thanks for your time to review this patch. There is a lot of background >> knowledge behind this feature, it really needs a long time to digest them. >> >>>> @@ -6630,6 +6633,17 @@ check_order: >>>> nr_pages = 1 << private; >>>> pfn_counter = &pfn_free; >>>> } >>>> + /* >>>> + * Exclude the unaccepted free pages not managed by buddy. >>>> + * By convention, pages can be added to the >>>> zone.unaccepted_pages list >>>> + * only when the order is MAX_ORDER_NR_PAGES. Otherwise, the >>>> page is >>>> + * accepted immediately without being on the list. >>>> + */ >>>> + else if ((info->dump_level & DL_EXCLUDE_FREE) >>>> + && isUnaccepted(_mapcount)) { >>> >>>> + nr_pages = 1 << (ARRAY_LENGTH(zone.free_area) - 1); >>> >>> just to clarify, does this mean that the order of unaccepted pages is >>> MAX_PAGE_ORDER but it's not set in struct page, so we need to set the >>> order here? >>> >> >> Yes, the unit of operations on the buddy system for unaccepted pages is >> MAX_PAGE_ORDER, and the type PGTY_unaccepted is only applied on the >> first of struct page, not each struct page of MAX_PAGE_ORDER unaccepted >> pages need the type. Therefore, if we see one struct page with the >> PGTY_unaccepted type, that means the next MAX_PAGE_ORDER-1 unaccepted >> pages are added to zone.unaccepted_pages list. > > Thank you Zhiquan for the detailed explanation, which made me understand > more clearly. And the patch looks good to me, so ack. > > (There is no need to add my acked-by tag to the patch, we will merge > this when Masa sends his ack.)
The patch got 2 acks, applied. https://github.com/makedumpfile/makedumpfile/commit/c1a930185482a72b290099a4f814c5f32b6e4cc8 Thanks! Kazu