Home
last modified time | relevance | path

Searched refs:page_ext (Results 1 – 13 of 13) sorted by relevance

/linux-6.12.1/include/linux/
Dpage_idle.h16 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_test_young() local
19 if (unlikely(!page_ext)) in folio_test_young()
22 page_young = test_bit(PAGE_EXT_YOUNG, &page_ext->flags); in folio_test_young()
23 page_ext_put(page_ext); in folio_test_young()
30 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_set_young() local
32 if (unlikely(!page_ext)) in folio_set_young()
35 set_bit(PAGE_EXT_YOUNG, &page_ext->flags); in folio_set_young()
36 page_ext_put(page_ext); in folio_set_young()
41 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_test_clear_young() local
44 if (unlikely(!page_ext)) in folio_test_clear_young()
[all …]
Dpage_ext.h51 struct page_ext { struct
80 extern struct page_ext *page_ext_get(const struct page *page);
81 extern void page_ext_put(struct page_ext *page_ext);
83 static inline void *page_ext_data(struct page_ext *page_ext, in page_ext_data() argument
86 return (void *)(page_ext) + ops->offset; in page_ext_data()
89 static inline struct page_ext *page_ext_next(struct page_ext *curr) in page_ext_next()
97 struct page_ext;
120 static inline struct page_ext *page_ext_get(const struct page *page) in page_ext_get()
125 static inline void page_ext_put(struct page_ext *page_ext) in page_ext_put() argument
Dpgalloc_tag.h16 static inline union codetag_ref *codetag_ref_from_page_ext(struct page_ext *page_ext) in codetag_ref_from_page_ext() argument
18 return (union codetag_ref *)page_ext_data(page_ext, &page_alloc_tagging_ops); in codetag_ref_from_page_ext()
21 static inline struct page_ext *page_ext_from_codetag_ref(union codetag_ref *ref) in page_ext_from_codetag_ref()
30 struct page_ext *page_ext = page_ext_get(page); in get_page_tag_ref() local
32 if (page_ext) in get_page_tag_ref()
33 return codetag_ref_from_page_ext(page_ext); in get_page_tag_ref()
Dmmzone.h1317 struct page_ext *node_page_ext;
1821 struct page_ext;
1843 struct page_ext *page_ext; member
/linux-6.12.1/mm/
Dpage_owner.c141 static inline struct page_owner *get_page_owner(struct page_ext *page_ext) in get_page_owner() argument
143 return page_ext_data(page_ext, &page_owner_ops); in get_page_owner()
232 static inline void __update_page_owner_handle(struct page_ext *page_ext, in __update_page_owner_handle() argument
243 page_owner = get_page_owner(page_ext); in __update_page_owner_handle()
253 __set_bit(PAGE_EXT_OWNER, &page_ext->flags); in __update_page_owner_handle()
254 __set_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags); in __update_page_owner_handle()
255 page_ext = page_ext_next(page_ext); in __update_page_owner_handle()
259 static inline void __update_page_owner_free_handle(struct page_ext *page_ext, in __update_page_owner_free_handle() argument
269 page_owner = get_page_owner(page_ext); in __update_page_owner_free_handle()
272 __clear_bit(PAGE_EXT_OWNER_ALLOCATED, &page_ext->flags); in __update_page_owner_free_handle()
[all …]
Dpage_table_check.c53 static struct page_table_check *get_page_table_check(struct page_ext *page_ext) in get_page_table_check() argument
55 BUG_ON(!page_ext); in get_page_table_check()
56 return page_ext_data(page_ext, &page_table_check_ops); in get_page_table_check()
65 struct page_ext *page_ext; in page_table_check_clear() local
74 page_ext = page_ext_get(page); in page_table_check_clear()
76 if (!page_ext) in page_table_check_clear()
83 struct page_table_check *ptc = get_page_table_check(page_ext); in page_table_check_clear()
92 page_ext = page_ext_next(page_ext); in page_table_check_clear()
94 page_ext_put(page_ext); in page_table_check_clear()
105 struct page_ext *page_ext; in page_table_check_set() local
[all …]
Dpage_ext.c124 page_ext_size = sizeof(struct page_ext); in invoke_need_callbacks()
152 static inline struct page_ext *get_entry(void *base, unsigned long index) in get_entry()
168 static struct page_ext *lookup_page_ext(const struct page *page) in lookup_page_ext()
172 struct page_ext *base; in lookup_page_ext()
191 struct page_ext *base; in alloc_node_page_ext()
243 static bool page_ext_invalid(struct page_ext *page_ext) in page_ext_invalid() argument
245 return !page_ext || (((unsigned long)page_ext & PAGE_EXT_INVALID) == PAGE_EXT_INVALID); in page_ext_invalid()
248 static struct page_ext *lookup_page_ext(const struct page *page) in lookup_page_ext()
252 struct page_ext *page_ext = READ_ONCE(section->page_ext); in lookup_page_ext() local
261 if (page_ext_invalid(page_ext)) in lookup_page_ext()
[all …]
DMakefile124 obj-$(CONFIG_PAGE_EXTENSION) += page_ext.o
/linux-6.12.1/scripts/gdb/linux/
Dpage_owner.py69 def page_ext_invalid(self, page_ext): argument
70 if page_ext == gdb.Value(0):
72 if page_ext.cast(utils.get_ulong_type()) & PAGE_EXT_INVALID == PAGE_EXT_INVALID:
82 page_ext = section["page_ext"]
83 if self.page_ext_invalid(page_ext):
85 return self.get_entry(page_ext, pfn)
88 page_ext = self.lookup_page_ext(page)
89 if page_ext != gdb.Value(0):
90 return page_ext
94 def get_page_owner(self, page_ext): argument
[all …]
Dconstants.py.in21 #include <linux/page_ext.h>
103 /* linux/page_ext.h */
/linux-6.12.1/Documentation/mm/
Dallocation-profiling.rst47 122M 31168 mm/page_ext.c:270 func:alloc_page_ext
/linux-6.12.1/Documentation/filesystems/
Dproc.rst982 127664128 31168 mm/page_ext.c:270 func:alloc_page_ext
/linux-6.12.1/Documentation/admin-guide/
Dkernel-parameters.txt1538 early_page_ext [KNL,EARLY] Enforces page_ext initialization to earlier