On 7 Jun 2024, at 16:30, Pankaj Raghav (Samsung) wrote: > On Fri, Jun 07, 2024 at 12:58:33PM -0400, Zi Yan wrote: >> Hi Pankaj, >> >> Can you use ziy@xxxxxxxxxx instead of zi.yan@xxxxxxxx? Since I just use the latter >> to send patches. Thanks. > > Got it! > >> >> On 7 Jun 2024, at 10:58, Pankaj Raghav (Samsung) wrote: >> >>> From: Luis Chamberlain <mcgrof@xxxxxxxxxx> >>> >>> split_folio() and split_folio_to_list() assume order 0, to support >>> minorder for non-anonymous folios, we must expand these to check the >>> folio mapping order and use that. >>> >>> Set new_order to be at least minimum folio order if it is set in >>> split_huge_page_to_list() so that we can maintain minimum folio order >>> requirement in the page cache. >>> >>> Update the debugfs write files used for testing to ensure the order >>> is respected as well. We simply enforce the min order when a file >>> mapping is used. >>> >>> Signed-off-by: Luis Chamberlain <mcgrof@xxxxxxxxxx> >>> Signed-off-by: Pankaj Raghav <p.raghav@xxxxxxxxxxx> >>> --- >>> include/linux/huge_mm.h | 14 ++++++++--- >>> mm/huge_memory.c | 55 ++++++++++++++++++++++++++++++++++++++--- >>> 2 files changed, 61 insertions(+), 8 deletions(-) >>> >> >> <snip> >> >>> >>> +int split_folio_to_list(struct folio *folio, struct list_head *list) >>> +{ >>> + unsigned int min_order = 0; >>> + >>> + if (!folio_test_anon(folio)) { >>> + if (!folio->mapping) { >>> + count_vm_event(THP_SPLIT_PAGE_FAILED); >> >> You should only increase this counter when the input folio is a THP, namely >> folio_test_pmd_mappable(folio) is true. For other large folios, we will >> need a separate counter. Something like MTHP_STAT_FILE_SPLIT_FAILED. >> See enum mthp_stat_item in include/linux/huge_mm.h. >> > Hmm, but we don't have mTHP support for non-anonymous memory right? In > that case it won't be applicable for file backed memory? Large folio support in page cache precedes mTHP (large anonymous folio), thanks to willy's work. mTHP is more like a subset of large folio. There is no specific counters for page cache large folio. If you think it is worth tracking folios with orders between 0 and 9 (exclusive), you can add counters. Matthew, what is your take on this? -- Best Regards, Yan, Zi
Attachment:
signature.asc
Description: OpenPGP digital signature