Home
last modified time | relevance | path

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

12

/linux/include/linux/
H A Dpagevec.h41 static inline void folio_batch_init(struct folio_batch *fbatch) in folio_batch_init() argument
43 fbatch->nr = 0; in folio_batch_init()
44 fbatch->i = 0; in folio_batch_init()
45 fbatch->percpu_pvec_drained = false; in folio_batch_init()
48 static inline void folio_batch_reinit(struct folio_batch *fbatch) in folio_batch_reinit() argument
50 fbatch->nr = 0; in folio_batch_reinit()
51 fbatch->i = 0; in folio_batch_reinit()
54 static inline unsigned int folio_batch_count(const struct folio_batch *fbatch) in folio_batch_count() argument
56 return fbatch->nr; in folio_batch_count()
59 static inline unsigned int folio_batch_space(const struct folio_batch *fbatch) in folio_batch_space() argument
[all …]
H A Dpagemap.h1002 pgoff_t end, struct folio_batch *fbatch);
1004 pgoff_t *start, pgoff_t end, struct folio_batch *fbatch);
1006 pgoff_t end, xa_mark_t tag, struct folio_batch *fbatch);
1008 pgoff_t *start, pgoff_t end, struct folio_batch *fbatch);
1304 struct folio_batch *fbatch);
H A Dwriteback.h75 struct folio_batch fbatch; member
/linux/mm/
H A Dswap.c158 static void folio_batch_move_lru(struct folio_batch *fbatch, move_fn_t move_fn) in folio_batch_move_lru() argument
164 for (i = 0; i < folio_batch_count(fbatch); i++) { in folio_batch_move_lru()
165 struct folio *folio = fbatch->folios[i]; in folio_batch_move_lru()
179 folios_put(fbatch); in folio_batch_move_lru()
182 static void __folio_batch_add_and_move(struct folio_batch __percpu *fbatch, in __folio_batch_add_and_move() argument
194 if (!folio_batch_add(this_cpu_ptr(fbatch), folio) || in __folio_batch_add_and_move()
196 folio_batch_move_lru(this_cpu_ptr(fbatch), move_fn); in __folio_batch_add_and_move()
323 struct folio_batch *fbatch = &per_cpu(cpu_fbatches.lru_activate, cpu); in folio_activate_drain() local
325 if (folio_batch_count(fbatch)) in folio_activate_drain()
326 folio_batch_move_lru(fbatch, lru_activat in folio_activate_drain()
359 struct folio_batch *fbatch; __lru_cache_activate_folio() local
645 struct folio_batch *fbatch = &fbatches->lru_add; lru_add_drain_cpu() local
1020 struct folio_batch fbatch; release_pages() local
1056 __folio_batch_release(struct folio_batch * fbatch) __folio_batch_release() argument
1075 folio_batch_remove_exceptionals(struct folio_batch * fbatch) folio_batch_remove_exceptionals() argument
[all...]
H A Dtruncate.c61 struct folio_batch *fbatch, pgoff_t *indices) in truncate_folio_batch_exceptionals() argument
64 int nr = folio_batch_count(fbatch); in truncate_folio_batch_exceptionals()
73 if (xa_is_value(fbatch->folios[j])) in truncate_folio_batch_exceptionals()
81 if (xa_is_value(fbatch->folios[i])) { in truncate_folio_batch_exceptionals()
117 folio_batch_remove_exceptionals(fbatch); in truncate_folio_batch_exceptionals()
371 struct folio_batch fbatch; in truncate_inode_pages_range() local
398 folio_batch_init(&fbatch); in truncate_inode_pages_range()
401 &fbatch, indices)) { in truncate_inode_pages_range()
402 truncate_folio_batch_exceptionals(mapping, &fbatch, indices); in truncate_inode_pages_range()
403 for (i = 0; i < folio_batch_count(&fbatch); i++) in truncate_inode_pages_range()
[all …]
H A Dmlock.c33 struct folio_batch fbatch; member
186 static void mlock_folio_batch(struct folio_batch *fbatch) in mlock_folio_batch() argument
193 for (i = 0; i < folio_batch_count(fbatch); i++) { in mlock_folio_batch()
194 folio = fbatch->folios[i]; in mlock_folio_batch()
197 fbatch->folios[i] = folio; in mlock_folio_batch()
209 folios_put(fbatch); in mlock_folio_batch()
214 struct folio_batch *fbatch; in mlock_drain_local() local
217 fbatch = this_cpu_ptr(&mlock_fbatch.fbatch); in mlock_drain_local()
218 if (folio_batch_count(fbatch)) in mlock_drain_local()
219 mlock_folio_batch(fbatch); in mlock_drain_local()
[all …]
H A Dfilemap.c280 struct folio_batch *fbatch) in page_cache_delete_batch() argument
282 XA_STATE(xas, &mapping->i_pages, fbatch->folios[0]->index); in page_cache_delete_batch()
289 if (i >= folio_batch_count(fbatch)) in page_cache_delete_batch()
302 if (folio != fbatch->folios[i]) { in page_cache_delete_batch()
304 fbatch->folios[i]->index, folio); in page_cache_delete_batch()
321 struct folio_batch *fbatch) in delete_from_page_cache_batch() argument
325 if (!folio_batch_count(fbatch)) in delete_from_page_cache_batch()
330 for (i = 0; i < folio_batch_count(fbatch); i++) { in delete_from_page_cache_batch()
331 struct folio *folio = fbatch->folios[i]; in delete_from_page_cache_batch()
336 page_cache_delete_batch(mapping, fbatch); in delete_from_page_cache_batch()
[all …]
H A Dshmem.c1061 struct folio_batch fbatch; in shmem_unlock_mapping() local
1064 folio_batch_init(&fbatch); in shmem_unlock_mapping()
1069 filemap_get_folios(mapping, &index, ~0UL, &fbatch)) { in shmem_unlock_mapping()
1070 check_move_unevictable_folios(&fbatch); in shmem_unlock_mapping()
1071 folio_batch_release(&fbatch); in shmem_unlock_mapping()
1115 struct folio_batch fbatch; in shmem_undo_range() local
1129 folio_batch_init(&fbatch); in shmem_undo_range()
1132 &fbatch, indices)) { in shmem_undo_range()
1133 for (i = 0; i < folio_batch_count(&fbatch); i++) { in shmem_undo_range()
1134 folio = fbatch.folios[i]; in shmem_undo_range()
[all …]
H A Dpage-writeback.c2407 folio = folio_batch_next(&wbc->fbatch); in folio_prepare_writeback()
2409 folio_batch_release(&wbc->fbatch); in folio_prepare_writeback()
2412 wbc_to_tag(wbc), &wbc->fbatch); in folio_prepare_writeback()
2413 folio = folio_batch_next(&wbc->fbatch); in folio_prepare_writeback()
2458 folio_batch_init(&wbc->fbatch); in writeback_get_folio()
2538 folio_batch_release(&wbc->fbatch); in writeback_iter()
H A Dgup.c3444 struct folio_batch fbatch;
3475 folio_batch_init(&fbatch); in memfd_pin_folios()
3486 &fbatch); in memfd_pin_folios()
3493 folio = fbatch.folios[i]; in memfd_pin_folios()
3496 folio_batch_release(&fbatch); in memfd_pin_folios()
3510 folio_batch_release(&fbatch); in memfd_pin_folios()
3455 struct folio_batch fbatch; memfd_pin_folios() local
/linux/fs/nilfs2/
H A Dpage.c246 struct folio_batch fbatch; in nilfs_copy_dirty_pages() local
251 folio_batch_init(&fbatch); in nilfs_copy_dirty_pages()
254 PAGECACHE_TAG_DIRTY, &fbatch)) in nilfs_copy_dirty_pages()
257 for (i = 0; i < folio_batch_count(&fbatch); i++) { in nilfs_copy_dirty_pages()
258 struct folio *folio = fbatch.folios[i], *dfolio; in nilfs_copy_dirty_pages()
282 folio_batch_release(&fbatch); in nilfs_copy_dirty_pages()
301 struct folio_batch fbatch; in nilfs_copy_back_pages() local
305 folio_batch_init(&fbatch); in nilfs_copy_back_pages()
307 n = filemap_get_folios(smap, &start, ~0UL, &fbatch); in nilfs_copy_back_pages()
311 for (i = 0; i < folio_batch_count(&fbatch); i++) { in nilfs_copy_back_pages()
[all …]
H A Dsegment.c704 struct folio_batch fbatch; in nilfs_lookup_dirty_data_buffers() local
718 folio_batch_init(&fbatch); in nilfs_lookup_dirty_data_buffers()
722 PAGECACHE_TAG_DIRTY, &fbatch)) in nilfs_lookup_dirty_data_buffers()
725 for (i = 0; i < folio_batch_count(&fbatch); i++) { in nilfs_lookup_dirty_data_buffers()
727 struct folio *folio = fbatch.folios[i]; in nilfs_lookup_dirty_data_buffers()
749 folio_batch_release(&fbatch); in nilfs_lookup_dirty_data_buffers()
757 folio_batch_release(&fbatch); in nilfs_lookup_dirty_data_buffers()
767 struct folio_batch fbatch; in nilfs_lookup_dirty_node_buffers() local
774 folio_batch_init(&fbatch); in nilfs_lookup_dirty_node_buffers()
777 (pgoff_t)-1, PAGECACHE_TAG_DIRTY, &fbatch)) { in nilfs_lookup_dirty_node_buffers()
[all …]
/linux/fs/ramfs/
H A Dfile-nommu.c208 struct folio_batch fbatch; in ramfs_nommu_get_unmapped_area() local
224 folio_batch_init(&fbatch); in ramfs_nommu_get_unmapped_area()
228 ULONG_MAX, &fbatch); in ramfs_nommu_get_unmapped_area()
235 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()
250 folio_batch_release(&fbatch); in ramfs_nommu_get_unmapped_area()
256 folio_batch_release(&fbatch); in ramfs_nommu_get_unmapped_area()
/linux/fs/netfs/
H A Drolling_buffer.c199 struct folio_batch fbatch; in rolling_buffer_clear() local
202 folio_batch_init(&fbatch); in rolling_buffer_clear()
213 if (!folio_batch_add(&fbatch, folio)) in rolling_buffer_clear()
214 folio_batch_release(&fbatch); in rolling_buffer_clear()
221 folio_batch_release(&fbatch); in rolling_buffer_clear()
H A Dmisc.c81 struct folio_batch fbatch; in netfs_free_folioq_buffer() local
83 folio_batch_init(&fbatch); in netfs_free_folioq_buffer()
94 if (folio_batch_add(&fbatch, folio)) in netfs_free_folioq_buffer()
95 folio_batch_release(&fbatch); in netfs_free_folioq_buffer()
103 folio_batch_release(&fbatch); in netfs_free_folioq_buffer()
/linux/drivers/gpu/drm/i915/gem/
H A Di915_gem_shmem.c27 static void check_release_folio_batch(struct folio_batch *fbatch) in check_release_folio_batch() argument
29 check_move_unevictable_folios(fbatch); in check_release_folio_batch()
30 __folio_batch_release(fbatch); in check_release_folio_batch()
38 struct folio_batch fbatch; in shmem_sg_free_table() local
44 folio_batch_init(&fbatch); in shmem_sg_free_table()
56 if (!folio_batch_add(&fbatch, folio)) in shmem_sg_free_table()
57 check_release_folio_batch(&fbatch); in shmem_sg_free_table()
59 if (fbatch.nr) in shmem_sg_free_table()
60 check_release_folio_batch(&fbatch); in shmem_sg_free_table()
/linux/drivers/gpu/drm/
H A Ddrm_gem.c633 static void drm_gem_check_release_batch(struct folio_batch *fbatch) in drm_gem_check_release_batch() argument
635 check_move_unevictable_folios(fbatch); in drm_gem_check_release_batch()
636 __folio_batch_release(fbatch); in drm_gem_check_release_batch()
670 struct folio_batch fbatch; in drm_gem_get_pages() local
717 folio_batch_init(&fbatch); in drm_gem_get_pages()
721 if (!folio_batch_add(&fbatch, f)) in drm_gem_get_pages()
722 drm_gem_check_release_batch(&fbatch); in drm_gem_get_pages()
725 if (fbatch.nr) in drm_gem_get_pages()
726 drm_gem_check_release_batch(&fbatch); in drm_gem_get_pages()
745 struct folio_batch fbatch; in drm_gem_put_pages() local
[all …]
/linux/fs/ceph/
H A Daddr.c609 struct folio_batch fbatch; member
1015 folio_batch_init(&ceph_wbc->fbatch); in ceph_folio_batch_init()
1022 folio_batch_release(&ceph_wbc->fbatch); in ceph_folio_batch_reinit()
1297 folio = ceph_wbc->fbatch.folios[i]; in ceph_process_folio_batch()
1325 ceph_wbc->fbatch.folios[i] = NULL; in ceph_process_folio_batch()
1329 ceph_wbc->fbatch.folios[i] = NULL; in ceph_process_folio_batch()
1336 ceph_wbc->fbatch.folios[i] = NULL; in ceph_process_folio_batch()
1374 ceph_wbc->fbatch.folios[i] = NULL; in ceph_process_folio_batch()
1382 void ceph_shift_unused_folios_left(struct folio_batch *fbatch) in ceph_shift_unused_folios_left() argument
1387 for (j = 0; j < folio_batch_count(fbatch); j++) { in ceph_shift_unused_folios_left()
[all …]
/linux/fs/iomap/
H A Diter.c12 folio_batch_release(iter->fbatch); in iomap_iter_reset_iomap()
13 folio_batch_reinit(iter->fbatch); in iomap_iter_reset_iomap()
H A Dbuffered-io.c857 struct folio *folio = folio_batch_next(iter->fbatch); in __iomap_get_folio()
1593 if (!iter->fbatch) { in iomap_fill_dirty_folios()
1598 count = filemap_get_folios_dirty(mapping, &pstart, pend, iter->fbatch); in iomap_fill_dirty_folios()
1610 struct folio_batch fbatch; in iomap_zero_range() local
1617 .fbatch = &fbatch, in iomap_zero_range()
1623 folio_batch_init(&fbatch); in iomap_zero_range()
/linux/drivers/gpu/drm/i915/
H A Di915_gpu_error.c191 static void pool_fini(struct folio_batch *fbatch) in pool_fini() argument
193 folio_batch_release(fbatch); in pool_fini()
196 static int pool_refill(struct folio_batch *fbatch, gfp_t gfp) in pool_refill() argument
198 while (folio_batch_space(fbatch)) { in pool_refill()
205 folio_batch_add(fbatch, folio); in pool_refill()
211 static int pool_init(struct folio_batch *fbatch, gfp_t gfp) in pool_init() argument
215 folio_batch_init(fbatch); in pool_init()
217 err = pool_refill(fbatch, gfp); in pool_init()
219 pool_fini(fbatch); in pool_init()
224 static void *pool_alloc(struct folio_batch *fbatch, gfp_t gfp) in pool_alloc() argument
[all …]
/linux/fs/btrfs/
H A Dextent_io.c272 struct folio_batch fbatch; in __process_folios_contig() local
275 folio_batch_init(&fbatch); in __process_folios_contig()
280 end_index, &fbatch); in __process_folios_contig()
282 struct folio *folio = fbatch.folios[i]; in __process_folios_contig()
287 folio_batch_release(&fbatch); in __process_folios_contig()
311 struct folio_batch fbatch; in lock_delalloc_folios() local
313 folio_batch_init(&fbatch); in lock_delalloc_folios()
318 end_index, &fbatch); in lock_delalloc_folios()
323 struct folio *folio = fbatch.folios[i]; in lock_delalloc_folios()
341 folio_batch_release(&fbatch); in lock_delalloc_folios()
[all …]
H A Dcompression.c256 struct folio_batch fbatch; in end_compressed_writeback() local
264 folio_batch_init(&fbatch); in end_compressed_writeback()
267 &fbatch); in end_compressed_writeback()
273 struct folio *folio = fbatch.folios[i]; in end_compressed_writeback()
278 folio_batch_release(&fbatch); in end_compressed_writeback()
/linux/fs/hugetlbfs/
H A Dinode.c583 struct folio_batch fbatch; in remove_inode_hugepages() local
588 folio_batch_init(&fbatch); in remove_inode_hugepages()
590 while (filemap_get_folios(mapping, &next, end - 1, &fbatch)) { in remove_inode_hugepages()
591 for (i = 0; i < folio_batch_count(&fbatch); ++i) { in remove_inode_hugepages()
592 struct folio *folio = fbatch.folios[i]; in remove_inode_hugepages()
608 folio_batch_release(&fbatch); in remove_inode_hugepages()
/linux/fs/
H A Dbuffer.c1739 struct folio_batch fbatch; in clean_bdev_aliases() local
1747 folio_batch_init(&fbatch); in clean_bdev_aliases()
1748 while (filemap_get_folios(bd_mapping, &index, end, &fbatch)) { in clean_bdev_aliases()
1749 count = folio_batch_count(&fbatch); in clean_bdev_aliases()
1751 struct folio *folio = fbatch.folios[i]; in clean_bdev_aliases()
1780 folio_batch_release(&fbatch); in clean_bdev_aliases()

12