Re: [RFC PATCH] mm: populate multiple PTEs if file page is large folio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17.01.23 10:19, Yin, Fengwei wrote:


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.

One question I have after reading "which does something fairly similar to this already", if both paths could be unified.

--
Thanks,

David / dhildenb





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux