Lines Matching refs:resv_map

229 static long region_add(struct resv_map *resv, long f, long t)  in region_add()
268 static long region_chg(struct resv_map *resv, long f, long t) in region_chg()
334 static long region_truncate(struct resv_map *resv, long end) in region_truncate()
369 static long region_count(struct resv_map *resv, long f, long t) in region_count()
482 struct resv_map *resv_map_alloc(void) in resv_map_alloc()
484 struct resv_map *resv_map = kmalloc(sizeof(*resv_map), GFP_KERNEL); in resv_map_alloc() local
485 if (!resv_map) in resv_map_alloc()
488 kref_init(&resv_map->refs); in resv_map_alloc()
489 spin_lock_init(&resv_map->lock); in resv_map_alloc()
490 INIT_LIST_HEAD(&resv_map->regions); in resv_map_alloc()
492 return resv_map; in resv_map_alloc()
497 struct resv_map *resv_map = container_of(ref, struct resv_map, refs); in resv_map_release() local
500 region_truncate(resv_map, 0); in resv_map_release()
501 kfree(resv_map); in resv_map_release()
504 static inline struct resv_map *inode_resv_map(struct inode *inode) in inode_resv_map()
509 static struct resv_map *vma_resv_map(struct vm_area_struct *vma) in vma_resv_map()
519 return (struct resv_map *)(get_vma_private_data(vma) & in vma_resv_map()
524 static void set_vma_resv_map(struct vm_area_struct *vma, struct resv_map *map) in set_vma_resv_map()
1437 struct resv_map *resv; in vma_needs_reservation()
1456 struct resv_map *resv; in vma_commit_reservation()
2543 struct resv_map *resv = vma_resv_map(vma); in hugetlb_vm_op_open()
2560 struct resv_map *resv = vma_resv_map(vma); in hugetlb_vm_op_close()
3570 struct resv_map *resv_map; in hugetlb_reserve_pages() local
3588 resv_map = inode_resv_map(inode); in hugetlb_reserve_pages()
3590 chg = region_chg(resv_map, from, to); in hugetlb_reserve_pages()
3593 resv_map = resv_map_alloc(); in hugetlb_reserve_pages()
3594 if (!resv_map) in hugetlb_reserve_pages()
3599 set_vma_resv_map(vma, resv_map); in hugetlb_reserve_pages()
3642 region_add(resv_map, from, to); in hugetlb_reserve_pages()
3646 kref_put(&resv_map->refs, resv_map_release); in hugetlb_reserve_pages()
3653 struct resv_map *resv_map = inode_resv_map(inode); in hugetlb_unreserve_pages() local
3658 if (resv_map) in hugetlb_unreserve_pages()
3659 chg = region_truncate(resv_map, offset); in hugetlb_unreserve_pages()