/linux-6.8/include/linux/ |
D | balloon_compaction.h | 7 * Balloon page migration makes use of the general non-lru movable page 10 * page->private is used to reference the responsible balloon device. 11 * page->mapping is used in context of non-lru page migration to reference 12 * the address space operations for page isolation/migration/compaction. 14 * As the page isolation scanning step a compaction thread does is a lockless 15 * procedure (from a page standpoint), it might bring some racy situations while 16 * performing balloon page compaction. In order to sort out these racy scenarios 17 * and safely perform balloon's page compaction and migration we must, always, 20 * i. when updating a balloon's page ->mapping element, strictly do it under 23 * +-page_lock(page); [all …]
|
D | page-flags.h | 3 * Macros for manipulating and testing page->flags 18 * Various page->flags bits: 20 * PG_reserved is set for special pages. The "struct page" of such a page 25 * - Pages reserved or allocated early during boot (before the page allocator 27 * initial vmemmap, initial page tables, crashkernel, elfcorehdr, and much 29 * be given to the page allocator. 32 * - The zero page(s) 33 * - Pages not added to the page allocator when onlining a section because 49 * Consequently, PG_reserved for a page mapped into user space can indicate 50 * the zero page, the vDSO, MMIO pages or device memory. [all …]
|
D | page_ref.h | 7 #include <linux/page-flags.h> 29 extern void __page_ref_set(struct page *page, int v); 30 extern void __page_ref_mod(struct page *page, int v); 31 extern void __page_ref_mod_and_test(struct page *page, int v, int ret); 32 extern void __page_ref_mod_and_return(struct page *page, int v, int ret); 33 extern void __page_ref_mod_unless(struct page *page, int v, int u); 34 extern void __page_ref_freeze(struct page *page, int v, int ret); 35 extern void __page_ref_unfreeze(struct page *page, int v); 41 static inline void __page_ref_set(struct page *page, int v) in __page_ref_set() argument 44 static inline void __page_ref_mod(struct page *page, int v) in __page_ref_mod() argument [all …]
|
D | highmem-internal.h | 10 void *__kmap_local_page_prot(struct page *page, pgprot_t prot); 35 void *kmap_high(struct page *page); 36 void kunmap_high(struct page *page); 38 struct page *__kmap_to_page(void *addr); 40 static inline void *kmap(struct page *page) in kmap() argument 45 if (!PageHighMem(page)) in kmap() 46 addr = page_address(page); in kmap() 48 addr = kmap_high(page); in kmap() 53 static inline void kunmap(struct page *page) in kunmap() argument 56 if (!PageHighMem(page)) in kunmap() [all …]
|
D | page_owner.h | 11 extern void __reset_page_owner(struct page *page, unsigned short order); 12 extern void __set_page_owner(struct page *page, 14 extern void __split_page_owner(struct page *page, unsigned int nr); 16 extern void __set_page_owner_migrate_reason(struct page *page, int reason); 17 extern void __dump_page_owner(const struct page *page); 21 static inline void reset_page_owner(struct page *page, unsigned short order) in reset_page_owner() argument 24 __reset_page_owner(page, order); in reset_page_owner() 27 static inline void set_page_owner(struct page *page, in set_page_owner() argument 31 __set_page_owner(page, order, gfp_mask); in set_page_owner() 34 static inline void split_page_owner(struct page *page, unsigned int nr) in split_page_owner() argument [all …]
|
/linux-6.8/include/net/page_pool/ |
D | helpers.h | 11 * The page_pool allocator is optimized for recycling page or page fragment used 15 * which allocate memory with or without page splitting depending on the 19 * always smaller than half a page, it can use one of the more specific API 22 * 1. page_pool_alloc_pages(): allocate memory without page splitting when 23 * driver knows that the memory it need is always bigger than half of the page 24 * allocated from page pool. There is no cache line dirtying for 'struct page' 25 * when a page is recycled back to the page pool. 27 * 2. page_pool_alloc_frag(): allocate memory with page splitting when driver 29 * page allocated from page pool. Page splitting enables memory saving and thus 31 * implement page splitting, mainly some cache line dirtying/bouncing for [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/snowridgex/ |
D | virtual-memory.json | 3 …"BriefDescription": "Counts the number of page walks due to loads that miss the PDE (Page Director… 10 … second level hits due to a demand load that did not start a page walk. Account for all page sizes… 17 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to any page… 20 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 25 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 1G pag… 28 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 33 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 2M or … 36 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 41 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 4K pag… 44 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/elkhartlake/ |
D | virtual-memory.json | 3 …"BriefDescription": "Counts the number of page walks due to loads that miss the PDE (Page Director… 10 … second level hits due to a demand load that did not start a page walk. Account for all page sizes… 17 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to any page… 20 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 25 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 1G pag… 28 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 33 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 2M or … 36 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 41 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 4K pag… 44 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… [all …]
|
/linux-6.8/mm/ |
D | folio-compat.c | 13 struct address_space *page_mapping(struct page *page) in page_mapping() argument 15 return folio_mapping(page_folio(page)); in page_mapping() 19 void unlock_page(struct page *page) in unlock_page() argument 21 return folio_unlock(page_folio(page)); in unlock_page() 25 void end_page_writeback(struct page *page) in end_page_writeback() argument 27 return folio_end_writeback(page_folio(page)); in end_page_writeback() 31 void wait_on_page_writeback(struct page *page) in wait_on_page_writeback() argument 33 return folio_wait_writeback(page_folio(page)); in wait_on_page_writeback() 37 void wait_for_stable_page(struct page *page) in wait_for_stable_page() argument 39 return folio_wait_stable(page_folio(page)); in wait_for_stable_page() [all …]
|
D | balloon_compaction.c | 15 struct page *page) in balloon_page_enqueue_one() argument 18 * Block others from accessing the 'page' when we get around to in balloon_page_enqueue_one() 20 * holding a reference to the 'page' at this point. If we are not, then in balloon_page_enqueue_one() 23 BUG_ON(!trylock_page(page)); in balloon_page_enqueue_one() 24 balloon_page_insert(b_dev_info, page); in balloon_page_enqueue_one() 25 unlock_page(page); in balloon_page_enqueue_one() 30 * balloon_page_list_enqueue() - inserts a list of pages into the balloon page 32 * @b_dev_info: balloon device descriptor where we will insert a new page to 43 struct page *page, *tmp; in balloon_page_list_enqueue() local 48 list_for_each_entry_safe(page, tmp, pages, lru) { in balloon_page_list_enqueue() [all …]
|
D | page_isolation.c | 7 #include <linux/page-isolation.h> 28 * Returns a page without holding a reference. If the caller wants to 29 * dereference that page (e.g., dumping), it has to make sure that it 33 static struct page *has_unmovable_pages(unsigned long start_pfn, unsigned long end_pfn, in has_unmovable_pages() 36 struct page *page = pfn_to_page(start_pfn); in has_unmovable_pages() local 37 struct zone *zone = page_zone(page); in has_unmovable_pages() 43 if (is_migrate_cma_page(page)) { in has_unmovable_pages() 52 return page; in has_unmovable_pages() 56 page = pfn_to_page(pfn); in has_unmovable_pages() 64 if (PageReserved(page)) in has_unmovable_pages() [all …]
|
/linux-6.8/fs/jfs/ |
D | jfs_metapage.c | 26 uint pagealloc; /* # of page allocations */ 27 uint pagefree; /* # of page frees */ 49 unlock_page(mp->page); in __lock_metapage() 51 lock_page(mp->page); in __lock_metapage() 59 * Must have mp->page locked 80 #define mp_anchor(page) ((struct meta_anchor *)page_private(page)) argument 82 static inline struct metapage *page_to_mp(struct page *page, int offset) in page_to_mp() argument 84 if (!PagePrivate(page)) in page_to_mp() 86 return mp_anchor(page)->mp[offset >> L2PSIZE]; in page_to_mp() 89 static inline int insert_metapage(struct page *page, struct metapage *mp) in insert_metapage() argument [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/alderlake/ |
D | virtual-memory.json | 12 … "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a demand load.", 16 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 22 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to any page… 25 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… 31 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 34 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 40 "BriefDescription": "Page walks completed due to a demand data load to a 1G page.", 43 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 49 "BriefDescription": "Page walks completed due to a demand data load to a 2M/4M page.", 52 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… [all …]
|
/linux-6.8/net/core/ |
D | page_pool.c | 18 #include <linux/page-flags.h> 64 * page_pool_get_stats() - fetch page pool stats 65 * @pool: pool from which page was allocated 193 * DMA_BIDIRECTIONAL is for allowing page used for DMA sending, in page_pool_init() 203 /* In order to request DMA-sync-for-device the page in page_pool_init() 256 * page_pool_create() - create a page pool. 287 static void page_pool_return_page(struct page_pool *pool, struct page *page); 290 static struct page *page_pool_refill_alloc_cache(struct page_pool *pool) in page_pool_refill_alloc_cache() 293 struct page *page; in page_pool_refill_alloc_cache() local 314 page = __ptr_ring_consume(r); in page_pool_refill_alloc_cache() [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/meteorlake/ |
D | virtual-memory.json | 3 …second level hits due to a demand load that did not start a page walk. Accounts for all page sizes… 20 … "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a demand load.", 24 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 30 "BriefDescription": "Counts the number of page walks completed due to load DTLB misses.", 38 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 41 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 47 "BriefDescription": "Page walks completed due to a demand data load to a 1G page.", 50 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 56 …"BriefDescription": "Counts the number of page walks completed due to load DTLB misses to a 2M or … 59 …page walks completed due to loads (including SW prefetches) whose address translations missed in a… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/cascadelakex/ |
D | virtual-memory.json | 3 "BriefDescription": "Load misses in all DTLB levels that cause page walks", 6 …"PublicDescription": "Counts demand data loads that caused a page walk of any page size (4K/2M/4M/… 19 …efDescription": "Cycles when at least one PMH is busy with a page walk for a load. EPT page walk d… 23 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 28 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 31 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 36 "BriefDescription": "Page walk completed due to a demand data load to a 1G page", 39 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 44 "BriefDescription": "Page walk completed due to a demand data load to a 2M/4M page", 47 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/skylakex/ |
D | virtual-memory.json | 3 "BriefDescription": "Load misses in all DTLB levels that cause page walks", 6 …"PublicDescription": "Counts demand data loads that caused a page walk of any page size (4K/2M/4M/… 19 …efDescription": "Cycles when at least one PMH is busy with a page walk for a load. EPT page walk d… 23 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 28 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 31 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 36 "BriefDescription": "Page walk completed due to a demand data load to a 1G page", 39 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 44 "BriefDescription": "Page walk completed due to a demand data load to a 2M/4M page", 47 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/skylake/ |
D | virtual-memory.json | 3 "BriefDescription": "Load misses in all DTLB levels that cause page walks", 6 …"PublicDescription": "Counts demand data loads that caused a page walk of any page size (4K/2M/4M/… 19 …efDescription": "Cycles when at least one PMH is busy with a page walk for a load. EPT page walk d… 23 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 28 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 31 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 36 "BriefDescription": "Page walk completed due to a demand data load to a 1G page", 39 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 44 "BriefDescription": "Page walk completed due to a demand data load to a 2M/4M page", 47 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… [all …]
|
/linux-6.8/sound/pci/trident/ |
D | trident_memory.c | 7 * Trident 4DWave-NX memory page allocation (TLB area) 19 /* page arguments of these two macros are Trident page (4096 bytes), not like 22 #define __set_tlb_bus(trident,page,addr) \ argument 23 (trident)->tlb.entries[page] = cpu_to_le32((addr) & ~(SNDRV_TRIDENT_PAGE_SIZE-1)) 24 #define __tlb_to_addr(trident,page) \ argument 25 (dma_addr_t)le32_to_cpu((trident->tlb.entries[page]) & ~(SNDRV_TRIDENT_PAGE_SIZE - 1)) 28 /* page size == SNDRV_TRIDENT_PAGE_SIZE */ 29 #define ALIGN_PAGE_SIZE PAGE_SIZE /* minimum page size for allocation */ 31 /* fill TLB entrie(s) corresponding to page with ptr */ 32 #define set_tlb_bus(trident,page,addr) __set_tlb_bus(trident,page,addr) argument [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/sapphirerapids/ |
D | virtual-memory.json | 11 … "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a demand load.", 15 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 20 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 23 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 28 "BriefDescription": "Page walks completed due to a demand data load to a 1G page.", 31 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 36 "BriefDescription": "Page walks completed due to a demand data load to a 2M/4M page.", 39 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… 44 "BriefDescription": "Page walks completed due to a demand data load to a 4K page.", 47 …leted page walks (4K sizes) caused by demand data loads. This implies address translations missed… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/emeraldrapids/ |
D | virtual-memory.json | 11 … "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a demand load.", 15 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 20 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 23 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 28 "BriefDescription": "Page walks completed due to a demand data load to a 1G page.", 31 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 36 "BriefDescription": "Page walks completed due to a demand data load to a 2M/4M page.", 39 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… 44 "BriefDescription": "Page walks completed due to a demand data load to a 4K page.", 47 …leted page walks (4K sizes) caused by demand data loads. This implies address translations missed… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/icelakex/ |
D | virtual-memory.json | 11 … "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a demand load.", 15 …ublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page wa… 20 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size… 23 …s completed page walks (all page sizes) caused by demand data loads. This implies it missed in th… 28 "BriefDescription": "Page walks completed due to a demand data load to a 1G page.", 31 …leted page walks (1G sizes) caused by demand data loads. This implies address translations missed… 36 "BriefDescription": "Page walks completed due to a demand data load to a 2M/4M page.", 39 …eted page walks (2M/4M sizes) caused by demand data loads. This implies address translations miss… 44 "BriefDescription": "Page walks completed due to a demand data load to a 4K page.", 47 …leted page walks (4K sizes) caused by demand data loads. This implies address translations missed… [all …]
|
/linux-6.8/Documentation/mm/ |
D | page_migration.rst | 2 Page migration 5 Page migration allows moving the physical location of pages between 13 The main intent of page migration is to reduce the latency of memory accesses 17 Page migration allows a process to manually relocate the node on which its 23 Page migration functions are provided by the numactl package by Andi Kleen 26 which provides an interface similar to other NUMA functionality for page 29 proc(5) man page. 35 manual page migration support. Automatic page migration may be implemented 52 Page migration allows the preservation of the relative location of pages 58 Page migration occurs in several steps. First a high level [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/haswellx/ |
D | virtual-memory.json | 3 "BriefDescription": "Load misses in all DTLB levels that cause page walks", 6 "PublicDescription": "Misses in all TLB levels that cause a page walk of any page size.", 19 …": "Load operations that miss the first DTLB level but hit the second and do not cause page walks", 22 "PublicDescription": "Number of cache load STLB hits. No page walk.", 30 …vent counts load operations from a 2M page that miss the first DTLB level but hit the second and d… 38 …vent counts load operations from a 4K page that miss the first DTLB level but hit the second and d… 43 …in all translation lookaside buffer (TLB) levels causes a page walk that completes of any page siz… 46 …"PublicDescription": "Completed page walks in any TLB of any page size due to demand load misses.", 51 "BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (1G)", 58 …emand load Miss in all translation lookaside buffer (TLB) levels causes a page walk that completes… [all …]
|
/linux-6.8/tools/perf/pmu-events/arch/x86/haswell/ |
D | virtual-memory.json | 3 "BriefDescription": "Load misses in all DTLB levels that cause page walks", 6 "PublicDescription": "Misses in all TLB levels that cause a page walk of any page size.", 19 …": "Load operations that miss the first DTLB level but hit the second and do not cause page walks", 22 "PublicDescription": "Number of cache load STLB hits. No page walk.", 30 …vent counts load operations from a 2M page that miss the first DTLB level but hit the second and d… 38 …vent counts load operations from a 4K page that miss the first DTLB level but hit the second and d… 43 …in all translation lookaside buffer (TLB) levels causes a page walk that completes of any page siz… 46 …"PublicDescription": "Completed page walks in any TLB of any page size due to demand load misses.", 51 "BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (1G)", 58 …emand load Miss in all translation lookaside buffer (TLB) levels causes a page walk that completes… [all …]
|