| /linux-6.15/arch/nios2/include/asm/ |
| H A D | cacheflush.h | 54 #define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages) 55 #define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages) 57 xa_lock_irqsave(&mapping->i_pages, flags) 59 xa_unlock_irqrestore(&mapping->i_pages, flags)
|
| /linux-6.15/fs/nilfs2/ |
| H A D | btnode.c | 234 xa_lock_irq(&btnc->i_pages); in nilfs_btnode_prepare_change_key() 235 err = __xa_insert(&btnc->i_pages, newkey, ofolio, GFP_NOFS); in nilfs_btnode_prepare_change_key() 236 xa_unlock_irq(&btnc->i_pages); in nilfs_btnode_prepare_change_key() 304 xa_lock_irq(&btnc->i_pages); in nilfs_btnode_commit_change_key() 305 __xa_erase(&btnc->i_pages, oldkey); in nilfs_btnode_commit_change_key() 306 __xa_set_mark(&btnc->i_pages, newkey, PAGECACHE_TAG_DIRTY); in nilfs_btnode_commit_change_key() 307 xa_unlock_irq(&btnc->i_pages); in nilfs_btnode_commit_change_key() 346 xa_erase_irq(&btnc->i_pages, newkey); in nilfs_btnode_abort_change_key()
|
| H A D | page.c | 328 xa_lock_irq(&smap->i_pages); in nilfs_copy_back_pages() 329 f = __xa_erase(&smap->i_pages, index); in nilfs_copy_back_pages() 332 xa_unlock_irq(&smap->i_pages); in nilfs_copy_back_pages() 334 xa_lock_irq(&dmap->i_pages); in nilfs_copy_back_pages() 335 f = __xa_store(&dmap->i_pages, index, folio, GFP_NOFS); in nilfs_copy_back_pages() 344 __xa_set_mark(&dmap->i_pages, index, in nilfs_copy_back_pages() 347 xa_unlock_irq(&dmap->i_pages); in nilfs_copy_back_pages() 479 xa_lock_irq(&mapping->i_pages); in __nilfs_clear_folio_dirty() 481 __xa_clear_mark(&mapping->i_pages, folio->index, in __nilfs_clear_folio_dirty() 483 xa_unlock_irq(&mapping->i_pages); in __nilfs_clear_folio_dirty() [all …]
|
| /linux-6.15/arch/parisc/include/asm/ |
| H A D | cacheflush.h | 54 #define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages) 55 #define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages) 57 xa_lock_irqsave(&mapping->i_pages, flags) 59 xa_unlock_irqrestore(&mapping->i_pages, flags)
|
| /linux-6.15/mm/ |
| H A D | swap_state.c | 79 shadow = xa_load(&address_space->i_pages, idx); in get_shadow_from_swap_cache() 94 XA_STATE_ORDER(xas, &address_space->i_pages, idx, folio_order(folio)); in add_to_swap_cache() 149 XA_STATE(xas, &address_space->i_pages, idx); in __delete_from_swap_cache() 180 xa_lock_irq(&address_space->i_pages); in delete_from_swap_cache() 182 xa_unlock_irq(&address_space->i_pages); in delete_from_swap_cache() 198 XA_STATE(xas, &address_space->i_pages, index); in clear_shadow_from_swap_cache() 202 xa_lock_irq(&address_space->i_pages); in clear_shadow_from_swap_cache() 208 xa_unlock_irq(&address_space->i_pages); in clear_shadow_from_swap_cache() 653 xa_init_flags(&space->i_pages, XA_FLAGS_LOCK_IRQ); in init_swap_address_space()
|
| H A D | workingset.c | 626 mapping = container_of(node->array, struct address_space, i_pages); in workingset_update_node() 627 lockdep_assert_held(&mapping->i_pages.xa_lock); in workingset_update_node() 720 mapping = container_of(node->array, struct address_space, i_pages); in shadow_lru_isolate() 723 if (!xa_trylock(&mapping->i_pages)) { in shadow_lru_isolate() 732 xa_unlock(&mapping->i_pages); in shadow_lru_isolate() 757 xa_unlock_irq(&mapping->i_pages); in shadow_lru_isolate()
|
| H A D | truncate.c | 29 XA_STATE(xas, &mapping->i_pages, start); in clear_shadow_entries() 63 XA_STATE(xas, &mapping->i_pages, indices[0]); in truncate_folio_batch_exceptionals() 491 xa_lock_irq(&mapping->i_pages); in truncate_inode_pages_final() 492 xa_unlock_irq(&mapping->i_pages); in truncate_inode_pages_final() 617 xa_lock_irq(&mapping->i_pages); in folio_unmap_invalidate() 623 xa_unlock_irq(&mapping->i_pages); in folio_unmap_invalidate() 631 xa_unlock_irq(&mapping->i_pages); in folio_unmap_invalidate()
|
| H A D | filemap.c | 252 xa_lock_irq(&mapping->i_pages); in filemap_remove_folio() 254 xa_unlock_irq(&mapping->i_pages); in filemap_remove_folio() 325 xa_lock_irq(&mapping->i_pages); in delete_from_page_cache_batch() 333 xa_unlock_irq(&mapping->i_pages); in delete_from_page_cache_batch() 825 XA_STATE(xas, &mapping->i_pages, offset); in replace_page_cache_folio() 1769 XA_STATE(xas, &mapping->i_pages, index); in page_cache_next_miss() 1805 XA_STATE(xas, &mapping->i_pages, index); in page_cache_prev_miss() 1853 XA_STATE(xas, &mapping->i_pages, index); in filemap_get_entry() 2076 XA_STATE(xas, &mapping->i_pages, *start); in find_get_entries() 2125 XA_STATE(xas, &mapping->i_pages, *start); in find_lock_entries() [all …]
|
| H A D | readahead.c | 252 struct folio *folio = xa_load(&mapping->i_pages, index + i); in page_cache_ra_unbounded() 761 struct folio *folio = xa_load(&mapping->i_pages, index); in readahead_expand() 790 struct folio *folio = xa_load(&mapping->i_pages, index); in readahead_expand()
|
| H A D | shmem.c | 472 xa_lock_irq(&mapping->i_pages); in shmem_charge() 474 xa_unlock_irq(&mapping->i_pages); in shmem_charge() 494 XA_STATE(xas, &mapping->i_pages, index); in shmem_replace_entry() 937 xa_lock_irq(&mapping->i_pages); in shmem_delete_from_page_cache() 942 xa_unlock_irq(&mapping->i_pages); in shmem_delete_from_page_cache() 976 XA_STATE(xas, &mapping->i_pages, start); in shmem_partial_swap_usage() 1400 XA_STATE(xas, &mapping->i_pages, start); in shmem_find_swap_entries() 1905 if (xa_find(&mapping->i_pages, &index, in shmem_alloc_and_add_folio() 2077 xa_lock_irq(&swap_mapping->i_pages); in shmem_replace_folio() 2094 xa_unlock_irq(&swap_mapping->i_pages); in shmem_replace_folio() [all …]
|
| H A D | page-writeback.c | 2387 XA_STATE(xas, &mapping->i_pages, start); in tag_pages_for_writeback() 2763 xa_lock_irqsave(&mapping->i_pages, flags); in __folio_mark_dirty() 2767 __xa_set_mark(&mapping->i_pages, folio_index(folio), in __folio_mark_dirty() 2770 xa_unlock_irqrestore(&mapping->i_pages, flags); in __folio_mark_dirty() 3045 xa_lock_irqsave(&mapping->i_pages, flags); in __folio_end_writeback() 3047 __xa_clear_mark(&mapping->i_pages, folio_index(folio), in __folio_end_writeback() 3062 xa_unlock_irqrestore(&mapping->i_pages, flags); in __folio_end_writeback() 3084 XA_STATE(xas, &mapping->i_pages, folio_index(folio)); in __folio_start_writeback()
|
| H A D | memfd.c | 120 XA_STATE(xas, &mapping->i_pages, 0); in memfd_wait_for_pins()
|
| /linux-6.15/arch/csky/abiv1/inc/abi/ |
| H A D | cacheflush.h | 19 #define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages) 20 #define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages)
|
| /linux-6.15/include/linux/ |
| H A D | backing-dev.h | 254 !lockdep_is_held(&inode->i_mapping->i_pages.xa_lock) && in inode_to_wb() 298 xa_lock_irqsave(&inode->i_mapping->i_pages, cookie->flags); in unlocked_inode_to_wb_begin() 316 xa_unlock_irqrestore(&inode->i_mapping->i_pages, cookie->flags); in unlocked_inode_to_wb_end()
|
| H A D | pagemap.h | 145 return xa_empty(&mapping->i_pages); in mapping_empty() 182 head = rcu_access_pointer(mapping->i_pages.xa_head); in mapping_shrinkable() 1411 folio = xa_load(&ractl->mapping->i_pages, ractl->_index); in __readahead_folio() 1455 XA_STATE(xas, &rac->mapping->i_pages, 0); in __readahead_batch()
|
| /linux-6.15/Documentation/translations/zh_CN/mm/ |
| H A D | page_migration.rst | 84 5. i_pages的锁被持有。这将导致所有试图通过映射访问该页的进程在自旋锁上阻塞。 99 11. i_pages锁被放弃。这样一来,在映射中的查找又变得可能了。进程将从在锁上自旋到在
|
| /linux-6.15/fs/erofs/ |
| H A D | fscache.c | 62 XA_STATE(xas, &req->mapping->i_pages, start_page); in erofs_fscache_req_complete() 243 iov_iter_xarray(&io->iter, ITER_DEST, &folio->mapping->i_pages, in erofs_fscache_meta_read_folio() 283 iov_iter_xarray(&iter, ITER_DEST, &mapping->i_pages, pos, PAGE_SIZE); in erofs_fscache_data_read_slice() 298 iov_iter_xarray(&iter, ITER_DEST, &mapping->i_pages, pos, count); in erofs_fscache_data_read_slice() 318 iov_iter_xarray(&io->iter, ITER_DEST, &mapping->i_pages, pos, count); in erofs_fscache_data_read_slice()
|
| /linux-6.15/arch/arm/include/asm/ |
| H A D | cacheflush.h | 321 #define flush_dcache_mmap_lock(mapping) xa_lock_irq(&mapping->i_pages) 322 #define flush_dcache_mmap_unlock(mapping) xa_unlock_irq(&mapping->i_pages)
|
| /linux-6.15/fs/ |
| H A D | dax.c | 532 xas.xa = &mapping->i_pages; in dax_lock_folio() 557 XA_STATE(xas, &mapping->i_pages, folio->index); in dax_unlock_folio() 586 xas.xa = &mapping->i_pages; in dax_lock_mapping_entry() 620 XA_STATE(xas, &mapping->i_pages, index); in dax_unlock_mapping_entry() 769 XA_STATE(xas, &mapping->i_pages, start_idx); in dax_layout_busy_page_range() 831 XA_STATE(xas, &mapping->i_pages, index); in __dax_invalidate_entry() 856 XA_STATE(xas, &mapping->i_pages, start); in __dax_clear_dirty_range() 907 XA_STATE(xas, &mapping->i_pages, start_idx); in dax_delete_mapping_range() 1904 XA_STATE(xas, &mapping->i_pages, vmf->pgoff); in dax_iomap_pte_fault() 2016 XA_STATE_ORDER(xas, &mapping->i_pages, vmf->pgoff, PMD_ORDER); in dax_iomap_pmd_fault() [all …]
|
| H A D | fs-writeback.c | 400 XA_STATE(xas, &mapping->i_pages, 0); in inode_do_switch_wbs() 405 xa_lock_irq(&mapping->i_pages); in inode_do_switch_wbs() 483 xa_unlock_irq(&mapping->i_pages); in inode_do_switch_wbs()
|
| /linux-6.15/fs/netfs/ |
| H A D | fscache_io.c | 181 XA_STATE(xas, &mapping->i_pages, first); in __fscache_clear_page_bits() 253 iov_iter_xarray(&iter, ITER_SOURCE, &mapping->i_pages, start, len); in __fscache_write_to_cache()
|
| /linux-6.15/fs/orangefs/ |
| H A D | inode.c | 222 struct xarray *i_pages; in orangefs_readahead() local 240 i_pages = &rac->mapping->i_pages; in orangefs_readahead() 242 iov_iter_xarray(&iter, ITER_DEST, i_pages, offset, readahead_length(rac)); in orangefs_readahead()
|
| /linux-6.15/fs/nfs/ |
| H A D | fscache.c | 324 xa_for_each_range(&sreq->rreq->mapping->i_pages, idx, page, start, last) { in nfs_netfs_issue_read()
|
| /linux-6.15/Documentation/mm/ |
| H A D | page_migration.rst | 107 5. The i_pages lock is taken. This will cause all processes trying 125 11. The i_pages lock is dropped. With that lookups in the mapping
|
| H A D | process_addrs.rst | 392 i_pages lock (widely used) 397 i_pages lock (widely used, in set_page_dirty, 409 ->i_pages lock 418 ->i_pages lock (arch-dependent flush_dcache_mmap_lock) 429 ->i_pages lock (__sync_single_inode) 440 ->i_pages lock (try_to_unmap_one) 444 ->i_pages lock (folio_remove_rmap_pte->set_page_dirty)
|