Lines Matching refs:vmf

2572 static int lock_page_maybe_drop_mmap(struct vm_fault *vmf, struct page *page,  in lock_page_maybe_drop_mmap()  argument
2583 if (vmf->flags & FAULT_FLAG_RETRY_NOWAIT) in lock_page_maybe_drop_mmap()
2586 *fpin = maybe_unlock_mmap_for_io(vmf, *fpin); in lock_page_maybe_drop_mmap()
2587 if (vmf->flags & FAULT_FLAG_KILLABLE) { in lock_page_maybe_drop_mmap()
2596 mmap_read_unlock(vmf->vma->vm_mm); in lock_page_maybe_drop_mmap()
2612 static struct file *do_sync_mmap_readahead(struct vm_fault *vmf) in do_sync_mmap_readahead() argument
2614 struct file *file = vmf->vma->vm_file; in do_sync_mmap_readahead()
2617 DEFINE_READAHEAD(ractl, file, mapping, vmf->pgoff); in do_sync_mmap_readahead()
2622 if (vmf->vma->vm_flags & VM_RAND_READ) in do_sync_mmap_readahead()
2627 if (vmf->vma->vm_flags & VM_SEQ_READ) { in do_sync_mmap_readahead()
2628 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in do_sync_mmap_readahead()
2648 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in do_sync_mmap_readahead()
2649 ra->start = max_t(long, 0, vmf->pgoff - ra->ra_pages / 2); in do_sync_mmap_readahead()
2662 static struct file *do_async_mmap_readahead(struct vm_fault *vmf, in do_async_mmap_readahead() argument
2665 struct file *file = vmf->vma->vm_file; in do_async_mmap_readahead()
2670 pgoff_t offset = vmf->pgoff; in do_async_mmap_readahead()
2673 if (vmf->vma->vm_flags & VM_RAND_READ || !ra->ra_pages) in do_async_mmap_readahead()
2679 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in do_async_mmap_readahead()
2709 vm_fault_t filemap_fault(struct vm_fault *vmf) in filemap_fault() argument
2712 struct file *file = vmf->vma->vm_file; in filemap_fault()
2717 pgoff_t offset = vmf->pgoff; in filemap_fault()
2730 if (likely(page) && !(vmf->flags & FAULT_FLAG_TRIED)) { in filemap_fault()
2735 fpin = do_async_mmap_readahead(vmf, page); in filemap_fault()
2739 count_memcg_event_mm(vmf->vma->vm_mm, PGMAJFAULT); in filemap_fault()
2741 fpin = do_sync_mmap_readahead(vmf); in filemap_fault()
2745 vmf->gfp_mask); in filemap_fault()
2753 if (!lock_page_maybe_drop_mmap(vmf, page, &fpin)) in filemap_fault()
2792 vmf->page = page; in filemap_fault()
2803 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in filemap_fault()
2834 void filemap_map_pages(struct vm_fault *vmf, in filemap_map_pages() argument
2837 struct file *file = vmf->vma->vm_file; in filemap_map_pages()
2883 vmf->address += (xas.xa_index - last_pgoff) << PAGE_SHIFT; in filemap_map_pages()
2884 if (vmf->pte) in filemap_map_pages()
2885 vmf->pte += xas.xa_index - last_pgoff; in filemap_map_pages()
2887 if (alloc_set_pte(vmf, page)) in filemap_map_pages()
2897 if (pmd_trans_huge(*vmf->pmd)) in filemap_map_pages()
2905 vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) in filemap_page_mkwrite() argument
2907 struct page *page = vmf->page; in filemap_page_mkwrite()
2908 struct inode *inode = file_inode(vmf->vma->vm_file); in filemap_page_mkwrite()
2912 file_update_time(vmf->vma->vm_file); in filemap_page_mkwrite()
2960 vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) in filemap_page_mkwrite() argument