Home
last modified time | relevance | path

Searched refs:folio (Results 1 – 25 of 70) sorted by relevance

123

/include/linux/
A Drmap.h411 VM_WARN_ON_FOLIO(folio_test_hugetlb(folio), folio); in __folio_rmap_sanity_checks()
414 VM_WARN_ON_FOLIO(is_zero_folio(folio), folio); in __folio_rmap_sanity_checks()
426 VM_WARN_ON_FOLIO(page_folio(page) != folio, folio); in __folio_rmap_sanity_checks()
514 VM_WARN_ON_FOLIO(!folio_test_hugetlb(folio), folio); in hugetlb_try_dup_anon_rmap()
515 VM_WARN_ON_FOLIO(!folio_test_anon(folio), folio); in hugetlb_try_dup_anon_rmap()
530 VM_WARN_ON_FOLIO(!folio_test_hugetlb(folio), folio); in hugetlb_try_share_anon_rmap()
531 VM_WARN_ON_FOLIO(!folio_test_anon(folio), folio); in hugetlb_try_share_anon_rmap()
554 VM_WARN_ON_FOLIO(folio_test_anon(folio), folio); in hugetlb_add_file_rmap()
649 VM_WARN_ON_FOLIO(!folio_test_anon(folio), folio); in __folio_try_dup_anon_rmap()
783 VM_WARN_ON_FOLIO(!folio_test_anon(folio), folio); in __folio_try_share_anon_rmap()
[all …]
A Dhugetlb_cgroup.h63 VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio); in __hugetlb_cgroup_from_folio()
76 hugetlb_cgroup_from_folio_rsvd(struct folio *folio) in hugetlb_cgroup_from_folio_rsvd() argument
84 VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio); in __set_hugetlb_cgroup()
133 struct folio *folio);
136 struct folio *folio);
138 struct folio *folio);
140 struct folio *folio);
222 struct folio *folio) in hugetlb_cgroup_commit_charge() argument
229 struct folio *folio) in hugetlb_cgroup_commit_charge_rsvd() argument
234 struct folio *folio) in hugetlb_cgroup_uncharge_folio() argument
[all …]
A Dpagemap.h933 return folio->index + folio_nr_pages(folio); in folio_next_index()
1029 struct folio *folio = page_folio(page); in page_offset() local
1052 struct folio *folio; member
1058 struct folio *folio; member
1066 if (wait_page->folio != key->folio) in wake_page_match()
1076 void __folio_lock(struct folio *folio);
1080 void folio_unlock(struct folio *folio);
1149 struct folio *folio; in lock_page() local
1224 void folio_wait_stable(struct folio *folio);
1396 struct folio *folio; in __readahead_folio() local
[all …]
A Dmm_inline.h28 static inline int folio_is_file_lru(struct folio *folio) in folio_is_file_lru() argument
68 VM_BUG_ON_FOLIO(!folio_test_lru(folio), folio); in __folio_clear_lru_flags()
73 if (folio_test_active(folio) && folio_test_unevictable(folio)) in __folio_clear_lru_flags()
91 VM_BUG_ON_FOLIO(folio_test_active(folio) && folio_test_unevictable(folio), folio); in folio_lru_list()
144 static inline int folio_lru_refs(struct folio *folio) in folio_lru_refs() argument
157 static inline int folio_lru_gen(struct folio *folio) in folio_lru_gen() argument
245 (folio_test_dirty(folio) || folio_test_writeback(folio)))) in lru_gen_folio_seq()
291 VM_WARN_ON_ONCE_FOLIO(folio_test_active(folio), folio); in lru_gen_del_folio()
292 VM_WARN_ON_ONCE_FOLIO(folio_test_unevictable(folio), folio); in lru_gen_del_folio()
340 void lruvec_add_folio(struct lruvec *lruvec, struct folio *folio) in lruvec_add_folio() argument
[all …]
A Dmigrate.h10 typedef struct folio *new_folio_t(struct folio *folio, unsigned long private);
11 typedef void free_folio_t(struct folio *folio, unsigned long private);
73 bool isolate_folio_to_list(struct folio *folio, struct list_head *list);
76 struct folio *dst, struct folio *src);
79 void folio_migrate_flags(struct folio *newfolio, struct folio *folio);
81 struct folio *newfolio, struct folio *folio, int extra_count);
90 static inline struct folio *alloc_migration_target(struct folio *src, in alloc_migration_target()
99 struct folio *dst, struct folio *src) in migrate_huge_page_move_mapping()
107 int migrate_misplaced_folio_prepare(struct folio *folio,
109 int migrate_misplaced_folio(struct folio *folio, int node);
[all …]
A Dpage_ref.h87 static inline int folio_ref_count(const struct folio *folio) in folio_ref_count() argument
104 static inline void folio_set_count(struct folio *folio, int v) in folio_set_count() argument
125 static inline void folio_ref_add(struct folio *folio, int nr) in folio_ref_add() argument
137 static inline void folio_ref_sub(struct folio *folio, int nr) in folio_ref_sub() argument
142 static inline int folio_ref_sub_return(struct folio *folio, int nr) in folio_ref_sub_return() argument
158 static inline void folio_ref_inc(struct folio *folio) in folio_ref_inc() argument
170 static inline void folio_ref_dec(struct folio *folio) in folio_ref_dec() argument
198 static inline int folio_ref_inc_return(struct folio *folio) in folio_ref_inc_return() argument
212 static inline int folio_ref_dec_and_test(struct folio *folio) in folio_ref_dec_and_test() argument
226 static inline int folio_ref_dec_return(struct folio *folio) in folio_ref_dec_return() argument
[all …]
A Dpage_idle.h14 static inline bool folio_test_young(const struct folio *folio) in folio_test_young() argument
16 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_test_young()
28 static inline void folio_set_young(struct folio *folio) in folio_set_young() argument
30 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_set_young()
39 static inline bool folio_test_clear_young(struct folio *folio) in folio_test_clear_young() argument
41 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_test_clear_young()
53 static inline bool folio_test_idle(const struct folio *folio) in folio_test_idle() argument
55 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_test_idle()
67 static inline void folio_set_idle(struct folio *folio) in folio_set_idle() argument
69 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_set_idle()
[all …]
A Dzswap.h28 bool zswap_store(struct folio *folio);
29 int zswap_load(struct folio *folio);
35 void zswap_folio_swapin(struct folio *folio);
42 static inline bool zswap_store(struct folio *folio) in zswap_store() argument
47 static inline int zswap_load(struct folio *folio) in zswap_load() argument
60 static inline void zswap_folio_swapin(struct folio *folio) {} in zswap_folio_swapin() argument
A Dswap.h356 struct folio *folio = page_folio(page); in page_swap_entry() local
369 void workingset_activation(struct folio *folio);
405 void folio_deactivate(struct folio *folio);
406 void folio_mark_lazyfree(struct folio *folio);
473 void free_swap_cache(struct folio *folio);
474 void free_folio_and_swap_cache(struct folio *folio);
494 bool folio_free_swap(struct folio *folio);
515 sector_t swap_folio_sector(struct folio *folio);
553 static inline void free_swap_cache(struct folio *folio) in free_swap_cache() argument
604 static inline bool folio_free_swap(struct folio *folio) in folio_free_swap() argument
[all …]
A Dksm.h88 struct folio *ksm_might_need_to_copy(struct folio *folio,
91 void rmap_walk_ksm(struct folio *folio, struct rmap_walk_control *rwc);
92 void folio_migrate_ksm(struct folio *newfolio, struct folio *folio);
93 void collect_procs_ksm(const struct folio *folio, const struct page *page,
128 static inline void collect_procs_ksm(const struct folio *folio, in collect_procs_ksm() argument
141 static inline struct folio *ksm_might_need_to_copy(struct folio *folio, in ksm_might_need_to_copy() argument
144 return folio; in ksm_might_need_to_copy()
147 static inline void rmap_walk_ksm(struct folio *folio, in rmap_walk_ksm() argument
152 static inline void folio_migrate_ksm(struct folio *newfolio, struct folio *old) in folio_migrate_ksm()
A Dvmstat.h411 static inline void __zone_stat_mod_folio(struct folio *folio, in __zone_stat_mod_folio() argument
429 static inline void zone_stat_mod_folio(struct folio *folio, in zone_stat_mod_folio() argument
435 static inline void zone_stat_add_folio(struct folio *folio, in zone_stat_add_folio() argument
441 static inline void zone_stat_sub_folio(struct folio *folio, in zone_stat_sub_folio() argument
465 static inline void node_stat_mod_folio(struct folio *folio, in node_stat_mod_folio() argument
471 static inline void node_stat_add_folio(struct folio *folio, in node_stat_add_folio() argument
477 static inline void node_stat_sub_folio(struct folio *folio, in node_stat_sub_folio() argument
536 void __lruvec_stat_mod_folio(struct folio *folio,
592 __lruvec_stat_mod_folio(folio, idx, folio_nr_pages(folio)); in __lruvec_stat_add_folio()
604 lruvec_stat_mod_folio(folio, idx, folio_nr_pages(folio)); in lruvec_stat_add_folio()
[all …]
A Dpage_owner.h16 extern void __folio_copy_owner(struct folio *newfolio, struct folio *old);
17 extern void __folio_set_owner_migrate_reason(struct folio *folio, int reason);
41 static inline void folio_copy_owner(struct folio *newfolio, struct folio *old) in folio_copy_owner()
46 static inline void folio_set_owner_migrate_reason(struct folio *folio, int reason) in folio_set_owner_migrate_reason() argument
49 __folio_set_owner_migrate_reason(folio, reason); in folio_set_owner_migrate_reason()
68 static inline void folio_copy_owner(struct folio *newfolio, struct folio *folio) in folio_copy_owner() argument
71 static inline void folio_set_owner_migrate_reason(struct folio *folio, int reason) in folio_set_owner_migrate_reason() argument
A Dmemcontrol.h363 static inline bool folio_memcg_kmem(struct folio *folio);
391 VM_BUG_ON_FOLIO(folio_test_slab(folio), folio); in __folio_memcg()
412 VM_BUG_ON_FOLIO(folio_test_slab(folio), folio); in __folio_objcg()
451 static inline bool folio_memcg_charged(struct folio *folio) in folio_memcg_charged() argument
526 static inline bool folio_memcg_kmem(struct folio *folio) in folio_memcg_kmem() argument
528 VM_BUG_ON_PGFLAGS(PageTail(&folio->page), &folio->page); in folio_memcg_kmem()
662 void __mem_cgroup_uncharge(struct folio *folio);
746 struct lruvec *folio_lruvec_lock(struct folio *folio);
747 struct lruvec *folio_lruvec_lock_irq(struct folio *folio);
1081 static inline bool folio_memcg_kmem(struct folio *folio) in folio_memcg_kmem() argument
[all …]
A Dpage-flags.h319 #define folio_page(folio, n) nth_page(&(folio)->page, n) argument
356 static unsigned long *folio_flags(struct folio *folio, unsigned n) in folio_flags() argument
502 static inline void folio_set_##name(struct folio *folio) { }
504 static inline void folio_clear_##name(struct folio *folio) { }
506 static inline void __folio_set_##name(struct folio *folio) { }
508 static inline void __folio_clear_##name(struct folio *folio) { }
510 static inline bool folio_test_set_##name(struct folio *folio) \
862 static inline bool folio_test_large(const struct folio *folio) in __SETPAGEFLAG()
973 VM_BUG_ON_FOLIO(!folio_test_##fname(folio), folio); \
1100 const struct folio *folio; in is_page_hwpoison() local
[all …]
A Dhighmem.h132 static inline void *kmap_local_folio(struct folio *folio, size_t offset);
227 struct folio *folio; in vma_alloc_zeroed_movable_folio() local
233 return folio; in vma_alloc_zeroed_movable_folio()
476 static inline void memcpy_from_folio(char *to, struct folio *folio, in memcpy_from_folio() argument
504 static inline void memcpy_to_folio(struct folio *folio, size_t offset, in memcpy_to_folio() argument
541 static inline __must_check void *folio_zero_tail(struct folio *folio, in folio_zero_tail() argument
577 static inline void folio_fill_tail(struct folio *folio, size_t offset, in folio_fill_tail() argument
641 static inline void folio_zero_segments(struct folio *folio, in folio_zero_segments() argument
653 static inline void folio_zero_segment(struct folio *folio, in folio_zero_segment() argument
665 static inline void folio_zero_range(struct folio *folio, in folio_zero_range() argument
[all …]
A Dhuge_mm.h44 vm_fault_t vmf_insert_folio_pmd(struct vm_fault *vmf, struct folio *folio,
46 vm_fault_t vmf_insert_folio_pud(struct vm_fault *vmf, struct folio *folio,
348 int min_order_for_split(struct folio *folio);
382 struct folio *folio = page_folio(page); in split_huge_page() local
470 static inline bool folio_test_pmd_mappable(struct folio *folio) in folio_test_pmd_mappable() argument
480 static inline bool is_huge_zero_folio(const struct folio *folio) in is_huge_zero_folio() argument
506 pmd_t *pmdp, struct folio *folio);
510 static inline bool folio_test_pmd_mappable(struct folio *folio) in folio_test_pmd_mappable() argument
588 struct folio *folio) in unmap_huge_pmd_locked() argument
635 static inline bool is_huge_zero_folio(const struct folio *folio) in is_huge_zero_folio() argument
[all …]
A Dhugetlb.h24 void free_huge_folio(struct folio *folio);
161 void folio_putback_hugetlb(struct folio *folio);
300 struct folio *folio) in hugetlb_folio_mapping_lock_write() argument
447 unsigned long end, struct folio *folio, in __unmap_hugepage_range() argument
610 void folio_set_hugetlb_##flname(struct folio *folio) \
624 folio_test_hugetlb_##flname(struct folio *folio) \
629 folio_set_hugetlb_##flname(struct folio *folio) \
634 folio_clear_hugetlb_##flname(struct folio *folio) \
710 unsigned long address, struct folio *folio);
849 VM_BUG_ON_FOLIO(!folio_test_hugetlb(folio), folio); in folio_hstate()
[all …]
A Dmm.h976 struct folio *folio = (struct folio *)page; in compound_order() local
1185 void __folio_put(struct folio *folio);
1327 struct folio *folio = page_folio(page); in get_page() local
1424 struct folio *folio = page_folio(page); in put_page() local
1465 void unpin_folio(struct folio *folio);
1899 struct folio *folio) in folio_needs_cow_for_dma() argument
2016 struct folio *folio = (struct folio *)page; in compound_nr() local
2037 static inline struct folio *folio_next(struct folio *folio) in folio_next() argument
2039 return (struct folio *)folio_page(folio, folio_nr_pages(folio)); in folio_next()
2415 struct folio *folio);
[all …]
A Dcacheflush.h7 struct folio;
11 void flush_dcache_folio(struct folio *folio);
14 static inline void flush_dcache_folio(struct folio *folio) in flush_dcache_folio() argument
A Dwriteback.h204 void __inode_attach_wb(struct inode *inode, struct folio *folio);
206 void wbc_account_cgroup_owner(struct writeback_control *wbc, struct folio *folio,
222 static inline void inode_attach_wb(struct inode *inode, struct folio *folio) in inode_attach_wb() argument
225 __inode_attach_wb(inode, folio); in inode_attach_wb()
270 static inline void inode_attach_wb(struct inode *inode, struct folio *folio) in inode_attach_wb() argument
292 struct folio *folio, size_t bytes) in wbc_account_cgroup_owner() argument
360 struct folio *writeback_iter(struct address_space *mapping,
361 struct writeback_control *wbc, struct folio *folio, int *error);
363 typedef int (*writepage_t)(struct folio *folio, struct writeback_control *wbc,
374 bool filemap_dirty_folio(struct address_space *mapping, struct folio *folio);
[all …]
A Dbuffer_head.h186 #define folio_buffers(folio) folio_get_private(folio) argument
188 void buffer_check_dirty_writeback(struct folio *folio,
198 void folio_set_bh(struct buffer_head *bh, struct folio *folio,
203 struct buffer_head *create_empty_buffers(struct folio *folio,
257 int __block_write_full_folio(struct inode *inode, struct folio *folio,
263 int __block_write_begin(struct folio *folio, loff_t pos, unsigned len,
269 void folio_zero_new_buffers(struct folio *folio, size_t from, size_t to);
274 void block_commit_write(struct folio *folio, size_t from, size_t to);
282 struct folio *dst, struct folio *src, enum migrate_mode);
284 struct folio *dst, struct folio *src, enum migrate_mode);
[all …]
A Dnfs_page.h47 struct folio *wb_folio;
133 struct folio *folio,
192 struct folio *folio = nfs_page_to_folio(req); in nfs_page_to_page() local
194 if (folio == NULL) in nfs_page_to_page()
196 return folio_page(folio, pgbase >> PAGE_SHIFT); in nfs_page_to_page()
205 struct folio *folio = nfs_page_to_folio(req); in nfs_page_to_inode() local
207 if (folio == NULL) in nfs_page_to_inode()
209 return folio->mapping->host; in nfs_page_to_inode()
220 struct folio *folio = nfs_page_to_folio(req); in nfs_page_max_length() local
222 if (folio == NULL) in nfs_page_max_length()
[all …]
A Dpagevec.h17 struct folio;
32 struct folio *folios[PAGEVEC_SIZE];
75 struct folio *folio) in folio_batch_add() argument
77 fbatch->folios[fbatch->nr++] = folio; in folio_batch_add()
89 static inline struct folio *folio_batch_next(struct folio_batch *fbatch) in folio_batch_next()
/include/trace/events/
A Dpagemap.h30 TP_PROTO(struct folio *folio),
32 TP_ARGS(folio),
35 __field(struct folio *, folio )
42 __entry->folio = folio;
43 __entry->pfn = folio_pfn(folio);
50 __entry->folio,
63 TP_PROTO(struct folio *folio),
65 TP_ARGS(folio),
68 __field(struct folio *, folio )
73 __entry->folio = folio;
[all …]
A Dfilemap.h18 TP_PROTO(struct folio *folio),
20 TP_ARGS(folio),
31 __entry->pfn = folio_pfn(folio);
32 __entry->i_ino = folio->mapping->host->i_ino;
33 __entry->index = folio->index;
34 if (folio->mapping->host->i_sb)
38 __entry->order = folio_order(folio);
50 TP_PROTO(struct folio *folio),
51 TP_ARGS(folio)
55 TP_PROTO(struct folio *folio),
[all …]

Completed in 67 milliseconds

123