On 2023/11/11 2:15, Matthew Wilcox wrote:
On Fri, Nov 10, 2023 at 11:33:19AM +0800, Kefeng Wang wrote:
Replace nine compound_head() calls with one page_folio().
But that's not all it does. Honestly, when you write these kind of
things, I wonder if you understand what you're doing.
Oh, yes, I total wrong for some change, the kpagelfags should report
per-page.
After this patch, if we report on a tail page, we set (some of) the
flags according to how its head page is set. Before, we would have not
reported on it at all.
I should force on the following specific flags in this patch
1) PageKsm
- KSM only normal anon page, also it is wrapper of folio_test_ksm()
2) struct page *head = compound_head(page); PageLRU(head) PageAnon(head)
- they expect to check the head page flags
3) page_count(page) == 0 && is_free_buddy_page(page)
- this is to identify free buddy page, also page_count is a wrapper
of folio_ref_count
4) page_is_idle
- a wrapper of folio_test_idle
Matthew and Gregory, correct me if I am still misunderstanding, man thanks.
This was THE ENTIRE POINT of Greg's patch. And why his patch made sense
and yours is nonsense. Andrew, please drop this patch series.