Lines Matching refs:vma_lock

266 		struct hugetlb_vma_lock *vma_lock = vma->vm_private_data;  in hugetlb_vma_lock_read()  local
268 down_read(&vma_lock->rw_sema); in hugetlb_vma_lock_read()
275 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vma_unlock_read() local
277 up_read(&vma_lock->rw_sema); in hugetlb_vma_unlock_read()
284 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vma_lock_write() local
286 down_write(&vma_lock->rw_sema); in hugetlb_vma_lock_write()
293 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vma_unlock_write() local
295 up_write(&vma_lock->rw_sema); in hugetlb_vma_unlock_write()
301 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vma_trylock_write() local
306 return down_write_trylock(&vma_lock->rw_sema); in hugetlb_vma_trylock_write()
312 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vma_assert_locked() local
314 lockdep_assert_held(&vma_lock->rw_sema); in hugetlb_vma_assert_locked()
320 struct hugetlb_vma_lock *vma_lock = container_of(kref, in hugetlb_vma_lock_release() local
323 kfree(vma_lock); in hugetlb_vma_lock_release()
326 static void __hugetlb_vma_unlock_write_put(struct hugetlb_vma_lock *vma_lock) in __hugetlb_vma_unlock_write_put() argument
328 struct vm_area_struct *vma = vma_lock->vma; in __hugetlb_vma_unlock_write_put()
335 vma_lock->vma = NULL; in __hugetlb_vma_unlock_write_put()
337 up_write(&vma_lock->rw_sema); in __hugetlb_vma_unlock_write_put()
338 kref_put(&vma_lock->refs, hugetlb_vma_lock_release); in __hugetlb_vma_unlock_write_put()
344 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in __hugetlb_vma_unlock_write_free() local
346 __hugetlb_vma_unlock_write_put(vma_lock); in __hugetlb_vma_unlock_write_free()
359 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vma_lock_free() local
361 down_write(&vma_lock->rw_sema); in hugetlb_vma_lock_free()
362 __hugetlb_vma_unlock_write_put(vma_lock); in hugetlb_vma_lock_free()
368 struct hugetlb_vma_lock *vma_lock; in hugetlb_vma_lock_alloc() local
378 vma_lock = kmalloc(sizeof(*vma_lock), GFP_KERNEL); in hugetlb_vma_lock_alloc()
379 if (!vma_lock) { in hugetlb_vma_lock_alloc()
394 kref_init(&vma_lock->refs); in hugetlb_vma_lock_alloc()
395 init_rwsem(&vma_lock->rw_sema); in hugetlb_vma_lock_alloc()
396 vma_lock->vma = vma; in hugetlb_vma_lock_alloc()
397 vma->vm_private_data = vma_lock; in hugetlb_vma_lock_alloc()
1170 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_dup_vma_private() local
1172 if (vma_lock && vma_lock->vma != vma) in hugetlb_dup_vma_private()
4793 struct hugetlb_vma_lock *vma_lock = vma->vm_private_data; in hugetlb_vm_op_open() local
4795 if (vma_lock) { in hugetlb_vm_op_open()
4796 if (vma_lock->vma != vma) { in hugetlb_vm_op_open()