Home
last modified time | relevance | path

Searched refs:folios (Results 1 – 25 of 39) sorted by relevance

12

/linux-6.3-rc2/include/linux/
A Dpagevec.h78 struct folio *folios[PAGEVEC_SIZE]; member
84 offsetof(struct folio_batch, folios));
126 fbatch->folios[fbatch->nr++] = folio; in folio_batch_add()
A Dmm_inline.h259 list_add_tail(&folio->lru, &lrugen->folios[gen][type][zone]); in lru_gen_add_folio()
261 list_add(&folio->lru, &lrugen->folios[gen][type][zone]); in lru_gen_add_folio()
A Dmm.h1345 struct folio **folios; member
1363 static inline void folios_put(struct folio **folios, unsigned int nr) in folios_put() argument
1365 release_pages(folios, nr); in folios_put()
A Dmmzone.h416 struct list_head folios[MAX_NR_GENS][ANON_AND_FILE][MAX_NR_ZONES]; member
/linux-6.3-rc2/fs/ramfs/
A Dfile-nommu.c235 ret = (unsigned long) folio_address(fbatch.folios[0]); in ramfs_nommu_get_unmapped_area()
236 pfn = folio_pfn(fbatch.folios[0]); in ramfs_nommu_get_unmapped_area()
240 if (pfn + nr_pages != folio_pfn(fbatch.folios[loop])) { in ramfs_nommu_get_unmapped_area()
244 nr_pages += folio_nr_pages(fbatch.folios[loop]); in ramfs_nommu_get_unmapped_area()
/linux-6.3-rc2/mm/
A Dtruncate.c71 if (xa_is_value(fbatch->folios[j])) in truncate_folio_batch_exceptionals()
84 struct folio *folio = fbatch->folios[i]; in truncate_folio_batch_exceptionals()
88 fbatch->folios[j++] = folio; in truncate_folio_batch_exceptionals()
368 truncate_cleanup_folio(fbatch.folios[i]); in truncate_inode_pages_range()
371 folio_unlock(fbatch.folios[i]); in truncate_inode_pages_range()
414 struct folio *folio = fbatch.folios[i]; in truncate_inode_pages_range()
511 struct folio *folio = fbatch.folios[i]; in invalidate_mapping_pagevec()
638 struct folio *folio = fbatch.folios[i]; in invalidate_inode_pages2_range()
A Dswap.c210 struct folio *folio = fbatch->folios[i]; in folio_batch_move_lru()
224 folios_put(fbatch->folios, folio_batch_count(fbatch)); in folio_batch_move_lru()
403 struct folio *batch_folio = fbatch->folios[i]; in __lru_cache_activate_folio()
1081 struct folio *folio = fbatch->folios[i]; in folio_batch_remove_exceptionals()
1083 fbatch->folios[j++] = folio; in folio_batch_remove_exceptionals()
A Dfilemap.c302 if (folio != fbatch->folios[i]) { in page_cache_delete_batch()
304 fbatch->folios[i]->index, folio); in page_cache_delete_batch()
331 struct folio *folio = fbatch->folios[i]; in delete_from_page_cache_batch()
523 struct folio *folio = fbatch.folios[i]; in __filemap_fdatawait_range()
2074 folio = fbatch->folios[idx]; in find_get_entries()
2138 folio = fbatch->folios[idx]; in find_lock_entries()
2276 folio = fbatch->folios[nr - 1]; in filemap_get_folios_contig()
2722 fbatch.folios[0])) in filemap_read()
2723 folio_mark_accessed(fbatch.folios[0]); in filemap_read()
2726 struct folio *folio = fbatch.folios[i]; in filemap_read()
[all …]
A Dmlock.c194 folio = fbatch->folios[i]; in mlock_folio_batch()
197 fbatch->folios[i] = folio; in mlock_folio_batch()
209 release_pages(fbatch->folios, fbatch->nr); in mlock_folio_batch()
A Dmigrate.c1950 LIST_HEAD(folios); in migrate_pages()
1976 list_cut_before(&folios, from, &folio->lru); in migrate_pages()
1978 list_splice_init(from, &folios); in migrate_pages()
1979 rc = migrate_pages_batch(&folios, get_new_page, put_new_page, private, in migrate_pages()
1981 list_splice_tail_init(&folios, &ret_folios); in migrate_pages()
A Dvmscan.c4300 struct list_head *head = &lrugen->folios[old_gen][type][zone]; in inc_min_seq()
4311 list_move_tail(&folio->lru, &lrugen->folios[new_gen][type][zone]); in inc_min_seq()
4339 if (!list_empty(&lrugen->folios[gen][type][zone])) in try_to_inc_min_seq()
4865 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4874 list_move_tail(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4886 list_move(&folio->lru, &lrugen->folios[gen][type][zone]); in sort_folio()
4949 struct list_head *head = &lrugen->folios[gen][type][zone]; in scan_folios()
5543 if (!list_empty(&lrugen->folios[gen][type][zone])) in state_is_valid()
5588 struct list_head *head = &lruvec->lrugen.folios[gen][type][zone]; in drain_evictable()
6122 INIT_LIST_HEAD(&lrugen->folios[gen][type][zone]); in lru_gen_init_lruvec()
[all …]
/linux-6.3-rc2/Documentation/mm/
A Dunevictable-lru.rst13 folios.
28 folios and to hide these folios from vmscan. This mechanism is based on a patch
73 (1) We get to "treat unevictable folios just like we treat other folios in the
78 (2) We want to be able to migrate unevictable folios between nodes for memory
80 can only migrate folios that it can successfully isolate from the LRU
82 maintain folios elsewhere than on an LRU-like list, where they can be
86 anonymous, swap-backed folios. This differentiation is only important
87 while the folios are, in fact, evictable.
178 folio_evictable() also checks for mlocked folios by calling
193 "cull" such folios that it encounters: that is, it diverts those folios to the
[all …]
A Dmultigen_lru.rst92 truncated generation number is an index to ``lrugen->folios[]``. The
96 ``lrugen->folios[]``; otherwise it stores zero.
100 generations, tiers do not have dedicated ``lrugen->folios[]``. In
130 increments ``min_seq`` when ``lrugen->folios[]`` indexed by
192 since each node and memcg combination has an LRU of folios (see
198 the active/inactive LRU (of folios):
221 The multi-gen LRU (of folios) can be disassembled into the following
/linux-6.3-rc2/fs/nilfs2/
A Dpage.c255 struct folio *folio = fbatch.folios[i], *dfolio; in nilfs_copy_dirty_pages()
309 struct folio *folio = fbatch.folios[i], *dfolio; in nilfs_copy_back_pages()
370 struct folio *folio = fbatch.folios[i]; in nilfs_clear_dirty_pages()
505 folio = fbatch.folios[i]; in nilfs_find_uncommitted_extent()
/linux-6.3-rc2/fs/cifs/
A Dcifsencrypt.c106 struct folio *folios[16], *folio; in cifs_shash_xarray() local
119 nr = xa_extract(iter->xarray, (void **)folios, index, last, in cifs_shash_xarray()
120 ARRAY_SIZE(folios), XA_PRESENT); in cifs_shash_xarray()
125 folio = folios[i]; in cifs_shash_xarray()
144 } while (nr == ARRAY_SIZE(folios)); in cifs_shash_xarray()
/linux-6.3-rc2/Documentation/core-api/
A Dpin_user_pages.rst58 For large folios, the GUP_PIN_COUNTING_BIAS scheme is not used. Instead,
62 This approach for large folios avoids the counting upper limit problems
68 This also means that huge pages and large folios do not suffer
267 fields, and to better report on large folios in general. Specifically,
268 for large folios, the exact pincount is reported.
/linux-6.3-rc2/Documentation/filesystems/
A Dnetfs_library.rst104 * Handle folios that span multiple pages.
109 don't match folio sizes or folio alignments and that may cross folios.
363 it transferred. The filesystem also should not deal with setting folios
367 Note that the helpers have the folios locked, but not pinned. It is
391 [Optional] This is called after the folios in the request have all been
438 * Once the data is read, the folios that have been fully read/cleared:
446 * Any folios that need writing to the cache will then have DIO writes issued.
450 * Writes to the cache will proceed asynchronously and the folios will have the
A Dfsverity.rst571 ``->readahead()`` methods must be modified to verify folios before
627 verification. Finally, folios where no decryption or verity error
628 occurred are marked Uptodate, and the folios are unlocked.
794 - To prevent bypassing verification, folios must not be marked
796 filesystem is responsible for marking folios Uptodate via
A Dvfs.rst629 on dirty pages, and ->release_folio on clean folios with the private
786 If the mapping does not support large folios, the folio will
796 In normal operation, folios are read through the ->readahead()
903 release_folio is called on folios with private data to tell the
913 some or all folios in an address_space. This can happen
918 and needs to be certain that all folios are invalidated, then
958 some filesystems have more complex state (unstable folios in NFS
/linux-6.3-rc2/fs/ceph/
A Daddr.c896 page = &fbatch.folios[i]->page; in ceph_writepages_start()
1016 fbatch.folios[i] = NULL; in ceph_writepages_start()
1028 if (!fbatch.folios[j]) in ceph_writepages_start()
1031 fbatch.folios[n] = fbatch.folios[j]; in ceph_writepages_start()
1177 fbatch.nr ? fbatch.folios[0] : NULL); in ceph_writepages_start()
1200 page = &fbatch.folios[i]->page; in ceph_writepages_start()
/linux-6.3-rc2/fs/gfs2/
A Daops.c220 nr_pages += folio_nr_pages(fbatch->folios[i]); in gfs2_write_jdata_batch()
228 struct folio *folio = fbatch->folios[i]; in gfs2_write_jdata_batch()
/linux-6.3-rc2/fs/btrfs/tests/
A Dextent-io-tests.c37 struct folio *folio = fbatch.folios[i]; in process_page_range()
/linux-6.3-rc2/fs/f2fs/
A Dnode.c1534 struct page *page = &fbatch.folios[i]->page; in last_fsync_dnode()
1757 struct page *page = &fbatch.folios[i]->page; in f2fs_fsync_node_pages()
1904 struct page *page = &fbatch.folios[i]->page; in f2fs_flush_inline_data()
1958 struct page *page = &fbatch.folios[i]->page; in f2fs_sync_node_pages()
A Dcheckpoint.c414 struct folio *folio = fbatch.folios[i]; in f2fs_sync_meta_pages()
418 folio_nr_pages(fbatch.folios[i-1])) { in f2fs_sync_meta_pages()
/linux-6.3-rc2/fs/afs/
A Dwrite.c724 folio = fbatch.folios[i]; in afs_writepages_region()

Completed in 86 milliseconds

12