| /linux/include/linux/ |
| H A D | mmap_lock.h | 18 .mmap_lock = __RWSEM_INITIALIZER((name).mmap_lock), 71 rwsem_assert_held(&mm->mmap_lock); in mmap_assert_locked() 76 rwsem_assert_held_write(&mm->mmap_lock); in mmap_assert_write_locked() 409 if (lockdep_is_held(&vma->vm_mm->mmap_lock)) in vma_assert_stabilised() 412 if (rwsem_is_locked(&vma->vm_mm->mmap_lock)) in vma_assert_stabilised() 544 down_write(&mm->mmap_lock); in mmap_write_lock() 552 down_write_nested(&mm->mmap_lock, subclass); in mmap_write_lock_nested() 562 ret = down_write_killable(&mm->mmap_lock); in mmap_write_lock_killable() 587 up_write(&mm->mmap_lock); in mmap_write_unlock() 594 downgrade_write(&mm->mmap_lock); in mmap_write_downgrade() [all …]
|
| H A D | mm_types.h | 740 * mmap_lock should be read-locked when calling anon_vma_name(). Caller should 956 * - mmap_lock (in write mode) 959 * - mmap_lock (in read or write mode) 981 struct list_head anon_vma_chain; /* Serialized by mmap_lock & 1070 * unnamed. Serialized by mmap_lock. Use anon_vma_name to access. 1239 * Typically the current mmap_lock's offset is 56 bytes from 1242 * cachelines, and when mmap_lock is highly contended, both 1247 * mmap_lock, which can easily push the 2 fields into one 1250 struct rw_semaphore mmap_lock; member 1265 * Incremented every time mmap_lock i [all...] |
| /linux/io_uring/ |
| H A D | memmap.c | 284 lockdep_assert_held(&ctx->mmap_lock); in io_region_validate_mmap() 327 guard(mutex)(&ctx->mmap_lock); in io_uring_mmap() 359 guard(mutex)(&ctx->mmap_lock); in io_uring_get_unmapped_area() 420 guard(mutex)(&ctx->mmap_lock); in io_uring_mmap() 453 guard(mutex)(&ctx->mmap_lock); in io_uring_get_unmapped_area()
|
| H A D | kbuf.c | 96 guard(mutex)(&ctx->mmap_lock); in io_buffer_add_list() 476 scoped_guard(mutex, &ctx->mmap_lock) { in io_destroy_buffers() 489 scoped_guard(mutex, &ctx->mmap_lock) in io_destroy_bl() 735 scoped_guard(mutex, &ctx->mmap_lock) in io_unregister_pbuf_ring() 770 lockdep_assert_held(&ctx->mmap_lock); in io_pbuf_get_region()
|
| H A D | zcrx.c | 775 lockdep_assert_held(&ctx->mmap_lock); in io_zcrx_get_region() 865 scoped_guard(mutex, &ctx->mmap_lock) { in import_zcrx() 878 scoped_guard(mutex, &ctx->mmap_lock) { in import_zcrx() 886 scoped_guard(mutex, &ctx->mmap_lock) in import_zcrx() 1043 scoped_guard(mutex, &ctx->mmap_lock) { in io_register_zcrx() 1076 scoped_guard(mutex, &ctx->mmap_lock) { in io_register_zcrx() 1096 scoped_guard(mutex, &ctx->mmap_lock) in io_register_zcrx() 1121 scoped_guard(mutex, &ctx->mmap_lock) in io_terminate_zcrx() 1140 scoped_guard(mutex, &ctx->mmap_lock) { in io_unregister_zcrx()
|
| H A D | register.c | 580 * We'll do the swap. Grab the ctx->mmap_lock, which will exclude in io_register_resize_rings() 585 * ctx->mmap_lock as well. Likewise, hold the completion lock over the in io_register_resize_rings() 588 mutex_lock(&ctx->mmap_lock); in io_register_resize_rings() 692 mutex_unlock(&ctx->mmap_lock); in io_register_resize_rings()
|
| /linux/kernel/bpf/ |
| H A D | mmap_unlock_work.h | 67 rwsem_release(&mm->mmap_lock.dep_map, _RET_IP_); in bpf_mmap_unlock_mm()
|
| /linux/tools/perf/util/bpf_skel/vmlinux/ |
| H A D | vmlinux.h | 97 struct rw_semaphore mmap_lock; member
|
| /linux/tools/perf/util/bpf_skel/ |
| H A D | lock_contention.bpf.c | 175 struct rw_semaphore mmap_lock; member 304 /* slab and mmap_lock are part of the addr_filter */ in update_task_data() 405 if (bpf_core_field_exists(mm_new->mmap_lock)) { in delay_callback() 406 if (&mm_new->mmap_lock == (void *)lock) in delay_callback()
|
| /linux/mm/ |
| H A D | Makefile | 58 debug.o gup.o mmap_lock.o vma_init.o $(mmu-y)
|
| H A D | vma.c | 312 * The entire update must be protected by exclusive mmap_lock and by 886 * - The caller must hold a WRITE lock on the mm_struct->mmap_lock. 1133 * - The caller must hold a WRITE lock on the mm_struct->mmap_lock. 1244 * - The caller must hold a WRITE lock on the mm_struct->mmap_lock. 1373 * We can free page tables without write-locking mmap_lock because VMAs in vms_clear_ptes() 1374 * were isolated before we downgraded mmap_lock. in vms_clear_ptes() 1657 * @unlock: Set to true to drop the mmap_lock. unlocking only happens on 1701 * @unlock: set to true if the user wants to drop the mmap_lock on success 2105 * NOTE! This runs with mmap_lock held for reading, so it is possible that 2126 * a read lock on the mmap_lock in reusable_anon_vma() [all...] |
| H A D | memory.c | 7002 lockdep_is_held(&vma->vm_mm->mmap_lock)); in pfnmap_lockdep_assert() 7004 lockdep_assert(lockdep_is_held(&vma->vm_mm->mmap_lock)); in pfnmap_lockdep_assert() 7482 might_lock_read(¤t->mm->mmap_lock); in __might_fault()
|
| H A D | gup.c | 3193 might_lock_read(¤t->mm->mmap_lock); in gup_fast_fallback()
|
| H A D | Kconfig | 1443 handling page faults instead of taking mmap_lock.
|
| /linux/Documentation/admin-guide/mm/ |
| H A D | multigen_lru.rst | 41 theoretically worsen lock contention (mmap_lock). If it is
|
| /linux/Documentation/filesystems/ |
| H A D | locking.rst | 588 ops mmap_lock PageLocked(page) 613 The mmap_lock may not be held when this method is called.
|
| /linux/Documentation/gpu/ |
| H A D | drm-vm-bind-locking.rst | 82 correspond to the mmap_lock. An rwsem allows several readers to walk 419 mmap_lock that is grabbed when resolving a CPU pagefault. This means
|
| /linux/kernel/ |
| H A D | fork.c | 1084 init_rwsem(&mm->mmap_lock); in mmap_init_lock() 1094 mt_set_external_lock(&mm->mm_mt, &mm->mmap_lock); in mm_init()
|
| /linux/ |
| H A D | MAINTAINERS | 17525 F: include/linux/mmap_lock.h 17526 F: include/trace/events/mmap_lock.h 17527 F: mm/mmap_lock.c
|