Lines Matching refs:nr_pages

17 static void *io_mem_alloc_compound(struct page **pages, int nr_pages,  in io_mem_alloc_compound()  argument
33 for (i = 0; i < nr_pages; i++) in io_mem_alloc_compound()
41 unsigned long start, end, nr_pages; in io_pin_pages() local
52 nr_pages = end - start; in io_pin_pages()
53 if (WARN_ON_ONCE(!nr_pages)) in io_pin_pages()
55 if (WARN_ON_ONCE(nr_pages > INT_MAX)) in io_pin_pages()
58 pages = kvmalloc_array(nr_pages, sizeof(struct page *), GFP_KERNEL); in io_pin_pages()
62 ret = pin_user_pages_fast(uaddr, nr_pages, FOLL_WRITE | FOLL_LONGTERM, in io_pin_pages()
65 if (ret == nr_pages) { in io_pin_pages()
66 *npages = nr_pages; in io_pin_pages()
93 long nr_refs = mr->nr_pages; in io_free_region()
107 if (mr->nr_pages && ctx->user) in io_free_region()
108 __io_unaccount_mem(ctx->user, mr->nr_pages); in io_free_region()
118 if (io_check_coalesce_buffer(mr->pages, mr->nr_pages, &ifd)) { in io_region_init_ptr()
124 ptr = vmap(mr->pages, mr->nr_pages, VM_MAP, PAGE_KERNEL); in io_region_init_ptr()
137 unsigned long size = mr->nr_pages << PAGE_SHIFT; in io_region_pin_pages()
139 int nr_pages; in io_region_pin_pages() local
141 pages = io_pin_pages(reg->user_addr, size, &nr_pages); in io_region_pin_pages()
144 if (WARN_ON_ONCE(nr_pages != mr->nr_pages)) in io_region_pin_pages()
158 unsigned long size = mr->nr_pages << PAGE_SHIFT; in io_region_allocate_pages()
163 pages = kvmalloc_array(mr->nr_pages, sizeof(*pages), gfp); in io_region_allocate_pages()
167 p = io_mem_alloc_compound(pages, mr->nr_pages, size, gfp); in io_region_allocate_pages()
174 mr->nr_pages, pages); in io_region_allocate_pages()
175 if (nr_allocated != mr->nr_pages) { in io_region_allocate_pages()
191 int nr_pages, ret; in io_create_region() local
194 if (WARN_ON_ONCE(mr->pages || mr->ptr || mr->nr_pages)) in io_create_region()
212 nr_pages = reg->size >> PAGE_SHIFT; in io_create_region()
214 ret = __io_account_mem(ctx->user, nr_pages); in io_create_region()
218 mr->nr_pages = nr_pages; in io_create_region()
312 unsigned long nr_pages = min(mr->nr_pages, max_pages); in io_region_mmap() local
315 return vm_insert_pages(vma, vma->vm_start, mr->pages, &nr_pages); in io_region_mmap()