/Linux-v5.15/mm/damon/ |
D | vaddr-test.h | 51 * discontiguous regions which cover every mapped areas. However, the three 52 * regions should not include the two biggest unmapped areas in the original 54 * heap and the mmap()-ed regions, and 2) the mmap()-ed regions and stack. 61 * three regions and returns. For more detail, refer to the comment of 67 * mapped. To cover every mappings, the three regions should start with 10, 70 * unmapped areas, and thus it should be converted to three regions of 10-25, 75 struct damon_addr_range regions[3] = {0,}; in damon_test_three_regions_in_vmas() local 88 __damon_va_three_regions(&vmas[0], regions); in damon_test_three_regions_in_vmas() 90 KUNIT_EXPECT_EQ(test, 10ul, regions[0].start); in damon_test_three_regions_in_vmas() 91 KUNIT_EXPECT_EQ(test, 25ul, regions[0].end); in damon_test_three_regions_in_vmas() [all …]
|
D | vaddr.c | 58 * Functions for the initial monitoring target regions construction 62 * Size-evenly split a region into 'nr_pieces' small regions 116 * Find three regions separated by two biggest unmapped regions 119 * regions an array of three address ranges that results will be saved 121 * This function receives an address space and finds three regions in it which 122 * separated by the two biggest unmapped regions in the space. Please refer to 129 struct damon_addr_range regions[3]) in __damon_va_three_regions() 169 regions[0].start = ALIGN(start, DAMON_MIN_REGION); in __damon_va_three_regions() 170 regions[0].end = ALIGN(first_gap.start, DAMON_MIN_REGION); in __damon_va_three_regions() 171 regions[1].start = ALIGN(first_gap.end, DAMON_MIN_REGION); in __damon_va_three_regions() [all …]
|
/Linux-v5.15/arch/powerpc/mm/nohash/ |
D | kaslr_booke.c | 24 struct regions { struct 43 struct regions __initdata regions; argument 119 if (regions.reserved_mem < 0) in overlaps_reserved_region() 123 for (subnode = fdt_first_subnode(fdt, regions.reserved_mem); in overlaps_reserved_region() 131 while (len >= (regions.reserved_mem_addr_cells + in overlaps_reserved_region() 132 regions.reserved_mem_size_cells)) { in overlaps_reserved_region() 134 if (regions.reserved_mem_addr_cells == 2) in overlaps_reserved_region() 137 reg += regions.reserved_mem_addr_cells; in overlaps_reserved_region() 138 len -= 4 * regions.reserved_mem_addr_cells; in overlaps_reserved_region() 141 if (regions.reserved_mem_size_cells == 2) in overlaps_reserved_region() [all …]
|
/Linux-v5.15/drivers/mtd/chips/ |
D | jedec_probe.c | 274 const uint32_t regions[6]; member 306 .regions = { 318 .regions = { 333 .regions = { 348 .regions = { 363 .regions = { 378 .regions = { 394 .regions = { 411 .regions = { 428 .regions = { [all …]
|
/Linux-v5.15/Documentation/admin-guide/device-mapper/ |
D | dm-clone.rst | 58 3. A small metadata device - it records which regions are already valid in the 59 destination device, i.e., which regions have already been hydrated, or have 65 Regions section in Design 68 dm-clone divides the source and destination devices in fixed sized regions. 69 Regions are the unit of hydration, i.e., the minimum amount of data copied from 77 Reads and writes from/to hydrated regions are serviced from the destination 93 as a hint to skip hydration of the regions covered by the request, i.e., it 111 A message `hydration_threshold <#regions>` can be used to set the maximum number 112 of regions being copied, the default being 1 region. 116 region size. A message `hydration_batch_size <#regions>` can be used to tune the [all …]
|
/Linux-v5.15/Documentation/networking/devlink/ |
D | devlink-region.rst | 7 ``devlink`` regions enable access to driver defined address regions using 10 Each device can create and register its own supported address regions. The 15 Regions may optionally support triggering snapshots on demand. 22 address regions that are otherwise inaccessible to the user. 24 Regions may also be used to provide an additional way to debug complex error 27 Regions may optionally support capturing a snapshot on demand via the 45 # Show all of the exposed regions with region sizes: 68 As regions are likely very device or driver specific, no generic regions are 70 specific regions a driver supports.
|
/Linux-v5.15/Documentation/vm/damon/ |
D | design.rst | 47 address regions is just wasteful. However, because DAMON can deal with some 48 level of noise using the adaptive regions adjustment mechanism, tracking every 54 distinct regions that cover every mapped area of the address space. The two 55 gaps between the three regions are the two biggest unmapped areas in the given 65 (small mmap()-ed regions and munmap()-ed regions) 90 ``regions update interval``, ``minimum number of regions``, and ``maximum 91 number of regions``. 131 overhead is controllable by setting the number of regions. DAMON allows users 132 to set the minimum and the maximum number of regions for the trade-off. 138 Adaptive Regions Adjustment [all …]
|
/Linux-v5.15/drivers/gpu/drm/nouveau/nvkm/nvfw/ |
D | acr.c | 89 hdr->regions.no_regions); in flcn_acr_desc_dump() 91 for (i = 0; i < ARRAY_SIZE(hdr->regions.region_props); i++) { in flcn_acr_desc_dump() 94 hdr->regions.region_props[i].start_addr); in flcn_acr_desc_dump() 96 hdr->regions.region_props[i].end_addr); in flcn_acr_desc_dump() 98 hdr->regions.region_props[i].region_id); in flcn_acr_desc_dump() 100 hdr->regions.region_props[i].read_mask); in flcn_acr_desc_dump() 102 hdr->regions.region_props[i].write_mask); in flcn_acr_desc_dump() 104 hdr->regions.region_props[i].client_mask); in flcn_acr_desc_dump() 132 hdr->regions.no_regions); in flcn_acr_desc_v1_dump() 134 for (i = 0; i < ARRAY_SIZE(hdr->regions.region_props); i++) { in flcn_acr_desc_v1_dump() [all …]
|
/Linux-v5.15/drivers/vfio/platform/ |
D | vfio_platform_common.c | 145 vdev->regions = kcalloc(cnt, sizeof(struct vfio_platform_region), in vfio_platform_regions_init() 147 if (!vdev->regions) in vfio_platform_regions_init() 157 vdev->regions[i].addr = res->start; in vfio_platform_regions_init() 158 vdev->regions[i].size = resource_size(res); in vfio_platform_regions_init() 159 vdev->regions[i].flags = 0; in vfio_platform_regions_init() 163 vdev->regions[i].type = VFIO_PLATFORM_REGION_TYPE_MMIO; in vfio_platform_regions_init() 164 vdev->regions[i].flags |= VFIO_REGION_INFO_FLAG_READ; in vfio_platform_regions_init() 166 vdev->regions[i].flags |= in vfio_platform_regions_init() 170 * Only regions addressed with PAGE granularity may be in vfio_platform_regions_init() 173 if (!(vdev->regions[i].addr & ~PAGE_MASK) && in vfio_platform_regions_init() [all …]
|
/Linux-v5.15/mm/ |
D | memblock.c | 35 * Memblock is a method of managing memory regions during the early 40 * regions. There are several types of these collections: 46 * * ``reserved`` - describes the regions that were allocated 54 * which contains an array of memory regions along with 62 * arrays during addition of new regions. This feature should be used 112 .memory.regions = memblock_memory_init_regions, 117 .reserved.regions = memblock_reserved_init_regions, 128 .regions = memblock_physmem_init_regions, 144 for (i = 0, rgn = &memblock_type->regions[0]; \ 146 i++, rgn = &memblock_type->regions[i]) [all …]
|
/Linux-v5.15/drivers/vfio/fsl-mc/ |
D | vfio_fsl_mc.c | 30 vdev->regions = kcalloc(count, sizeof(struct vfio_fsl_mc_region), in vfio_fsl_mc_open_device() 32 if (!vdev->regions) in vfio_fsl_mc_open_device() 36 struct resource *res = &mc_dev->regions[i]; in vfio_fsl_mc_open_device() 39 vdev->regions[i].addr = res->start; in vfio_fsl_mc_open_device() 40 vdev->regions[i].size = resource_size(res); in vfio_fsl_mc_open_device() 41 vdev->regions[i].type = mc_dev->regions[i].flags & IORESOURCE_BITS; in vfio_fsl_mc_open_device() 43 * Only regions addressed with PAGE granularity may be in vfio_fsl_mc_open_device() 46 if (!no_mmap && !(vdev->regions[i].addr & ~PAGE_MASK) && in vfio_fsl_mc_open_device() 47 !(vdev->regions[i].size & ~PAGE_MASK)) in vfio_fsl_mc_open_device() 48 vdev->regions[i].flags |= in vfio_fsl_mc_open_device() [all …]
|
/Linux-v5.15/drivers/net/dsa/sja1105/ |
D | sja1105_devlink.c | 7 /* Since devlink regions have a fixed size and the static config has a variable 85 priv->regions = kcalloc(num_regions, sizeof(struct devlink_region *), in sja1105_setup_devlink_regions() 87 if (!priv->regions) in sja1105_setup_devlink_regions() 97 dsa_devlink_region_destroy(priv->regions[i]); in sja1105_setup_devlink_regions() 101 priv->regions[i] = region; in sja1105_setup_devlink_regions() 113 dsa_devlink_region_destroy(priv->regions[i]); in sja1105_teardown_devlink_regions() 115 kfree(priv->regions); in sja1105_teardown_devlink_regions()
|
/Linux-v5.15/drivers/net/ipa/ |
D | ipa_mem.c | 23 /* "Canary" value placed between memory regions to detect overflow */ 61 * Set up the shared memory regions in IPA local memory. This involves 62 * zero-filling memory regions, and in the case of header memory, telling 66 * crashes, its regions are re-zeroed in ipa_mem_zero_modem(). 85 * the processing context and modem memory regions. in ipa_mem_setup() 244 DECLARE_BITMAP(regions, IPA_MEM_COUNT) = { }; in ipa_mem_valid() 250 dev_err(dev, "too many memory regions (%u > %u)\n", in ipa_mem_valid() 258 if (__test_and_set_bit(mem->id, regions)) { in ipa_mem_valid() 263 /* Defined regions have non-zero size and/or canary count */ in ipa_mem_valid() 268 /* Now see if any required regions are not defined */ in ipa_mem_valid() [all …]
|
D | ipa_mem.h | 15 * The IPA has a block of shared memory, divided into regions used for 18 * The regions within the shared block are bounded by an offset (relative to 26 * defined in the config data, allowing for generic handling of regions. 28 * The set of memory regions is defined in configuration data. They are 67 /* The next 5 filter and route statistics regions are optional */ 75 IPA_MEM_COUNT, /* Number of regions (not an index) */
|
/Linux-v5.15/include/linux/ |
D | damon.h | 45 * @nr_regions: Number of monitoring target regions of this target. 46 * @regions_list: Head of the monitoring target regions of this target. 69 * @prepare_access_checks: Prepare next access check of target regions. 70 * @check_accesses: Check the accesses to target regions. 85 * this could be used to construct proper monitoring target regions and link 88 * this could be used to update monitoring target regions for current status. 89 * @prepare_access_checks should manipulate the monitoring regions to be 94 * of its update. The value will be used for regions adjustment threshold. 154 * memory regions need update (e.g., by ``mmap()`` calls from the application, 182 * @min_nr_regions: The minimum number of adaptive monitoring regions. [all …]
|
D | kcsan.h | 27 * We distinguish between: (a) nestable atomic regions that may contain 28 * other nestable regions; and (b) flat atomic regions that do not keep 35 * atomic regions, but reader critical sections as (b) flat atomic 36 * regions, but have encountered cases where seqlock reader critical
|
/Linux-v5.15/Documentation/devicetree/bindings/fpga/ |
D | fpga-region.txt | 18 FPGA Regions represent FPGA's and partial reconfiguration regions of FPGA's in 19 the Device Tree. FPGA Regions provide a way to program FPGAs under device tree 55 * A persona may create more regions. 65 will be used to gate the busses. Traffic to other regions is not affected. 69 * An FPGA image may create a set of reprogrammable regions, each having its 79 * A base image may set up a set of partial reconfiguration regions that may 99 Figure 1: An FPGA set up with a base image that created three regions. Each 124 FPGA Regions represent FPGA's and FPGA PR regions in the device tree. An FPGA 151 These FPGA regions are children of FPGA bridges which are then children of the 160 FPGA Regions do not inherit their ancestor FPGA regions' bridges. This prevents [all …]
|
/Linux-v5.15/drivers/gpu/drm/i915/gem/selftests/ |
D | i915_gem_dmabuf.c | 91 struct intel_memory_region *lmem = i915->mm.regions[INTEL_REGION_LMEM]; in igt_dmabuf_import_same_driver_lmem() 144 struct intel_memory_region **regions, in igt_dmabuf_import_same_driver() argument 158 regions, num_regions); in igt_dmabuf_import_same_driver() 202 if (obj->mm.region != i915->mm.regions[INTEL_REGION_SMEM]) { in igt_dmabuf_import_same_driver() 245 struct intel_memory_region *smem = i915->mm.regions[INTEL_REGION_SMEM]; in igt_dmabuf_import_same_driver_smem() 253 struct intel_memory_region *regions[2]; in igt_dmabuf_import_same_driver_lmem_smem() local 255 if (!i915->mm.regions[INTEL_REGION_LMEM]) in igt_dmabuf_import_same_driver_lmem_smem() 258 regions[0] = i915->mm.regions[INTEL_REGION_LMEM]; in igt_dmabuf_import_same_driver_lmem_smem() 259 regions[1] = i915->mm.regions[INTEL_REGION_SMEM]; in igt_dmabuf_import_same_driver_lmem_smem() 260 return igt_dmabuf_import_same_driver(i915, regions, 2); in igt_dmabuf_import_same_driver_lmem_smem()
|
/Linux-v5.15/drivers/virt/acrn/ |
D | mm.c | 20 struct vm_memory_region_batch *regions; in modify_region() local 23 regions = kzalloc(sizeof(*regions), GFP_KERNEL); in modify_region() 24 if (!regions) in modify_region() 27 regions->vmid = vm->vmid; in modify_region() 28 regions->regions_num = 1; in modify_region() 29 regions->regions_gpa = virt_to_phys(region); in modify_region() 31 ret = hcall_set_memory_regions(virt_to_phys(regions)); in modify_region() 36 kfree(regions); in modify_region() 261 "Failed to set regions, VM[%u]!\n", vm->vmid); in acrn_vm_ram_map()
|
/Linux-v5.15/arch/powerpc/platforms/powernv/ |
D | opal-fadump.c | 57 * Preserve memory only if kernel memory regions are registered in opal_fadump_dt_scan() 98 pr_debug("Boot memory regions count: %d\n", fdm->region_cnt); in opal_fadump_update_config() 102 * destination address of boot memory regions. in opal_fadump_update_config() 105 pr_debug("Destination address of boot memory regions: %#016llx\n", in opal_fadump_update_config() 128 pr_debug("Boot memory regions:\n"); in opal_fadump_get_config() 150 * boot memory regions are registered for MPIPL. In such in opal_fadump_get_config() 159 pr_warn("Not all memory regions were saved!!!\n"); in opal_fadump_get_config() 160 pr_warn(" Unsaved memory regions:\n"); in opal_fadump_get_config() 168 …pr_warn("If the unsaved regions only contain pages that are filtered out (eg. free/user pages), th… in opal_fadump_get_config() 169 pr_warn("WARNING: If the unsaved regions contain kernel pages, the vmcore will be corrupted.\n"); in opal_fadump_get_config() [all …]
|
/Linux-v5.15/Documentation/x86/ |
D | intel-iommu.rst | 30 PS2 emulation. The regions of memory used for these devices are marked 32 regions will fail. Hence BIOS uses RMRR to specify these regions along with 33 devices that need to access these regions. OS is expected to setup 34 unity mappings for these regions for these devices to access these regions.
|
/Linux-v5.15/arch/mips/include/asm/ |
D | yamon-dt.h | 38 * @regions: zero size terminated array of physical memory regions 41 * by YAMON in its environment and the @regions array. 46 const struct yamon_mem_region *regions);
|
/Linux-v5.15/Documentation/devicetree/bindings/reserved-memory/ |
D | reserved-memory.txt | 1 *** Reserved memory regions *** 6 normal use) memory regions. Such memory regions are usually designed for 21 Each child of the reserved-memory node specifies one or more regions of 41 - Specifies regions of memory that are 96 Regions in the /reserved-memory node may be referenced by other device 105 This example defines 4 contiguous regions for Linux kernel:
|
/Linux-v5.15/drivers/virt/nitro_enclaves/ |
D | ne_misc_dev.h | 20 * struct ne_mem_region - Entry in the enclave user space memory regions list. 21 * @mem_region_list_entry: Entry in the list of enclave memory regions. 44 * @max_mem_regions: The maximum number of memory regions that can be 46 * @mem_regions_list: Enclave user space memory regions list. 49 * @nr_mem_regions: Number of memory regions associated with the enclave.
|
/Linux-v5.15/drivers/soc/qcom/ |
D | smem.c | 41 * the partition and holds properties for the two internal memory regions. The 42 * two regions are cached and non-cached memory respectively. Each region 259 * @num_regions: number of @regions 260 * @regions: list of the memory regions defining the shared memory 275 struct smem_region regions[]; member 407 header = smem->regions[0].virt_base; in qcom_smem_alloc_global() 492 header = smem->regions[0].virt_base; in qcom_smem_get_global() 500 region = &smem->regions[i]; in qcom_smem_get_global() 640 header = __smem->regions[0].virt_base; in qcom_smem_get_free_space() 660 struct smem_region *region = &__smem->regions[i]; in qcom_smem_virt_to_phys() [all …]
|