On 1/14/2023 2:13 AM, Matthew Wilcox wrote: > On Sat, Jan 14, 2023 at 12:35:38AM +0800, Yin Fengwei wrote: >> The page fault number can be reduced by batched PTEs population. >> The batch size of PTEs population is not allowed to cross: >> - page table boundaries >> - vma range >> - large folio size >> - fault_around_bytes > > I find this patch very interesting. But is it really worth it? Most > file-backed page faults are resolved through the ->map_pages() path > which is almost always filemap_map_pages(), which does something > fairly similar to this already. Do you have any performance numbers? > I tried the will-it-scale page_fault3: https://github.com/antonblanchard/will-it-scale/blob/master/tests/page_fault3.c with 96 processes on a test box with 48C/86T. The test result got about 3.75X better with 4.1X less page fault number with this patch. But It's a micro benchmark which shows extreme friendly case to this patch. I didn't see observed performance gain with other workloads. I suppose shared file write operations may not be common operations? Thanks. Regards Yin, Fengwei