Home
last modified time | relevance | path

Searched full:page (Results 1 – 25 of 3223) sorted by relevance

12345678910>>...129

/Linux-v6.6/include/linux/
Dpage-flags.h3 * 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 …]
Dballoon_compaction.h7 * 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 …]
Dpage_ref.h7 #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 …]
Dhighmem-internal.h10 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 …]
Dhighmem.h17 * kmap - Map a page for long term usage
18 * @page: Pointer to the page to be mapped
37 static inline void *kmap(struct page *page);
41 * @page: Pointer to the page which was mapped by kmap()
46 static inline void kunmap(struct page *page);
49 * kmap_to_page - Get the page for a kmap'ed address
52 * Returns: The page which is mapped to @addr.
54 static inline struct page *kmap_to_page(void *addr);
63 * kmap_local_page - Map a page for temporary usage
64 * @page: Pointer to the page to be mapped
[all …]
/Linux-v6.6/fs/btrfs/
Dsubpage.c14 * - Only support 64K page size for now
15 * This is to make metadata handling easier, as 64K page would ensure
16 * all nodesize would fit inside one page, thus we don't need to handle
22 * - Metadata can't cross 64K page boundary
32 * needed range, other unrelated range in the same page will not be touched.
35 * The writeback is still for the full page, but we will only submit
36 * the dirty extent buffers in the page.
38 * This means, if we have a metadata page like this:
40 * Page offset
54 * record the status of each sector inside a page. This provides the extra
[all …]
Dsubpage.h42 * Structure to trace status of each sector inside a page, attached to
43 * page::private for both data and metadata inodes.
50 * page.
51 * Data relies on @readers to unlock the page when last reader finished.
52 * While metadata doesn't need page unlock, it needs to prevent
53 * page::private get cleared before the last end_page_read().
76 bool btrfs_is_subpage(const struct btrfs_fs_info *fs_info, struct page *page);
80 struct page *page, enum btrfs_subpage_type type);
82 struct page *page);
84 /* Allocate additional data where page represents more than one sector */
[all …]
/Linux-v6.6/mm/
Dfolio-compat.c13 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 …]
Dballoon_compaction.c15 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 …]
Dpage_isolation.c7 #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 …]
Dmigrate_device.c74 struct page *page; in migrate_vma_collect_pmd() local
82 page = pmd_page(*pmdp); in migrate_vma_collect_pmd()
83 if (is_huge_zero_page(page)) { in migrate_vma_collect_pmd()
89 get_page(page); in migrate_vma_collect_pmd()
91 if (unlikely(!trylock_page(page))) in migrate_vma_collect_pmd()
94 ret = split_huge_page(page); in migrate_vma_collect_pmd()
95 unlock_page(page); in migrate_vma_collect_pmd()
96 put_page(page); in migrate_vma_collect_pmd()
110 struct page *page; in migrate_vma_collect_pmd() local
126 * Only care about unaddressable device page special in migrate_vma_collect_pmd()
[all …]
/Linux-v6.6/tools/perf/pmu-events/arch/x86/elkhartlake/
Dvirtual-memory.json3 …"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
20page 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…
28page 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 …
36page 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…
44page walks completed due to loads (including SW prefetches) whose address translations missed in a…
[all …]
/Linux-v6.6/tools/perf/pmu-events/arch/x86/snowridgex/
Dvirtual-memory.json3 …"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
20page 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…
28page 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 …
36page 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…
44page walks completed due to loads (including SW prefetches) whose address translations missed in a…
[all …]
/Linux-v6.6/include/net/page_pool/
Dhelpers.h12 * uses one frame per-page, but it can fallback on the
13 * regular page allocator APIs.
21 * must call page_pool_put_page() to free the page, or attach
22 * the page to a page_pool-aware object like skbs marked with
25 * API users must call page_pool_put_page() once on a page, as it
26 * will either recycle the page, or in case of refcnt > 1, it will
40 * Drivers that wish to harvest page pool stats and report them to users
64 * page_pool_dev_alloc_pages() - allocate a page.
67 * Get a page from the page allocator or page_pool caches.
69 static inline struct page *page_pool_dev_alloc_pages(struct page_pool *pool) in page_pool_dev_alloc_pages()
[all …]
/Linux-v6.6/fs/jfs/
Djfs_metapage.c26 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-v6.6/tools/perf/pmu-events/arch/x86/alderlake/
Dvirtual-memory.json12 … "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
25page 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-v6.6/tools/perf/pmu-events/arch/x86/meteorlake/
Dvirtual-memory.json3 …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 …
59page walks completed due to loads (including SW prefetches) whose address translations missed in a…
[all …]
/Linux-v6.6/tools/perf/pmu-events/arch/x86/cascadelakex/
Dvirtual-memory.json3 "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-v6.6/tools/perf/pmu-events/arch/x86/skylake/
Dvirtual-memory.json3 "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-v6.6/tools/perf/pmu-events/arch/x86/skylakex/
Dvirtual-memory.json3 "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-v6.6/net/core/
Dpage_pool.c18 #include <linux/page-flags.h>
62 * page_pool_get_stats() - fetch page pool stats
63 * @pool: pool from which page was allocated
190 * DMA_BIDIRECTIONAL is for allowing page used for DMA sending, in page_pool_init()
200 /* In order to request DMA-sync-for-device the page in page_pool_init()
239 * page_pool_create() - create a page pool.
262 static void page_pool_return_page(struct page_pool *pool, struct page *page);
265 static struct page *page_pool_refill_alloc_cache(struct page_pool *pool) in page_pool_refill_alloc_cache()
268 struct page *page; in page_pool_refill_alloc_cache() local
289 page = __ptr_ring_consume(r); in page_pool_refill_alloc_cache()
[all …]
/Linux-v6.6/sound/pci/trident/
Dtrident_memory.c7 * 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-v6.6/tools/perf/pmu-events/arch/x86/sapphirerapids/
Dvirtual-memory.json11 … "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-v6.6/tools/perf/pmu-events/arch/x86/icelakex/
Dvirtual-memory.json11 … "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-v6.6/Documentation/mm/
Dpage_migration.rst2 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 …]

12345678910>>...129