Searched refs:fbatch (Results 1 - 25 of 33) sorted by relevance

12

/linux-master/include/linux/
H A Dpagevec.h37 * @fbatch: The folio batch.
41 static inline void folio_batch_init(struct folio_batch *fbatch) argument
43 fbatch->nr = 0;
44 fbatch->i = 0;
45 fbatch->percpu_pvec_drained = false;
48 static inline void folio_batch_reinit(struct folio_batch *fbatch) argument
50 fbatch->nr = 0;
51 fbatch->i = 0;
54 static inline unsigned int folio_batch_count(struct folio_batch *fbatch) argument
56 return fbatch
59 folio_batch_space(struct folio_batch *fbatch) argument
74 folio_batch_add(struct folio_batch *fbatch, struct folio *folio) argument
89 folio_batch_next(struct folio_batch *fbatch) argument
98 folio_batch_release(struct folio_batch *fbatch) argument
[all...]
H A Dpagemap.h858 pgoff_t end, struct folio_batch *fbatch);
860 pgoff_t *start, pgoff_t end, struct folio_batch *fbatch);
862 pgoff_t end, xa_mark_t tag, struct folio_batch *fbatch);
1197 struct folio_batch *fbatch);
H A Dwriteback.h83 struct folio_batch fbatch; member in struct:writeback_control
/linux-master/mm/
H A Dswap.c50 /* Protecting only lru_rotate.fbatch which requires disabling interrupts */
53 struct folio_batch fbatch; member in struct:lru_rotate
154 struct folio_batch fbatch; local
157 folio_batch_init(&fbatch);
166 if (folio_batch_add(&fbatch, folio) > 0)
168 free_unref_folios(&fbatch);
171 if (fbatch.nr)
172 free_unref_folios(&fbatch);
219 static void folio_batch_move_lru(struct folio_batch *fbatch, move_fn_t move_fn) argument
225 for (i = 0; i < folio_batch_count(fbatch);
243 folio_batch_add_and_move(struct folio_batch *fbatch, struct folio *folio, move_fn_t move_fn) argument
273 struct folio_batch *fbatch; local
361 struct folio_batch *fbatch = &per_cpu(cpu_fbatches.activate, cpu); local
371 struct folio_batch *fbatch; local
401 struct folio_batch *fbatch; local
518 struct folio_batch *fbatch; local
664 struct folio_batch *fbatch = &fbatches->lru_add; local
707 struct folio_batch *fbatch; local
732 struct folio_batch *fbatch; local
754 struct folio_batch *fbatch; local
1052 struct folio_batch fbatch; local
1088 __folio_batch_release(struct folio_batch *fbatch) argument
1107 folio_batch_remove_exceptionals(struct folio_batch *fbatch) argument
[all...]
H A Dtruncate.c60 struct folio_batch *fbatch, pgoff_t *indices)
69 for (j = 0; j < folio_batch_count(fbatch); j++)
70 if (xa_is_value(fbatch->folios[j]))
73 if (j == folio_batch_count(fbatch))
82 for (i = j; i < folio_batch_count(fbatch); i++) {
83 struct folio *folio = fbatch->folios[i];
87 fbatch->folios[j++] = folio;
105 fbatch->nr = j;
325 struct folio_batch fbatch; local
352 folio_batch_init(&fbatch);
59 truncate_folio_batch_exceptionals(struct address_space *mapping, struct folio_batch *fbatch, pgoff_t *indices) argument
492 struct folio_batch fbatch; local
613 struct folio_batch fbatch; local
[all...]
H A Dmlock.c33 struct folio_batch fbatch; member in struct:mlock_fbatch
186 static void mlock_folio_batch(struct folio_batch *fbatch) argument
193 for (i = 0; i < folio_batch_count(fbatch); i++) {
194 folio = fbatch->folios[i];
197 fbatch->folios[i] = folio;
209 folios_put(fbatch);
214 struct folio_batch *fbatch; local
217 fbatch = this_cpu_ptr(&mlock_fbatch.fbatch);
218 if (folio_batch_count(fbatch))
225 struct folio_batch *fbatch; local
244 struct folio_batch *fbatch; local
269 struct folio_batch *fbatch; local
292 struct folio_batch *fbatch; local
[all...]
H A Dfilemap.c276 * @fbatch: batch of folios to delete
279 * @fbatch from the mapping. The function expects @fbatch to be sorted
281 * It tolerates holes in @fbatch (mapping entries at those indices are not
287 struct folio_batch *fbatch)
289 XA_STATE(xas, &mapping->i_pages, fbatch->folios[0]->index);
296 if (i >= folio_batch_count(fbatch))
309 if (folio != fbatch->folios[i]) {
311 fbatch->folios[i]->index, folio);
328 struct folio_batch *fbatch)
286 page_cache_delete_batch(struct address_space *mapping, struct folio_batch *fbatch) argument
327 delete_from_page_cache_batch(struct address_space *mapping, struct folio_batch *fbatch) argument
515 struct folio_batch fbatch; local
2014 find_get_entries(struct address_space *mapping, pgoff_t *start, pgoff_t end, struct folio_batch *fbatch, pgoff_t *indices) argument
2060 find_lock_entries(struct address_space *mapping, pgoff_t *start, pgoff_t end, struct folio_batch *fbatch, pgoff_t *indices) argument
2118 filemap_get_folios(struct address_space *mapping, pgoff_t *start, pgoff_t end, struct folio_batch *fbatch) argument
2140 filemap_get_folios_contig(struct address_space *mapping, pgoff_t *start, pgoff_t end, struct folio_batch *fbatch) argument
2211 filemap_get_folios_tag(struct address_space *mapping, pgoff_t *start, pgoff_t end, xa_mark_t tag, struct folio_batch *fbatch) argument
2278 filemap_get_read_batch(struct address_space *mapping, pgoff_t index, pgoff_t max, struct folio_batch *fbatch) argument
2427 filemap_create_folio(struct file *file, struct address_space *mapping, pgoff_t index, struct folio_batch *fbatch) argument
2484 filemap_get_pages(struct kiocb *iocb, size_t count, struct folio_batch *fbatch, bool need_uptodate) argument
2573 struct folio_batch fbatch; local
2843 struct folio_batch fbatch; local
[all...]
H A Dshmem.c917 struct folio_batch fbatch; local
920 folio_batch_init(&fbatch);
925 filemap_get_folios(mapping, &index, ~0UL, &fbatch)) {
926 check_move_unevictable_folios(&fbatch);
927 folio_batch_release(&fbatch);
971 struct folio_batch fbatch; local
985 folio_batch_init(&fbatch);
988 &fbatch, indices)) {
989 for (i = 0; i < folio_batch_count(&fbatch); i++) {
990 folio = fbatch
1273 shmem_find_swap_entries(struct address_space *mapping, pgoff_t start, struct folio_batch *fbatch, pgoff_t *indices, unsigned int type) argument
1315 shmem_unuse_swap_entries(struct inode *inode, struct folio_batch *fbatch, pgoff_t *indices) argument
1349 struct folio_batch fbatch; local
[all...]
H A Dpage-writeback.c2415 folio = folio_batch_next(&wbc->fbatch);
2417 folio_batch_release(&wbc->fbatch);
2420 wbc_to_tag(wbc), &wbc->fbatch);
2421 folio = folio_batch_next(&wbc->fbatch);
2466 folio_batch_init(&wbc->fbatch);
2546 folio_batch_release(&wbc->fbatch);
/linux-master/fs/nilfs2/
H A Dpage.c246 struct folio_batch fbatch; local
251 folio_batch_init(&fbatch);
254 PAGECACHE_TAG_DIRTY, &fbatch))
257 for (i = 0; i < folio_batch_count(&fbatch); i++) {
258 struct folio *folio = fbatch.folios[i], *dfolio;
282 folio_batch_release(&fbatch);
301 struct folio_batch fbatch; local
305 folio_batch_init(&fbatch);
307 n = filemap_get_folios(smap, &start, ~0UL, &fbatch);
311 for (i = 0; i < folio_batch_count(&fbatch);
364 struct folio_batch fbatch; local
500 struct folio_batch fbatch; local
[all...]
H A Dsegment.c702 struct folio_batch fbatch; local
716 folio_batch_init(&fbatch);
720 PAGECACHE_TAG_DIRTY, &fbatch))
723 for (i = 0; i < folio_batch_count(&fbatch); i++) {
725 struct folio *folio = fbatch.folios[i];
747 folio_batch_release(&fbatch);
753 folio_batch_release(&fbatch);
763 struct folio_batch fbatch; local
770 folio_batch_init(&fbatch);
773 (pgoff_t)-1, PAGECACHE_TAG_DIRTY, &fbatch)) {
[all...]
/linux-master/fs/ramfs/
H A Dfile-nommu.c208 struct folio_batch fbatch; local
224 folio_batch_init(&fbatch);
228 ULONG_MAX, &fbatch);
235 ret = (unsigned long) folio_address(fbatch.folios[0]);
236 pfn = folio_pfn(fbatch.folios[0]);
240 if (pfn + nr_pages != folio_pfn(fbatch.folios[loop])) {
244 nr_pages += folio_nr_pages(fbatch.folios[loop]);
250 folio_batch_release(&fbatch);
256 folio_batch_release(&fbatch);
/linux-master/fs/bcachefs/
H A Dfs-io-pagecache.c275 struct folio_batch fbatch; local
281 folio_batch_init(&fbatch);
284 &index, end_index, &fbatch)) {
285 for (i = 0; i < folio_batch_count(&fbatch); i++) {
286 struct folio *folio = fbatch.folios[i];
307 folio_batch_release(&fbatch);
319 struct folio_batch fbatch; local
326 folio_batch_init(&fbatch);
329 &index, end_index, &fbatch)) {
330 for (unsigned i = 0; i < folio_batch_count(&fbatch);
674 struct folio_batch fbatch; local
[all...]
/linux-master/drivers/gpu/drm/
H A Ddrm_gem.c505 static void drm_gem_check_release_batch(struct folio_batch *fbatch) argument
507 check_move_unevictable_folios(fbatch);
508 __folio_batch_release(fbatch);
542 struct folio_batch fbatch; local
589 folio_batch_init(&fbatch);
593 if (!folio_batch_add(&fbatch, f))
594 drm_gem_check_release_batch(&fbatch);
597 if (fbatch.nr)
598 drm_gem_check_release_batch(&fbatch);
617 struct folio_batch fbatch; local
[all...]
/linux-master/fs/gfs2/
H A Daops.c201 * @fbatch: The batch of folios
209 struct folio_batch *fbatch,
218 int nr_folios = folio_batch_count(fbatch);
221 size += folio_size(fbatch->folios[i]);
229 struct folio *folio = fbatch->folios[i];
312 struct folio_batch fbatch; local
322 folio_batch_init(&fbatch);
349 tag, &fbatch);
353 ret = gfs2_write_jdata_batch(mapping, wbc, &fbatch,
359 folio_batch_release(&fbatch);
207 gfs2_write_jdata_batch(struct address_space *mapping, struct writeback_control *wbc, struct folio_batch *fbatch, pgoff_t *done_index) argument
[all...]
/linux-master/drivers/gpu/drm/i915/gem/
H A Di915_gem_shmem.c25 static void check_release_folio_batch(struct folio_batch *fbatch) argument
27 check_move_unevictable_folios(fbatch);
28 __folio_batch_release(fbatch);
36 struct folio_batch fbatch; local
42 folio_batch_init(&fbatch);
54 if (!folio_batch_add(&fbatch, folio))
55 check_release_folio_batch(&fbatch);
57 if (fbatch.nr)
58 check_release_folio_batch(&fbatch);
/linux-master/fs/netfs/
H A Dbuffered_write.c780 struct folio_batch fbatch; local
788 folio_batch_init(&fbatch);
857 if (!folio_batch_add(&fbatch, folio))
869 if (!folio_batch_count(&fbatch))
872 for (i = 0; i < folio_batch_count(&fbatch); i++) {
873 folio = fbatch.folios[i];
883 folio_batch_release(&fbatch);
/linux-master/fs/ceph/
H A Daddr.c932 struct folio_batch fbatch; local
962 folio_batch_init(&fbatch);
1029 end, tag, &fbatch);
1034 page = &fbatch.folios[i]->page;
1144 /* note position of first page in fbatch */
1175 fbatch.folios[i] = NULL;
1184 /* shift unused page to beginning of fbatch */
1186 if (!fbatch.folios[j])
1189 fbatch.folios[n] = fbatch
[all...]
/linux-master/drivers/gpu/drm/i915/
H A Di915_gpu_error.c191 static void pool_fini(struct folio_batch *fbatch) argument
193 folio_batch_release(fbatch);
196 static int pool_refill(struct folio_batch *fbatch, gfp_t gfp) argument
198 while (folio_batch_space(fbatch)) {
205 folio_batch_add(fbatch, folio);
211 static int pool_init(struct folio_batch *fbatch, gfp_t gfp) argument
215 folio_batch_init(fbatch);
217 err = pool_refill(fbatch, gfp);
219 pool_fini(fbatch);
224 static void *pool_alloc(struct folio_batch *fbatch, gfp_ argument
235 pool_free(struct folio_batch *fbatch, void *addr) argument
[all...]
/linux-master/fs/f2fs/
H A Dnode.c1542 struct folio_batch fbatch; local
1546 folio_batch_init(&fbatch);
1551 &fbatch))) {
1555 struct page *page = &fbatch.folios[i]->page;
1559 folio_batch_release(&fbatch);
1590 folio_batch_release(&fbatch);
1758 struct folio_batch fbatch; local
1772 folio_batch_init(&fbatch);
1777 &fbatch))) {
1781 struct page *page = &fbatch
1917 struct folio_batch fbatch; local
1965 struct folio_batch fbatch; local
[all...]
H A Dcheckpoint.c425 struct folio_batch fbatch; local
433 folio_batch_init(&fbatch);
439 PAGECACHE_TAG_DIRTY, &fbatch))) {
443 struct folio *folio = fbatch.folios[i];
447 folio_nr_pages(fbatch.folios[i-1])) {
448 folio_batch_release(&fbatch);
480 folio_batch_release(&fbatch);
/linux-master/fs/btrfs/
H A Dextent_io.c213 struct folio_batch fbatch; local
216 folio_batch_init(&fbatch);
221 end_index, &fbatch);
223 struct folio *folio = fbatch.folios[i];
228 folio_batch_release(&fbatch);
259 struct folio_batch fbatch; local
264 folio_batch_init(&fbatch);
269 end_index, &fbatch);
274 struct folio *folio = fbatch.folios[i];
293 folio_batch_release(&fbatch);
1912 struct folio_batch fbatch; local
2040 struct folio_batch fbatch; local
[all...]
H A Dcompression.c287 struct folio_batch fbatch; local
295 folio_batch_init(&fbatch);
298 &fbatch);
304 struct folio *folio = fbatch.folios[i];
309 folio_batch_release(&fbatch);
/linux-master/fs/btrfs/tests/
H A Dextent-io-tests.c25 struct folio_batch fbatch; local
32 folio_batch_init(&fbatch);
36 end_index, &fbatch);
38 struct folio *folio = fbatch.folios[i];
48 folio_batch_release(&fbatch);
/linux-master/fs/hugetlbfs/
H A Dinode.c653 struct folio_batch fbatch; local
658 folio_batch_init(&fbatch);
660 while (filemap_get_folios(mapping, &next, end - 1, &fbatch)) {
661 for (i = 0; i < folio_batch_count(&fbatch); ++i) {
662 struct folio *folio = fbatch.folios[i];
678 folio_batch_release(&fbatch);

Completed in 314 milliseconds

12