Lines Matching full:regions

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])
160 regions[0].start = ALIGN(start, DAMON_MIN_REGION);
161 regions[0].end = ALIGN(first_gap.start, DAMON_MIN_REGION);
162 regions[1].start = ALIGN(first_gap.end, DAMON_MIN_REGION);
163 regions[1].end = ALIGN(second_gap.start, DAMON_MIN_REGION);
164 regions[2].start = ALIGN(second_gap.end, DAMON_MIN_REGION);
165 regions[2].end = ALIGN(prev->vm_end, DAMON_MIN_REGION);
171 * Get the three regions in the given target (task)
176 struct damon_addr_range regions[3])
186 rc = __damon_va_three_regions(mm, regions);
194 * Initialize the monitoring target regions for the given target (task)
200 * regions is wasteful. That said, because we can deal with small noises,
203 * high. The adaptive regions adjustment mechanism will further help to deal
210 * For the reason, we convert the complex mappings to three distinct regions
212 * between the three regions are the two biggest unmapped areas in the given
215 * Then, it constructs the three regions as below:
223 * region and the stack will be two biggest unmapped regions. Because these
225 * two biggest unmapped regions will be sufficient to make a trade-off.
230 * (other mmap()-ed regions and small unmapped regions)
240 struct damon_addr_range regions[3];
244 if (damon_va_three_regions(t, regions)) {
250 pr_debug("Failed to get three regions of %dth target\n", tidx);
255 sz += regions[i].end - regions[i].start;
261 /* Set the initial three regions of the target */
263 r = damon_new_region(regions[i].start, regions[i].end);
270 nr_pieces = (regions[i].end - regions[i].start) / sz;
281 /* the user may set the target regions as they want */
288 * Update regions for current memory mappings
406 * Functions for the access checking of the regions
722 /* Don't set the monitoring target regions for the entire mapping */