mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
mm/filemap: do not count FAULT_FLAG_TRIED retries as mmap hits
A fault that starts synchronous mmap readahead can return VM_FAULT_RETRY after dropping mmap_lock. The retry may then map the folio brought in by that same miss. Do not let this retry decrement mmap_miss. The retry still maps the folio from the page cache; it just does not count as a useful mmap readahead hit. Link: https://lore.kernel.org/tencent_22E6B8849EC1141FE7773C64467E6F1E2C09@qq.com Signed-off-by: fujunjie <fujunjie1@qq.com> Reviewed-by: Jan Kara <jack@suse.cz> Reviewed-by: Vishal Moola <vishal.moola@gmail.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Roman Gushchin <roman.gushchin@linux.dev> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
0b9c0aeba9
commit
9b0fcac3cf
|
|
@ -3937,6 +3937,7 @@ vm_fault_t filemap_map_pages(struct vm_fault *vmf,
|
|||
* we can stop read-ahead.
|
||||
*/
|
||||
if ((map_ret & VM_FAULT_NOPAGE) &&
|
||||
!(vmf->flags & FAULT_FLAG_TRIED) &&
|
||||
!folio_test_workingset(folio)) {
|
||||
unsigned short mmap_miss;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user