• Home
  • Raw
  • Download

Lines Matching refs:vmf

2343 static int lock_page_maybe_drop_mmap(struct vm_fault *vmf, struct page *page,  in lock_page_maybe_drop_mmap()  argument
2354 if (vmf->flags & FAULT_FLAG_RETRY_NOWAIT) in lock_page_maybe_drop_mmap()
2357 *fpin = maybe_unlock_mmap_for_io(vmf, *fpin); in lock_page_maybe_drop_mmap()
2358 if (vmf->flags & FAULT_FLAG_KILLABLE) { in lock_page_maybe_drop_mmap()
2367 up_read(&vmf->vma->vm_mm->mmap_sem); in lock_page_maybe_drop_mmap()
2383 static struct file *do_sync_mmap_readahead(struct vm_fault *vmf) in do_sync_mmap_readahead() argument
2385 struct file *file = vmf->vma->vm_file; in do_sync_mmap_readahead()
2389 pgoff_t offset = vmf->pgoff; in do_sync_mmap_readahead()
2392 if (vmf->vma->vm_flags & VM_RAND_READ) in do_sync_mmap_readahead()
2397 if (vmf->vma->vm_flags & VM_SEQ_READ) { in do_sync_mmap_readahead()
2398 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in do_sync_mmap_readahead()
2418 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in do_sync_mmap_readahead()
2431 static struct file *do_async_mmap_readahead(struct vm_fault *vmf, in do_async_mmap_readahead() argument
2434 struct file *file = vmf->vma->vm_file; in do_async_mmap_readahead()
2438 pgoff_t offset = vmf->pgoff; in do_async_mmap_readahead()
2441 if (vmf->vma->vm_flags & VM_RAND_READ) in do_async_mmap_readahead()
2446 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in do_async_mmap_readahead()
2476 vm_fault_t filemap_fault(struct vm_fault *vmf) in filemap_fault() argument
2479 struct file *file = vmf->vma->vm_file; in filemap_fault()
2484 pgoff_t offset = vmf->pgoff; in filemap_fault()
2497 if (likely(page) && !(vmf->flags & FAULT_FLAG_TRIED)) { in filemap_fault()
2502 fpin = do_async_mmap_readahead(vmf, page); in filemap_fault()
2506 count_memcg_event_mm(vmf->vma->vm_mm, PGMAJFAULT); in filemap_fault()
2508 fpin = do_sync_mmap_readahead(vmf); in filemap_fault()
2512 vmf->gfp_mask); in filemap_fault()
2520 if (!lock_page_maybe_drop_mmap(vmf, page, &fpin)) in filemap_fault()
2559 vmf->page = page; in filemap_fault()
2570 fpin = maybe_unlock_mmap_for_io(vmf, fpin); in filemap_fault()
2602 void filemap_map_pages(struct vm_fault *vmf, in filemap_map_pages() argument
2605 struct file *file = vmf->vma->vm_file; in filemap_map_pages()
2650 vmf->address += (xas.xa_index - last_pgoff) << PAGE_SHIFT; in filemap_map_pages()
2651 if (vmf->pte) in filemap_map_pages()
2652 vmf->pte += xas.xa_index - last_pgoff; in filemap_map_pages()
2654 if (alloc_set_pte(vmf, NULL, page)) in filemap_map_pages()
2664 if (pmd_trans_huge(*vmf->pmd)) in filemap_map_pages()
2671 vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) in filemap_page_mkwrite() argument
2673 struct page *page = vmf->page; in filemap_page_mkwrite()
2674 struct inode *inode = file_inode(vmf->vma->vm_file); in filemap_page_mkwrite()
2678 file_update_time(vmf->vma->vm_file); in filemap_page_mkwrite()
2726 vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) in filemap_page_mkwrite() argument