/linux/Documentation/admin-guide/ |
H A D | kernel-parameters.txt | 1538 early_page_ext [KNL,EARLY] Enforces page_ext initialization to earlier
|
/linux/include/linux/ |
H A D | mmzone.h | 1297 struct page_ext *node_page_ext; 1801 struct page_ext; 1823 struct page_ext *page_ext; member
|
H A D | page_ext.h | 12 * struct page_ext_operations - per page_ext client operations 13 * @offset: Offset to the client's data within page_ext. Offset is returned to 15 * @size: The size of the client data within page_ext. 16 * @need: Function that returns true if client requires page_ext. 18 * @need_shared_flags: True when client is using shared page_ext->flags 46 * A page_ext page is associated with every page descriptor. The 47 * page_ext helps us add more information about the page. 48 * All page_ext are allocated at boot or memory hotplug event, 49 * then the page_ext for pfn always exists. 51 struct page_ext { 52 struct page_ext { global() struct 56 flagspage_ext global() argument 84 page_ext_data(struct page_ext * page_ext,struct page_ext_operations * ops) page_ext_data() argument 126 page_ext_put(struct page_ext * page_ext) page_ext_put() argument [all...] |
H A D | page_idle.h | 7 #include <linux/page_ext.h> 16 struct page_ext *page_ext = page_ext_get(&folio->page); in folio_test_young() 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() 32 if (unlikely(!page_ext)) in folio_set_young() local 35 set_bit(PAGE_EXT_YOUNG, &page_ext in folio_set_young() 18 struct page_ext *page_ext = page_ext_get(&folio->page); folio_test_young() local 43 struct page_ext *page_ext = page_ext_get(&folio->page); folio_test_clear_young() local 57 struct page_ext *page_ext = page_ext_get(&folio->page); folio_test_idle() local 71 struct page_ext *page_ext = page_ext_get(&folio->page); folio_set_idle() local 82 struct page_ext *page_ext = page_ext_get(&folio->page); folio_clear_idle() local [all...] |
/linux/mm/ |
H A D | Makefile | 119 obj-$(CONFIG_PAGE_EXTENSION) += page_ext.o
|
H A D | page_ext.c | 5 #include <linux/page_ext.h> 49 * When need callback returns true, page_ext checks if there is a request for 51 * extra space is allocated for each page_ext entry and offset is returned to 100 * To ensure correct allocation tagging for pages, page_ext should be available 102 * allocated before page_ext initialization and missing tags will be flagged. in invoke_need_callbacks() 124 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 pgdat_page_ext_init() 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() 178 * page can reach here before the page_ext array in alloc_node_page_ext() 229 page_ext_invalid(struct page_ext * page_ext) page_ext_invalid() argument 238 struct page_ext *page_ext = READ_ONCE(section->page_ext); lookup_page_ext() local 506 struct page_ext *page_ext; page_ext_get() local 528 page_ext_put(struct page_ext * page_ext) page_ext_put() argument [all...] |
H A D | page_owner.c | 141 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 dec_stack_record_count() 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() 237 __update_page_owner_handle(struct page_ext * page_ext,depot_stack_handle_t handle,unsigned short order,gfp_t gfp_mask,short last_migrate_reason,u64 ts_nsec,pid_t pid,pid_t tgid,char * comm) __update_page_owner_handle() argument 264 __update_page_owner_free_handle(struct page_ext * page_ext,depot_stack_handle_t handle,unsigned short order,pid_t pid,pid_t tgid,u64 free_ts_nsec) __update_page_owner_free_handle() argument 289 struct page_ext *page_ext; __reset_page_owner() local 321 struct page_ext *page_ext; __set_page_owner() local 339 struct page_ext *page_ext = page_ext_get(page); __set_page_owner_migrate_reason() local 353 struct page_ext *page_ext = page_ext_get(page); __split_page_owner() local 422 struct page_ext *page_ext; pagetypeinfo_showmixedcount_print() local 600 struct page_ext *page_ext = page_ext_get((void *)page); __dump_page_owner() local 657 struct page_ext *page_ext; read_page_owner() local 789 struct page_ext *page_ext; init_pages_in_zone() local [all...] |
H A D | page_table_check.c | 53 static struct page_table_check *get_page_table_check(struct page_ext *page_ext) in get_page_table_check() 55 BUG_ON(!page_ext); in get_page_table_check() 56 return page_ext_data(page_ext, &page_table_check_ops); 65 struct page_ext *page_ext; in page_table_check_clear() 74 page_ext = page_ext_get(page); in page_table_check_clear() 80 struct page_table_check *ptc = get_page_table_check(page_ext); in page_table_check_clear() 89 page_ext = page_ext_next(page_ext); in page_table_check_clear() 51 get_page_table_check(struct page_ext * page_ext) get_page_table_check() argument 63 struct page_ext *page_ext; page_table_check_clear() local 100 struct page_ext *page_ext; page_table_check_set() local 135 struct page_ext *page_ext; __page_table_check_zero() local [all...] |
/linux/scripts/gdb/linux/ |
H A D | constants.py.in | 21 #include <linux/page_ext.h> 103 /* linux/page_ext.h */
|
H A D | page_owner.py | 69 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 …]
|