Re: API for setting multiple PTEs at once

2023-02-08 Thread Yin, Fengwei
e page faults on large folios.  I simply made it work >>> when adding large folio support.  Now Yin Fengwei is working on >>> making it fast. >> OK, here's an actual implementation: >> >> https://lore.kernel.org/linux-mm/20230207194937.122543-3-wi...@infradead.or

Re: [PATCH v1 9/9] mm/memory: optimize unmap/zap with PTE-mapped THP

2024-01-30 Thread Yin Fengwei
gt; + if (pte_young(tmp_pte)) > + pte = pte_mkyoung(pte); I am wondering whether it's worthy to move the pte_mkdirty() and pte_mkyoung() out of the loop and just do it one time if needed. The worst case is that they are called nr - 1 time. Or it's just too micro? Regards Yin, Fengwei > + } > + return pte; > +}

Re: [PATCH v1 0/9] mm/memory: optimize unmap/zap with PTE-mapped THP

2024-01-30 Thread Yin Fengwei
es that all belong to the same large folio. I'm being > very careful to not degrade order-0 performance, and it looks like I > managed to achieve that. One possible scenario: If all the folio is 2M size folio, then one full batch could hold 510M memory. Is it too much regarding one full batch before just can hold (2M - 4096 * 2) memory? Regards Yin, Fengwei

Re: [PATCH v1 9/9] mm/memory: optimize unmap/zap with PTE-mapped THP

2024-01-31 Thread Yin, Fengwei
On 1/31/2024 6:30 PM, David Hildenbrand wrote: On 31.01.24 03:30, Yin Fengwei wrote: On 1/29/24 22:32, David Hildenbrand wrote: +static inline pte_t get_and_clear_full_ptes(struct mm_struct *mm, +    unsigned long addr, pte_t *ptep, unsigned int nr, int full) +{ +    pte_t pte