Home
last modified time | relevance | path

Searched refs:invalidate_lock (Results 1 – 22 of 22) sorted by relevance

/linux/drivers/gpu/drm/i915/gt/
H A Dintel_tlb.c137 mutex_lock(&gt->tlb.invalidate_lock); in intel_gt_invalidate_tlb_full()
156 mutex_unlock(&gt->tlb.invalidate_lock); in intel_gt_invalidate_tlb_full()
162 mutex_init(&gt->tlb.invalidate_lock); in intel_gt_init_tlb()
163 seqcount_mutex_init(&gt->tlb.seqno, &gt->tlb.invalidate_lock); in intel_gt_init_tlb()
168 mutex_destroy(&gt->tlb.invalidate_lock); in intel_gt_fini_tlb()
/linux/arch/powerpc/sysdev/
H A Ddart_iommu.c56 static DEFINE_SPINLOCK(invalidate_lock);
65 spin_lock_irqsave(&invalidate_lock, flags); in dart_tlb_invalidate_all()
99 spin_unlock_irqrestore(&invalidate_lock, flags); in dart_tlb_invalidate_all()
108 spin_lock_irqsave(&invalidate_lock, flags); in dart_tlb_invalidate_one()
131 spin_unlock_irqrestore(&invalidate_lock, flags); in dart_tlb_invalidate_one()
/linux/fs/xfs/
H A Dxfs_inode.c111 * multi-reader locks: invalidate_lock and the i_lock. This routine allows
119 * i_rwsem -> invalidate_lock -> page_lock -> i_ilock
124 * mmap_lock -> invalidate_lock -> page_lock
127 * invalidate_lock over syscall based read(2)/write(2) based IO. These IO paths
134 * take both the i_rwsem and the invalidate_lock. These locks should *only* be
157 down_write_nested(&VFS_I(ip)->i_mapping->invalidate_lock, in xfs_ilock()
160 down_read_nested(&VFS_I(ip)->i_mapping->invalidate_lock, in xfs_ilock()
200 if (!down_write_trylock(&VFS_I(ip)->i_mapping->invalidate_lock)) in xfs_ilock_nowait()
203 if (!down_read_trylock(&VFS_I(ip)->i_mapping->invalidate_lock)) in xfs_ilock_nowait()
218 up_write(&VFS_I(ip)->i_mapping->invalidate_lock); in xfs_ilock_nowait()
[all...]
H A Dxfs_iomap.c1987 /* For zeroing operations the callers already hold invalidate_lock. */ in xfs_buffered_write_iomap_end()
1989 rwsem_assert_held_write(&inode->i_mapping->invalidate_lock); in xfs_buffered_write_iomap_end()
/linux/Documentation/filesystems/
H A Dlocking.rst280 ops folio locked i_rwsem invalidate_lock
333 invalidate_lock before invalidating page cache in truncate / hole punch
548 cache contents from the disk. Since VFS acquires mapping->invalidate_lock in
550 readahead paths), the fallocate implementation must take the invalidate_lock to
557 operation, the filesystem must take mapping->invalidate_lock to coordinate
623 truncated and/or invalidated, then the filesystem must lock invalidate_lock,
624 then ensure the page is not already truncated (invalidate_lock will block
648 mapping->invalidate_lock is suitable for proper serialization. If the page has
H A Dvfs.rst763 inode's i_mapping->invalidate_lock exclusively.
/linux/drivers/gpu/drm/amd/amdgpu/
H A Dgmc_v12_0.c213 spin_lock(&adev->gmc.invalidate_lock); in gmc_v12_0_flush_vm_hub()
272 spin_unlock(&adev->gmc.invalidate_lock); in gmc_v12_0_flush_vm_hub()
734 spin_lock_init(&adev->gmc.invalidate_lock); in gmc_v12_0_sw_init()
H A Dgmc_v11_0.c244 spin_lock(&adev->gmc.invalidate_lock); in gmc_v11_0_flush_gpu_tlb()
295 spin_unlock(&adev->gmc.invalidate_lock); in gmc_v11_0_flush_gpu_tlb()
739 spin_lock_init(&adev->gmc.invalidate_lock); in gmc_v11_0_sw_init()
H A Dgmc_v10_0.c283 spin_lock(&adev->gmc.invalidate_lock); in gmc_v10_0_flush_gpu_tlb()
329 spin_unlock(&adev->gmc.invalidate_lock); in gmc_v10_0_flush_gpu_tlb()
777 spin_lock_init(&adev->gmc.invalidate_lock); in gmc_v10_0_sw_init()
H A Damdgpu_gmc.h285 spinlock_t invalidate_lock; member
H A Dgmc_v9_0.c868 spin_lock(&adev->gmc.invalidate_lock); in gmc_v9_0_flush_gpu_tlb()
930 spin_unlock(&adev->gmc.invalidate_lock); in gmc_v9_0_flush_gpu_tlb()
1857 spin_lock_init(&adev->gmc.invalidate_lock); in gmc_v9_0_sw_init()
/linux/Documentation/filesystems/iomap/
H A Doperations.rst104 ``i_rwsem`` or ``invalidate_lock`` and updates mapping information.
202 Callers commonly take the mmap ``invalidate_lock`` in shared or
218 It takes the ``invalidate_lock``.
235 Callers typically hold ``i_rwsem`` and ``invalidate_lock`` in exclusive
246 Callers typically hold ``i_rwsem`` and ``invalidate_lock`` in exclusive
259 Callers typically hold ``i_rwsem`` and ``invalidate_lock`` in exclusive
273 It does not lock ``i_rwsem`` or ``invalidate_lock``.
H A Ddesign.rst117 * ``invalidate_lock``: The pagecache ``struct address_space``
/linux/include/linux/
H A Dfs.h487 * @invalidate_lock: Guards coherency between page cache contents and
508 struct rw_semaphore invalidate_lock; member
924 down_write(&mapping->invalidate_lock); in filemap_invalidate_lock()
929 up_write(&mapping->invalidate_lock); in filemap_invalidate_unlock()
934 down_read(&mapping->invalidate_lock); in filemap_invalidate_lock_shared()
940 return down_read_trylock(&mapping->invalidate_lock); in filemap_invalidate_trylock_shared()
946 up_read(&mapping->invalidate_lock); in filemap_invalidate_unlock_shared()
/linux/mm/
H A Dfilemap.c88 * ->invalidate_lock (acquired by fs in truncate path)
97 * ->invalidate_lock (filemap_fault)
1013 * filemap_invalidate_lock_two - lock invalidate_lock for two mappings
1015 * Lock exclusively invalidate_lock of any passed mapping that is not NULL.
1026 down_write(&mapping1->invalidate_lock); in filemap_invalidate_lock_two()
1028 down_write_nested(&mapping2->invalidate_lock, 1); in filemap_invalidate_lock_two()
1033 * filemap_invalidate_unlock_two - unlock invalidate_lock for two mappings
1035 * Unlock exclusive invalidate_lock of any passed mapping that is not NULL.
1044 up_write(&mapping1->invalidate_lock); in filemap_invalidate_unlock_two()
1046 up_write(&mapping2->invalidate_lock); in filemap_invalidate_unlock_two()
[all...]
/linux/Documentation/mm/
H A Dprocess_addrs.rst420 mapping->invalidate_lock (in filemap_fault)
450 ->invalidate_lock (acquired by fs in truncate path)
459 ->invalidate_lock (filemap_fault)
/linux/fs/ext2/
H A Dinode.c1171 /* mapping->invalidate_lock must be held when calling this function */
1188 WARN_ON(!rwsem_is_locked(&inode->i_mapping->invalidate_lock)); in __ext2_truncate_blocks()
/linux/drivers/md/
H A Ddm-cache-target.c1528 static int invalidate_lock(struct dm_cache_migration *mg) in invalidate_lock() function
1578 return invalidate_lock(mg); in invalidate_start()
/linux/fs/iomap/
H A Dbuffered-io.c1200 * inode->i_mapping->invalidate_lock (exclusive)
1241 * The caller must hold invalidate_lock to avoid races with page faults in iomap_write_delalloc_release()
1246 lockdep_assert_held_write(&inode->i_mapping->invalidate_lock); in iomap_write_delalloc_release()
/linux/fs/ext4/
H A Dinode.c416 * hold the i_rwsem and invalidate_lock exclusively. This ensures
434 !rwsem_is_locked(&inode->i_mapping->invalidate_lock)); in ext4_check_map_extents_env()
717 * for regular files that do not hold the i_rwsem or invalidate_lock. in ext4_map_blocks()
2363 * invalidate_lock, which could corrupt the extent status tree. in mpage_map_one_extent()
4388 if (WARN_ON_ONCE(!rwsem_is_locked(&inode->i_mapping->invalidate_lock))) in ext4_break_layouts()
/linux/fs/btrfs/
H A Dfree-space-cache.c1009 * Reinitialize the class of struct inode's mapping->invalidate_lock for in load_free_space_cache()
1013 lockdep_set_class(&(&inode->i_data)->invalidate_lock, in load_free_space_cache()
/linux/Documentation/filesystems/xfs/
H A Dxfs-online-fsck-design.rst3330 4. Inode ``MMAPLOCK`` (page cache ``invalidate_lock``) lock for operations that