Home
last modified time | relevance | path

Searched +full:page +full:- +full:table (Results 1 – 25 of 1015) sorted by relevance

12345678910>>...41

/linux/drivers/gpu/drm/imagination/
H A Dpvr_mmu.c1 // SPDX-License-Identifier: GPL-2.0-only OR MIT
17 #include <linux/dma-mapping.h>
24 #define PVR_MASK_FROM_SIZE(size_) (~((size_) - U64_C(1)))
27 * The value of the device page size (%PVR_DEVICE_PAGE_SIZE) is currently
28 * pegged to the host page size (%PAGE_SIZE). This chunk of macro goodness both
29 * ensures that the selected host page size corresponds to a valid device page
57 # error Unsupported device page size PVR_DEVICE_PAGE_SIZE
62 (PVR_DEVICE_PAGE_SHIFT - PVR_SHIFT_FROM_SIZE(SZ_4K)))
65 PVR_MMU_SYNC_LEVEL_NONE = -1,
78 * pvr_mmu_set_flush_flags() - Set MMU cache flush flags for next call to
[all …]
/linux/drivers/infiniband/hw/mthca/
H A Dmthca_memfree.c16 * - Redistributions of source code must retain the above
20 * - Redistributions in binary form must reproduce the above
40 #include <asm/page.h>
61 } page[]; member
68 if (chunk->nsg > 0) in mthca_free_icm_pages()
69 dma_unmap_sg(&dev->pdev->dev, chunk->mem, chunk->npages, in mthca_free_icm_pages()
72 for (i = 0; i < chunk->npages; ++i) in mthca_free_icm_pages()
73 __free_pages(sg_page(&chunk->mem[i]), in mthca_free_icm_pages()
74 get_order(chunk->mem[i].length)); in mthca_free_icm_pages()
81 for (i = 0; i < chunk->npages; ++i) { in mthca_free_icm_coherent()
[all …]
/linux/drivers/gpu/drm/xe/
H A Dxe_pt_walk.c1 // SPDX-License-Identifier: GPL-2.0-only
8 * DOC: GPU page-table tree walking.
9 * The utilities in this file are similar to the CPU page-table walk
11 * the various levels of a page-table tree with an unsigned integer rather
12 * than by name. 0 is the lowest level, and page-tables with level 0 can
17 * Each struct xe_ptw, regardless of level is referred to as a page table, and
18 * multiple page tables typically form a page table tree with page tables at
19 * intermediate levels being page directories pointing at page tables at lower
20 * levels. A shared page table for a given address range is a page-table which
24 * Please keep this code generic so that it can used as a drm-wide page-
[all …]
H A Dxe_pt_walk.h1 /* SPDX-License-Identifier: GPL-2.0-only */
12 * struct xe_ptw - base class for driver pagetable subclassing.
16 * Drivers could subclass this, and if it's a page-directory, typically
25 * struct xe_pt_walk - Embeddable struct for walk parameters
31 * @shifts: Array of page-table entry shifts used for the
33 * page-shift as the first entry. It's legal for this pointer to be
51 * typedef xe_pt_entry_fn - gpu page-table-walk callback-function
52 * @parent: The parent page.table.
53 * @offset: The offset (number of entries) into the page table.
57 * @child: Pointer to pointer to child page-table at this @offset. The
[all …]
/linux/Documentation/mm/
H A Dmmu_notifier.rst1 When do you need to notify inside page table lock ?
6 the page table lock. But that notification is not necessary in all cases.
9 thing like ATS/PASID to get the IOMMU to walk the CPU page table to access a
11 those secondary TLB while holding page table lock when clearing a pte/pmd:
13 A) page backing address is free before mmu_notifier_invalidate_range_end()
14 B) a page table entry is updated to point to a new page (COW, write fault
15 on zero page, __replace_page(), ...)
18 a page that might now be used by some completely different task.
23 - take page table lock
24 - clear page table entry and notify ([pmd/pte]p_huge_clear_flush_notify())
[all …]
H A Dmultigen_lru.rst1 .. SPDX-License-Identifier: GPL-2.0
4 Multi-Gen LRU
6 The multi-gen LRU is an alternative LRU implementation that optimizes
7 page reclaim and improves performance under memory pressure. Page
14 ----------
20 * Simple self-correcting heuristics
23 implementations. In the multi-gen LRU, each generation represents a
25 (time-based) common frame of reference and therefore help make better
30 accessed bit. A rmap walk targets a single page and does not try to
31 profit from discovering a young PTE. A page table walk can sweep all
[all …]
H A Dswap-table.rst1 .. SPDX-License-Identifier: GPL-2.0
6 Swap Table
9 Swap table implements swap cache as a per-cluster swap cache value array.
12 ----------
14 A swap entry contains the information required to serve the anonymous page
20 The swap offset is the offset of the swap file to read the page data from.
23 ----------
36 out folio. This is the normal state for a swapped out page.
38 Swap Table Internals
39 --------------------
[all …]
/linux/include/linux/
H A Dio-pgtable.h1 /* SPDX-License-Identifier: GPL-2.0 */
24 * struct iommu_flush_ops - IOMMU callbacks for TLB and page table management.
31 * single page. IOMMUs that cannot batch TLB invalidation
48 * struct io_pgtable_cfg - Configuration data for a set of page tables.
51 * action by the low-level page table allocator.
52 * @pgsize_bitmap: A bitmap of page sizes supported by this set of page
56 * @coherent_walk: A flag to indicate whether or not page table walks made
60 * page table walker.
66 * even in non-secure state where they should normally be ignored.
71 * format, and/or requires some format-specific default value.
[all …]
/linux/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_gart.c43 * The GART (Graphics Aperture Remapping Table) is an aperture
46 * perspective. A page table maps the pages in the aperture
50 * and AGP. AGP works similarly, but the GART table is configured
62 * Common GART table functions.
66 * amdgpu_gart_dummy_page_init - init dummy page used by the driver
70 * Allocate the dummy page used by the driver (all asics).
71 * This dummy page is used by the driver as a filler for gart entries
73 * Returns 0 on sucess, -ENOMEM on failure.
77 struct page *dummy_page = ttm_glob.dummy_read_page; in amdgpu_gart_dummy_page_init()
79 if (adev->dummy_page_addr) in amdgpu_gart_dummy_page_init()
[all …]
/linux/tools/perf/pmu-events/arch/arm64/ampere/ampereonex/
H A Dmmu.json45 "PublicDescrition": "Data-side S1 page walk cache lookup",
48 "BriefDescription": "Data-side S1 page walk cache lookup"
51 "PublicDescrition": "Data-side S1 page walk cache refill",
54 "BriefDescription": "Data-side S1 page walk cache refill"
57 "PublicDescrition": "Data-side S2 page walk cache lookup",
60 "BriefDescription": "Data-side S2 page walk cache lookup"
63 "PublicDescrition": "Data-side S2 page walk cache refill",
66 "BriefDescription": "Data-side S2 page walk cache refill"
69 "PublicDescription": "Data-side S1 table walk fault",
72 "BriefDescription": "Data-side S1 table walk fault"
[all …]
/linux/tools/perf/pmu-events/arch/x86/amdzen4/
H A Dmemory.json5 …"BriefDescription": "Store-to-load conflicts (load unable to complete due to a non-forwardable con…
11 "BriefDescription": "Number of memory load operations dispatched to the load-store unit.",
17 "BriefDescription": "Number of memory store operations dispatched to the load-store unit.",
23 "BriefDescription": "Number of memory load-store operations dispatched to the load-store unit.",
29 "BriefDescription": "Store-to-load-forward (STLF) hits."
34 …"BriefDescription": "Non-cacheable store commits cancelled due to the non-cacheable commit buffer …
46 …"L1 DTLB misses with L2 DTLB hits for coalesced pages. A coalesced page is a 16k page created from…
64 …"BriefDescription": "L1 DTLB misses with L2 DTLB misses (page-table walks are requested) for 4k pa…
70 …1 DTLB misses with L2 DTLB misses (page-table walks are requested) for coalesced pages. A coalesce…
76 …"BriefDescription": "L1 DTLB misses with L2 DTLB misses (page-table walks are requested) for 2M pa…
[all …]
/linux/include/asm-generic/
H A Dpgalloc.h1 /* SPDX-License-Identifier: GPL-2.0 */
11 * __pte_alloc_one_kernel - allocate memory for a PTE-level kernel page table
15 * anything beyond simple page allocation.
38 * pte_alloc_one_kernel - allocate memory for a PTE-level kernel page table
51 * pte_free_kernel - free PTE-level kernel page table memory
53 * @pte: pointer to the memory containing the page table
61 * __pte_alloc_one - allocate memory for a PTE-level user page table
65 * Allocate memory for a page table and ptdesc and runs pagetable_pte_ctor().
68 * anything beyond simple page allocation or must have custom GFP flags.
70 * Return: `struct page` referencing the ptdesc or %NULL on error
[all …]
/linux/tools/perf/pmu-events/arch/powerpc/power9/
H A Dmarked.json10 …"BriefDescription": "A Page Directory Entry was reloaded to a level 1 page walk cache from beyond …
20Page Table Entry was loaded into the TLB with Shared (S) data from another core's L3 on the same …
45 …"BriefDescription": "A Page Table Entry was reloaded to a level 3 page walk cache from the core's …
50 …"BriefDescription": "A Page Table Entry was reloaded to a level 3 page walk cache from the core's …
60 …iption": "A Page Table Entry was loaded into the TLB from the local chip's L4 cache due to a marke…
70Page Table Entry was loaded into the TLB with Shared (S) data from another core's ECO L3 on the sa…
95Page Table Entry was loaded into the TLB with Modified (M) data from another core's ECO L3 on the …
100Page Table Entry was loaded into the TLB with Shared (S) data from another core's ECO L3 on the sa…
140 …"BriefDescription": "A Page Table Entry was loaded into the TLB from a location other than the loc…
170 …"BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L2 hit without d…
[all …]
H A Dpipeline.json10 "BriefDescription": "Number of I-ERAT reloads"
25 …"BriefDescription": "Finish stall because the NTF instruction was a multi-cycle instruction issued…
35Page Table Entry was loaded into the TLB from another chip's L4 on a different Node or Group (Dist…
40 …iption": "A Page Table Entry was loaded into the TLB from local core's L2 without conflict due to …
80Page Table Entry was loaded into the TLB with Modified (M) data from another core's L2 on the same…
95Page Table Entry was loaded into the TLB with Modified (M) data from another core's L2 on the same…
110 "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 4K"
115Page Table Entry was loaded into the TLB from local core's L3 without dispatch conflicts hit on Me…
120 …"BriefDescription": "Marked Data ERAT Miss (Data TLB Access) page size 16G (hpt mode) and 1G (radi…
140 "BriefDescription": "IERAT Reloaded (Miss) for a 16M page"
[all …]
H A Dtranslation.json20 "BriefDescription": "Double-Precion or Quad-Precision instruction completed"
25Page Table Entry was loaded into the TLB from another chip's memory on the same Node or Group (Dis…
35 …"BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another …
60Page Table Entry was loaded into the TLB with Shared (S) data from another chip's L2 or L3 on a di…
75 …"BriefDescription": "A Page Table Entry was loaded into the TLB either shared or modified data fro…
100 …"BriefDescription": "A Page Table Entry was loaded into the TLB from another chip's L4 on the same…
130 "BriefDescription": "Demand LD - L2 Miss (not L2 hit)"
140 …"BriefDescription": "The number a times the core transitioned from a stall to ICT-empty for this t…
145 …"BriefDescription": "A Page Table Entry was loaded into the TLB from a memory location including L…
150 …"BriefDescription": "A Page Table Entry was loaded into the TLB either shared or modified data fro…
[all …]
/linux/Documentation/driver-api/
H A Dmtdnand.rst10 The generic NAND driver supports almost all NAND and AG-AND based chips
31 --------------------------
37 - [MTD Interface]
43 - [NAND Interface]
48 - [GENERIC]
53 - [DEFAULT]
65 -------------------------------
71 - [INTERN]
77 - [REPLACEABLE]
86 - [BOARDSPECIFIC]
[all …]
H A Dgeneric_pt.rst1 .. SPDX-License-Identifier: GPL-2.0
4 Generic Radix Page Table
7 .. kernel-doc:: include/linux/generic_pt/common.h
8 :doc: Generic Radix Page Table
10 .. kernel-doc:: drivers/iommu/generic_pt/pt_defs.h
11 :doc: Generic Page Table Language
16 Generic PT is structured as a multi-compilation system. Since each format
22 map/unmap, etc.) and the per-format code can be directly inlined into the
23 per-format compilation unit. For something like IOMMU each format will be
24 compiled into a per-format IOMMU operations kernel module.
[all …]
/linux/drivers/hwtracing/coresight/
H A Dcoresight-catu.c1 // SPDX-License-Identifier: GPL-2.0
13 #include <linux/dma-mapping.h>
19 #include "coresight-catu.h"
20 #include "coresight-priv.h"
21 #include "coresight-tmc.h"
24 dev_get_drvdata(csdev->dev.parent)
26 /* Verbose output for CATU table contents */
39 * CATU uses a page size of 4KB for page tables as well as data pages.
40 * Each 64bit entry in the table has the following format.
43 * ------------------------------------
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Dicm.c15 * - Redistributions of source code must retain the above
19 * - Redistributions in binary form must reproduce the above
59 if (chunk->nsg > 0) in mlx4_free_icm_pages()
60 dma_unmap_sg(&dev->persist->pdev->dev, chunk->sg, chunk->npages, in mlx4_free_icm_pages()
63 for (i = 0; i < chunk->npages; ++i) in mlx4_free_icm_pages()
64 __free_pages(sg_page(&chunk->sg[i]), in mlx4_free_icm_pages()
65 get_order(chunk->sg[i].length)); in mlx4_free_icm_pages()
72 for (i = 0; i < chunk->npages; ++i) in mlx4_free_icm_coherent()
73 dma_free_coherent(&dev->persist->pdev->dev, in mlx4_free_icm_coherent()
74 chunk->buf[i].size, in mlx4_free_icm_coherent()
[all …]
/linux/arch/x86/boot/compressed/
H A Dident_map_64.c1 // SPDX-License-Identifier: GPL-2.0
3 * This code is used on x86_64 to create page table identity mappings on
4 * demand by building up a new set of page tables (or appending to the
7 * Copyright (C) 2015-2016 Yinghai Lu
37 /* Used to track our page table allocation area. */
45 * Allocates space for a page table entry, using struct alloc_pgt_data
54 /* Validate there is space available for a new page. */ in alloc_pgt_page()
55 if (pages->pgt_buf_offset >= pages->pgt_buf_size) { in alloc_pgt_page()
57 debug_putaddr(pages->pgt_buf_offset); in alloc_pgt_page()
58 debug_putaddr(pages->pgt_buf_size); in alloc_pgt_page()
[all …]
/linux/Documentation/core-api/
H A Dcachetlb.rst25 virtual-->physical address translations obtained from the software
26 page tables. Meaning that if the software page tables change, it is
28 Therefore when software page table changes occur, the kernel will
29 invoke one of the following flush methods _after_ the page table
35 any previous page table modification whatsoever will be
38 This is usually invoked when the kernel page tables are
45 any previous page table modifications for the address space
50 page table operations such as what happens during
58 interface must make sure that any previous page table
59 modifications for the address space 'vma->vm_mm' in the range
[all …]
/linux/drivers/gpu/drm/vmwgfx/
H A Dvmwgfx_mob.c1 // SPDX-License-Identifier: GPL-2.0 OR MIT
4 * Copyright 2012-2023 VMware, Inc., Palo Alto, CA., USA
20 * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
46 * struct vmw_mob - Structure containing page table and metadata for a
49 * @num_pages Number of pages that make up the page table.
50 * @pt_level The indirection level of the page table. 0-2.
51 * @pt_root_page DMA address of the level 0 page of the page table.
62 * struct vmw_otable - Guest Memory OBject table metadata
64 * @size: Size of the table (page-aligned).
65 * @page_table: Pointer to a struct vmw_mob holding the page table.
[all …]
/linux/drivers/iommu/generic_pt/
H A Dpt_common.h1 /* SPDX-License-Identifier: GPL-2.0-only */
3 * Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES
17 * entry and can be called with a pts->index pointing to any sub item that makes
32 * pt_attr_from_entry() - Convert the permission bits back to attrs
44 * pt_can_have_leaf() - True if the current level can have an OA entry
53 * pt_can_have_table() - True if the current level can have a lower table
56 * Every level except 0 is allowed to have a lower table.
61 return pts->level > 0; in pt_can_have_table()
65 * pt_clear_entries() - Make entries empty (non-present)
66 * @pts: Starting table index
[all …]
/linux/drivers/mtd/nand/raw/
H A Dnand_bbt.c1 // SPDX-License-Identifier: GPL-2.0-only
4 * Bad block table support for the NAND driver
10 * When nand_scan_bbt is called, then it tries to find the bad block table
26 * For manufacturer created BBTs like the one found on M-SYS DOC devices
29 * The auto generated bad block table is located in the last good blocks
30 * of the device. The table is mirrored, so it can be updated eventually.
31 * The table is marked in the OOB area with an ident pattern and a version
38 * The table uses 2 bits per block
43 * The memory bad block table uses the following scheme:
52 * - bbts start at a page boundary, if autolocated on a block boundary
[all …]
/linux/Documentation/virt/kvm/x86/
H A Dmmu.rst1 .. SPDX-License-Identifier: GPL-2.0
13 - correctness:
18 - security:
21 - performance:
23 - scaling:
25 - hardware:
27 - integration:
29 so that swapping, page migration, page merging, transparent
31 - dirty tracking:
33 and framebuffer-based displays
[all …]

12345678910>>...41