Lines Matching refs:umem
69 void siw_umem_release(struct siw_umem *umem, bool dirty)
71 struct mm_struct *mm_s = umem->owning_mm;
72 int i, num_pages = umem->num_pages;
77 siw_free_plist(&umem->page_chunk[i], to_free,
78 umem->writable && dirty);
79 kfree(umem->page_chunk[i].plist);
82 atomic64_sub(umem->num_pages, &mm_s->pinned_vm);
85 kfree(umem->page_chunk);
86 kfree(umem);
148 siw_umem_release(mem->umem, true);
367 struct siw_umem *umem;
384 umem = kzalloc(sizeof(*umem), GFP_KERNEL);
385 if (!umem)
389 umem->owning_mm = mm_s;
390 umem->writable = writable;
405 umem->fp_addr = first_page_va;
407 umem->page_chunk =
409 if (!umem->page_chunk) {
422 umem->page_chunk[i].plist = plist;
429 umem->num_pages += rv;
440 return umem;
446 siw_umem_release(umem, false);