/Linux-v6.1/mm/damon/ |
D | vaddr-test.h | 37 * discontiguous regions which cover every mapped areas. However, the three 38 * regions should not include the two biggest unmapped areas in the original 40 * heap and the mmap()-ed regions, and 2) the mmap()-ed regions and stack. 47 * three regions and returns. For more detail, refer to the comment of 53 * mapped. To cover every mappings, the three regions should start with 10, 56 * unmapped areas, and thus it should be converted to three regions of 10-25, 62 struct damon_addr_range regions[3] = {0,}; in damon_test_three_regions_in_vmas() local 76 __damon_va_three_regions(&mm, regions); in damon_test_three_regions_in_vmas() 78 KUNIT_EXPECT_EQ(test, 10ul, regions[0].start); in damon_test_three_regions_in_vmas() 79 KUNIT_EXPECT_EQ(test, 25ul, regions[0].end); in damon_test_three_regions_in_vmas() [all …]
|
D | vaddr.c | 56 * Functions for the initial monitoring target regions construction 60 * Size-evenly split a region into 'nr_pieces' small regions 104 * Find three regions separated by two biggest unmapped regions 107 * regions an array of three address ranges that results will be saved 109 * This function receives an address space and finds three regions in it which 110 * separated by the two biggest unmapped regions in the space. Please refer to 117 struct damon_addr_range regions[3]) in __damon_va_three_regions() 158 regions[0].start = ALIGN(start, DAMON_MIN_REGION); in __damon_va_three_regions() 159 regions[0].end = ALIGN(first_gap.start, DAMON_MIN_REGION); in __damon_va_three_regions() 160 regions[1].start = ALIGN(first_gap.end, DAMON_MIN_REGION); in __damon_va_three_regions() [all …]
|
/Linux-v6.1/arch/powerpc/mm/nohash/ |
D | kaslr_booke.c | 24 struct regions { struct 39 struct regions __initdata regions; argument 114 if (regions.reserved_mem < 0) in overlaps_reserved_region() 118 for (subnode = fdt_first_subnode(fdt, regions.reserved_mem); in overlaps_reserved_region() 126 while (len >= (regions.reserved_mem_addr_cells + in overlaps_reserved_region() 127 regions.reserved_mem_size_cells)) { in overlaps_reserved_region() 129 if (regions.reserved_mem_addr_cells == 2) in overlaps_reserved_region() 132 reg += regions.reserved_mem_addr_cells; in overlaps_reserved_region() 133 len -= 4 * regions.reserved_mem_addr_cells; in overlaps_reserved_region() 136 if (regions.reserved_mem_size_cells == 2) in overlaps_reserved_region() [all …]
|
/Linux-v6.1/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-v6.1/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-v6.1/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-v6.1/mm/ |
D | memblock.c | 39 * Memblock is a method of managing memory regions during the early 44 * regions. There are several types of these collections: 50 * * ``reserved`` - describes the regions that were allocated 58 * which contains an array of memory regions along with 66 * arrays during addition of new regions. This feature should be used 116 .memory.regions = memblock_memory_init_regions, 121 .reserved.regions = memblock_reserved_init_regions, 132 .regions = memblock_physmem_init_regions, 148 for (i = 0, rgn = &memblock_type->regions[0]; \ 150 i++, rgn = &memblock_type->regions[i]) [all …]
|
/Linux-v6.1/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-v6.1/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-v6.1/drivers/virt/nitro_enclaves/ |
D | ne_misc_dev_test.c | 23 * regions = {} 34 * regions = {} 45 * regions = { 58 * regions = { 72 * regions = { 87 * regions = { 102 * regions = { 117 phys_contig_mem_regions.regions = kunit_kcalloc(test, MAX_PHYS_REGIONS, in ne_misc_dev_test_merge_phys_contig_memory_regions() 118 sizeof(*phys_contig_mem_regions.regions), in ne_misc_dev_test_merge_phys_contig_memory_regions() 120 KUNIT_ASSERT_TRUE(test, phys_contig_mem_regions.regions); in ne_misc_dev_test_merge_phys_contig_memory_regions() [all …]
|
/Linux-v6.1/include/linux/ |
D | damon.h | 47 * regions are merged into a new region, both @nr_accesses and @age of the new 48 * region are set as region size-weighted average of those of the two regions. 64 * @nr_regions: Number of monitoring target regions of this target. 65 * @regions_list: Head of the monitoring target regions of this target. 128 * For selecting regions within the quota, DAMON prioritizes current scheme's 129 * target memory regions using the &struct damon_operations->get_scheme_score. 184 * appropriate memory regions. Else, DAMON checks &metric of the system for at 204 * @nr_tried: Total number of regions that the scheme is tried to be applied. 205 * @sz_tried: Total size of regions that the scheme is tried to be applied. 206 * @nr_applied: Total number of regions that the scheme is applied. [all …]
|
/Linux-v6.1/Documentation/admin-guide/mm/damon/ |
D | lru_sort.rst | 31 DAMON_LRU_SORT finds hot pages (pages of memory regions that showing access 33 memory regions that showing no access for a time that longer than a 85 Access frequency threshold for hot memory regions identification in permil. 94 Time threshold for cold memory regions identification in microseconds. 179 Minimum number of monitoring regions. 181 The minimal number of monitoring regions of DAMON for the cold memory 190 Maximum number of monitoring regions. 192 The maximum number of monitoring regions of DAMON for the cold memory 225 Number of hot memory regions that tried to be LRU-sorted. 230 Total bytes of hot memory regions that tried to be LRU-sorted. [all …]
|
D | usage.rst | 77 │ │ │ │ │ │ │ regions/nr_regions 161 Please refer to :ref:`regions sysfs directory <sysfs_regions>` for detailed 163 regions. 183 of DAMON's monitoring regions (``min`` and ``max``, respectively), which 187 For more details about the intervals and monitoring regions range, please refer 201 (``regions``) exist. 209 targets/<N>/regions 214 monitoring target regions so that entire memory mappings of target processes 219 regions when ``fvaddr`` or ``paddr`` monitoring operations sets are being used 221 Therefore, users should set the monitoring target regions by themselves in the [all …]
|
D | reclaim.rst | 33 DAMON_RECLAIM finds memory regions that didn't accessed for specific time 36 out memory regions that didn't accessed longer time first. System 77 Time threshold for cold memory regions identification in microseconds. 173 Minimum number of monitoring regions. 175 The minimal number of monitoring regions of DAMON for the cold memory 183 Maximum number of monitoring regions. 185 The maximum number of monitoring regions of DAMON for the cold memory 196 against. That is, DAMON_RECLAIM will find cold memory regions in this region 205 against. That is, DAMON_RECLAIM will find cold memory regions in this region 219 Number of memory regions that tried to be reclaimed by DAMON_RECLAIM. [all …]
|
/Linux-v6.1/Documentation/mm/damon/ |
D | design.rst | 51 address regions is just wasteful. However, because DAMON can deal with some 52 level of noise using the adaptive regions adjustment mechanism, tracking every 58 distinct regions that cover every mapped area of the address space. The two 59 gaps between the three regions are the two biggest unmapped areas in the given 69 (small mmap()-ed regions and munmap()-ed regions) 98 ``update interval``, ``minimum number of regions``, and ``maximum number of 99 regions``. 139 overhead is controllable by setting the number of regions. DAMON allows users 140 to set the minimum and the maximum number of regions for the trade-off. 146 Adaptive Regions Adjustment [all …]
|
/Linux-v6.1/tools/testing/memblock/tests/ |
D | basic_api.c | 17 ASSERT_NE(memblock.memory.regions, NULL); in memblock_initialization_check() 22 ASSERT_NE(memblock.reserved.regions, NULL); in memblock_initialization_check() 37 * and size to the collection of available memory regions (memblock.memory). 45 rgn = &memblock.memory.regions[0]; in memblock_add_simple_check() 70 * NUMA node and memory flags to the collection of available memory regions. 78 rgn = &memblock.memory.regions[0]; in memblock_add_node_simple_check() 114 * available memory regions (memblock.memory). The total size and 121 rgn1 = &memblock.memory.regions[0]; in memblock_add_disjoint_check() 122 rgn2 = &memblock.memory.regions[1]; in memblock_add_disjoint_check() 167 * and has size of two regions minus their intersection. The total size of [all …]
|
D | alloc_nid_api.c | 55 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_try_nid_top_down_simple_check() 107 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_try_nid_top_down_end_misaligned_check() 158 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_try_nid_exact_address_generic_check() 210 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_try_nid_top_down_narrow_range_check() 296 * Expect a merge of both regions. Only the region size gets updated. 300 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_try_nid_min_reserved_generic_check() 348 * Expect a merge of regions. Only the region size gets updated. 352 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_try_nid_max_reserved_generic_check() 388 * there are two reserved regions at the borders, with a gap big enough to fit 405 struct memblock_region *rgn1 = &memblock.reserved.regions[1]; in alloc_try_nid_top_down_reserved_with_space_check() [all …]
|
D | alloc_api.c | 26 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_top_down_simple_check() 73 struct memblock_region *rgn1 = &memblock.reserved.regions[1]; in alloc_top_down_disjoint_check() 74 struct memblock_region *rgn2 = &memblock.reserved.regions[0]; in alloc_top_down_disjoint_check() 121 * Expect a merge of both regions. Only the region size gets updated. 125 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_top_down_before_check() 163 * Expect a merge of both regions. Both the base address and size of the region 168 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_top_down_after_check() 204 * A test that tries to allocate memory when there are two reserved regions with 217 struct memblock_region *rgn = &memblock.reserved.regions[0]; in alloc_top_down_second_fit_check() 254 * A test that tries to allocate memory when there are two reserved regions with [all …]
|
/Linux-v6.1/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-v6.1/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() 99 kfree(priv->regions); in sja1105_setup_devlink_regions() 103 priv->regions[i] = region; in sja1105_setup_devlink_regions() 115 dsa_devlink_region_destroy(priv->regions[i]); in sja1105_teardown_devlink_regions() 117 kfree(priv->regions); in sja1105_teardown_devlink_regions()
|
/Linux-v6.1/Documentation/ABI/testing/ |
D | sysfs-kernel-mm-damon | 89 monitoring regions of the DAMON context as the value. Reading 96 monitoring regions of the DAMON context as the value. Reading 113 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/nr_regions 118 context named '0' to 'N-1' under the regions/ directory. In 123 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/start 129 What: /sys/kernel/mm/damon/admin/kdamonds/<K>/contexts/<C>/targets/<T>/regions/<R>/end 152 size of the scheme's target regions in bytes. 158 size of the scheme's target regions in bytes. 164 'nr_accesses' of the scheme's target regions. 170 'nr_accesses' of the scheme's target regions. [all …]
|
/Linux-v6.1/drivers/perf/ |
D | marvell_cn10k_tad_pmu.c | 32 struct tad_region *regions; member 53 new += readq(tad_pmu->regions[i].base + in tad_pmu_event_counter_read() 71 writeq_relaxed(0, tad_pmu->regions[i].base + in tad_pmu_event_counter_stop() 92 writeq_relaxed(0, tad_pmu->regions[i].base + in tad_pmu_event_counter_start() 100 writeq_relaxed(reg_val, tad_pmu->regions[i].base + in tad_pmu_event_counter_start() 258 struct tad_region *regions; in tad_pmu_probe() local 299 regions = devm_kcalloc(&pdev->dev, tad_cnt, in tad_pmu_probe() 300 sizeof(*regions), GFP_KERNEL); in tad_pmu_probe() 301 if (!regions) in tad_pmu_probe() 304 /* ioremap the distributed TAD pmu regions */ in tad_pmu_probe() [all …]
|
/Linux-v6.1/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(). 86 * the processing context and modem memory regions. in ipa_mem_setup() 247 DECLARE_BITMAP(regions, IPA_MEM_COUNT) = { }; in ipa_mem_valid() 253 dev_err(dev, "too many memory regions (%u > %u)\n", in ipa_mem_valid() 261 if (__test_and_set_bit(mem->id, regions)) { in ipa_mem_valid() 266 /* Defined regions have non-zero size and/or canary count */ in ipa_mem_valid() 271 /* Now see if any required regions are not defined */ in ipa_mem_valid() [all …]
|
/Linux-v6.1/drivers/soc/qcom/ |
D | smem.c | 42 * the partition and holds properties for the two internal memory regions. The 43 * two regions are cached and non-cached memory respectively. Each region 272 * @num_regions: number of @regions 273 * @regions: list of the memory regions defining the shared memory 287 struct smem_region regions[]; member 430 header = smem->regions[0].virt_base; in qcom_smem_alloc_global() 517 header = smem->regions[0].virt_base; in qcom_smem_get_global() 525 region = &smem->regions[i]; in qcom_smem_get_global() 713 header = __smem->regions[0].virt_base; in qcom_smem_get_free_space() 716 if (ret > __smem->regions[0].size) in qcom_smem_get_free_space() [all …]
|
/Linux-v6.1/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 …]
|