| /linux/kernel/dma/ |
| H A D | Kconfig | 155 bool "DMA Contiguous Memory Allocator" 158 This enables the Contiguous Memory Allocator which allows drivers 159 to allocate big physically-contiguous blocks of memory for use with 165 For more information see <kernel/dma/contiguous.c>. 171 bool "Enable separate DMA Contiguous Memory Area for NUMA Node" 181 comment "Default contiguous memory area size:" 189 Defines the size (in MiB) of the default memory area for Contiguous 200 Defines the size of the default memory area for Contiguous Memory 224 int "Maximum PAGE_SIZE order of alignment for contiguous buffers" 232 specify the maximum PAGE_SIZE order for contiguous buffer [all...] |
| H A D | contiguous.c | 3 * Contiguous Memory Allocator for DMA mapping framework 9 * Contiguous Memory Allocator 11 * The Contiguous Memory Allocator (CMA) makes it possible to 12 * allocate big contiguous chunks of memory after the system has 18 * IO map support and require contiguous blocks of memory to 214 * dma_contiguous_reserve() - reserve area(s) for contiguous memory handling 279 * dma_contiguous_reserve_area() - reserve custom contiguous area 292 * If @fixed is true, reserve contiguous area at exactly @base. If false, 306 /* Architecture specific contiguous memory fixup. */ in dma_contiguous_reserve_area() 314 * dma_alloc_from_contiguous() - allocate pages from contiguous area [all …]
|
| /linux/arch/arm64/mm/ |
| H A D | contpte.c | 94 * NOTE: Instead of using N=16 as the contiguous block length, we use in contpte_convert() 97 * NOTE: 'n' and 'c' are used to denote the "contiguous bit" being in contpte_convert() 100 * We worry about two cases where contiguous bit is used: in contpte_convert() 101 * - When folding N smaller non-contiguous ptes as 1 contiguous block. in contpte_convert() 102 * - When unfolding a contiguous block into N smaller non-contiguous ptes. in contpte_convert() 122 * 3) __set_ptes() to repaint contiguous block: in contpte_convert() 133 * only ever see an invalid (0) entry, or the new contiguous TLB entry. in contpte_convert() 135 * contiguous TLB entry, which is a micro-optimisation opportunity, in contpte_convert() 140 * stale cached TLB entries. This could lead to a "contiguous bit in contpte_convert() 143 * contiguous entry installed in its place. in contpte_convert() [all …]
|
| /linux/drivers/iommu/generic_pt/ |
| H A D | pt_common.h | 16 * The routines marked "@pts: Entry to query" operate on the entire contiguous 67 * @num_contig_lg2: Number of contiguous items to clear 97 * concurrent update from HW. The entire contiguous entry is changed. 106 * by this entry. If the entry is contiguous then the consolidated 118 * pt_entry_num_contig_lg2() - Number of contiguous items for this leaf entry 121 * Return the number of contiguous items this leaf entry spans. If the entry 131 * is contiguous this returns the same value for each sub-item. I.e.:: 144 * If the entry is not contiguous this returns pt_table_item_lg2sz(), otherwise 145 * it returns the total VA/OA size of the entire contiguous entry. 196 * For a single item non-contiguous entry oasz_lg2 is pt_table_item_lg2sz(). [all …]
|
| H A D | pt_fmt_defaults.h | 40 * If not supplied by the format then contiguous pages are not supported. 42 * If contiguous pages are supported then the format must also provide 43 * pt_contig_count_lg2() if it supports a single contiguous size per level, 53 * Return the number of contiguous OA items forming an entry at this table level 95 * pt_entry_oa - OA is at the start of a contiguous entry 97 * pt_item_oa - OA is adjusted for every item in a contiguous entry 144 * If not supplied by the format then assume only one contiguous size determined 212 /* For a contiguous entry the sw bit is only stored in the first item. */ in pt_test_sw_bit_acquire()
|
| /linux/tools/testing/selftests/resctrl/ |
| H A D | cat_test.c | 248 /* Get the largest contiguous exclusive portion of the cache */ in cat_run_test() 295 /* AMD and Hygon always support non-contiguous CBM. */ in arch_supports_noncont_cat() 301 /* Intel support for non-contiguous CBM needs to be discovered. */ in arch_supports_noncont_cat() 329 ksft_print_msg("Hardware and kernel differ on non-contiguous CBM support!\n"); in noncont_cat_run_test() 348 /* Contiguous mask write check. */ in noncont_cat_run_test() 352 ksft_print_msg("Write of contiguous CBM failed\n"); in noncont_cat_run_test() 357 * Non-contiguous mask write check. CBM has a 0xf hole approximately in the middle. in noncont_cat_run_test() 364 ksft_print_msg("Non-contiguous CBMs supported but write of non-contiguous CBM failed\n"); in noncont_cat_run_test() 366 ksft_print_msg("Non-contiguous CBM in noncont_cat_run_test() [all...] |
| /linux/Documentation/arch/arm64/ |
| H A D | hugetlbpage.rst | 23 2) Using the Contiguous bit 26 The architecture provides a contiguous bit in the translation table entries 28 contiguous set of entries that can be cached in a single TLB entry. 30 The contiguous bit is used in Linux to increase the mapping size at the pmd and 31 pte (last) level. The number of supported contiguous entries varies by page size
|
| /linux/tools/perf/pmu-events/arch/arm64/fujitsu/monaka/ |
| H A D | sve.json | 188 …ecuted operations that prefetch memory due to an SVE predicated single contiguous element prefetch… 192 … reads from memory with a non-temporal hint due to an SVE non-temporal contiguous element load ins… 196 …t writes to memory with a non-temporal hint due to an SVE non-temporal contiguous element store in… 200 …ions that read from memory due to Advanced SIMD or SVE multiple vector contiguous structure load i… 204 …tions that write to memory due to Advanced SIMD or SVE multiple vector contiguous structure store … 208 …chitecturally executed operations that read from memory due to SVE non-contiguous gather-load inst… 212 …rchitecturally executed operations that write to memory due to SVE non-contiguous scatter-store in… 216 …rchitecturally executed operations that prefetch memory due to SVE non-contiguous gather-prefetch …
|
| /linux/arch/arm64/kernel/pi/ |
| H A D | map_range.c | 15 * map_range - Map a contiguous range of physical pages into virtual memory 25 * @may_use_cont: Whether the use of the contiguous attribute is allowed 69 * Start a contiguous range if start and pa are in map_range() 76 * Clear the contiguous attribute if the remaining in map_range() 77 * range does not cover a contiguous block in map_range()
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gem_dma_helper.c | 32 * presented to the device as a contiguous chunk of memory. This is useful 39 * are contiguous in the IOVA space so appear contiguous to devices using 43 * objects that are physically contiguous in memory. 124 * The allocated memory will occupy a contiguous chunk of bus address space. 127 * memory will be physically contiguous. For devices that access through an 128 * IOMMU, then the allocated memory is not expected to be physically contiguous 129 * because having contiguous IOVAs is sufficient to meet a devices DMA 185 * The allocated memory will occupy a contiguous chunk of bus address space. 456 * another driver. Imported buffers must be physically contiguous in memory 472 /* check if the entries in the sg_table are contiguous */ in drm_gem_dma_prime_import_sg_table()
|
| /linux/Documentation/admin-guide/ |
| H A D | dell_rbu.rst | 32 image methods. In case of monolithic the driver allocates a contiguous chunk 35 would place each packet in contiguous physical memory. The driver also 57 copied to a single contiguous block of physical memory. 60 of contiguous memory and the BIOS image is scattered in these packets. 84 the file and spreads it across the physical memory in contiguous packet_sized
|
| /linux/Documentation/driver-api/cxl/allocation/ |
| H A D | hugepages.rst | 7 Contiguous Memory Allocator 11 carves out contiguous capacity. 15 at :code:`__init` time - when CMA carves out contiguous capacity.
|
| /linux/arch/nios2/ |
| H A D | Kconfig | 51 int "Order of maximal physically contiguous allocations" 55 contiguous allocations. The limit is called MAX_PAGE_ORDER and it 57 allocated as a single contiguous block. This option allows 59 large blocks of physically contiguous memory is required.
|
| /linux/drivers/gpu/drm/exynos/ |
| H A D | exynos_drm_gem.c | 37 * if EXYNOS_BO_CONTIG, fully physically contiguous memory in exynos_drm_alloc_buf() 38 * region will be allocated else physically contiguous in exynos_drm_alloc_buf() 211 * contiguous anyway, so drop EXYNOS_BO_NONCONTIG flag in exynos_drm_gem_create() 214 …DRM_WARN("Non-contiguous allocation is not supported without IOMMU, falling back to contiguous buf… in exynos_drm_gem_create() 437 /* check if the entries in the sg_table are contiguous */ in exynos_drm_gem_prime_import_sg_table() 448 * Buffer has been mapped as contiguous into DMA address space, in exynos_drm_gem_prime_import_sg_table()
|
| /linux/arch/sh/mm/ |
| H A D | Kconfig | 34 int "Order of maximal physically contiguous allocations" 41 contiguous allocations. The limit is called MAX_PAGE:_ORDER and it 43 allocated as a single contiguous block. This option allows 45 large blocks of physically contiguous memory is required.
|
| /linux/mm/ |
| H A D | percpu-km.c | 8 * Chunks are allocated as a contiguous kernel memory using gfp 24 * PAGE_SIZE. Because each chunk is allocated as a contiguous 30 #error "contiguous percpu allocation is incompatible with paged first chunk"
|
| H A D | util.c | 132 * result is physically contiguous. Use kfree() to free. 154 * result is physically contiguous. Use kfree() to free. 170 * result may be not physically contiguous. Use kvfree() to free. 215 * contiguous, to be freed by kfree(). 241 * physically contiguous. Use kvfree() to free. 622 * __vmalloc_array - allocate memory for a virtually contiguous array. 638 * vmalloc_array - allocate memory for a virtually contiguous array. 649 * __vcalloc - allocate and zero memory for a virtually contiguous array. 661 * vcalloc - allocate and zero memory for a virtually contiguous array. 1438 * page_range_contiguous - test whether the page range is contiguous [all …]
|
| H A D | cma.c | 3 * Contiguous Memory Allocator 256 * cma_init_reserved_mem() - create custom contiguous area from reserved memory 265 * This function creates custom contiguous area from already reserved memory. 714 * cma_declare_contiguous_nid() - reserve custom contiguous area 730 * If @fixed is true, reserve contiguous area at exactly @base. If false, 819 * Do not hand out page ranges that are not contiguous, so in cma_range_alloc() 934 * cma_alloc() - allocate pages from contiguous area 935 * @cma: Contiguous memory region for which the allocation is performed. 940 * This function allocates part of contiguous memory on specific 941 * contiguous memory area. [all …]
|
| /linux/drivers/iio/common/cros_ec_sensors/ |
| H A D | Kconfig | 17 tristate "ChromeOS EC Contiguous Sensors" 20 Module to handle 3d contiguous sensors like
|
| /linux/sound/pci/ctxfi/ |
| H A D | ctresource.c | 37 break; /* found sufficient contiguous resources */ in get_resource() 41 /* Can not find sufficient contiguous resources */ in get_resource() 45 /* Mark the contiguous bits in resource bit-map as used */ in get_resource() 62 /* Mark the contiguous bits in resource bit-map as used */ in put_resource()
|
| /linux/rust/kernel/alloc/ |
| H A D | allocator.rs | 25 /// The contiguous kernel allocator. 27 /// `Kmalloc` is typically used for physically contiguous allocations up to page size, but also 33 /// The virtually contiguous kernel allocator. 35 /// `Vmalloc` allocates pages from the page level allocator and maps them into the contiguous kernel 37 /// allocator is not physically contiguous.
|
| /linux/tools/mm/ |
| H A D | thpmaps | 316 # dictionary of statistics describing the contiguous blocks. 541 additional statistics for "contiguous block mappings" where 582 Contiguous Block Statistics\\n 586 every contiguous block size specified with `--cont <size>`. 588 contiguous blocks of <size> and also aligned to <size>. A 589 given contiguous block must all belong to the same THP, but 591 Separate counters describe contiguous blocks mapped by PTE 599 As an example, if monitoring 64K contiguous blocks (--cont 634 help="""Adds stats for memory that is mapped in contiguous blocks of
|
| /linux/drivers/hv/ |
| H A D | mshv_regions.c | 58 * mshv_region_process_chunk - Processes a contiguous chunk of memory pages 67 * checking for contiguous present pages of the same size (normal or huge). 68 * It invokes @handler for the chunk of contiguous pages found. Returns the 127 * @handler : Callback function to handle each chunk of contiguous 131 * non-present pages. For each contiguous chunk of present pages, invokes 312 * allocation of contiguous memory. in mshv_region_pin()
|
| /linux/Documentation/devicetree/bindings/gpio/ |
| H A D | renesas,em-gio.yaml | 18 - description: First set of contiguous registers 19 - description: Second set of contiguous registers
|
| /linux/drivers/net/dsa/microchip/ |
| H A D | ksz9477_acl.c | 206 * ksz9477_acl_get_cont_entr - Get count of contiguous ACL entries and validate 223 * linked Matching rules are contiguous in terms of their indices. It calculates 224 * and returns the number of these contiguous entries. 229 * - The number of contiguous entries if it is the root entry of a complex 271 /* Calculate the contiguous count */ in ksz9477_acl_get_cont_entr() 283 /* loop over the contiguous entries and check for valid matching rules */ in ksz9477_acl_get_cont_entr() 395 * @src_count: Pointer to the variable that will hold the number of contiguous 397 * @dst_count: Pointer to the variable that will hold the number of contiguous 402 * range, and if the source entries are contiguous. Additionally, the function 405 * validations pass, the function returns the number of contiguous source and [all …]
|