Lines Matching full:monitoring

39  * struct damon_region - Represents a monitoring target region.
59 * for it before getting the access monitoring results.
79 * struct damon_target - Represents a monitoring target.
81 * @nr_regions: Number of monitoring target regions of this target.
82 * @regions_list: Head of the monitoring target regions of this target.
85 * Each monitoring context could have multiple targets. For example, a context
88 * virtual address spaces monitoring operations.
98 * enum damos_action - Represents an action of a Data Access Monitoring-based
157 * &weight_nr_accesses, and &weight_age, because monitoring operations are
226 * means DAMON does monitoring and applying the action of the scheme to
266 * @DAMOS_FILTER_TYPE_TARGET: Data Access Monitoring target.
334 * struct damos - Represents a Data Access Monitoring-based Operation Scheme.
352 * monitoring context are inactive, DAMON stops monitoring either, and just
382 * enum damon_ops_id - Identifier for each monitoring operations implementation
384 * @DAMON_OPS_VADDR: Monitoring operations for virtual address spaces
385 * @DAMON_OPS_FVADDR: Monitoring operations for only fixed ranges of virtual
387 * @DAMON_OPS_PADDR: Monitoring operations for the physical address space
388 * @NR_DAMON_OPS: Number of monitoring operations implementations
400 * struct damon_operations - Monitoring operations for given use cases.
407 * @reset_aggregated: Reset aggregated accesses monitoring results.
415 * space and usecase via the &damon_ctx.ops. Then, the monitoring thread
417 * the monitoring, @update after each &damon_attrs.ops_update_interval, and
425 * this could be used to construct proper monitoring target regions and link
428 * this could be used to update monitoring target regions for current status.
429 * @prepare_access_checks should manipulate the monitoring regions to be
435 * @reset_aggregated should reset the access monitoring results that aggregated
444 * monitoring.
465 * struct damon_callback - Monitoring events notification callbacks.
467 * @before_start: Called before starting the monitoring.
472 * @before_terminate: Called before terminating the monitoring.
475 * The monitoring thread (&damon_ctx.kdamond) calls @before_start and
476 * @before_terminate just before starting and finishing the monitoring,
480 * The monitoring thread calls @after_wmarks_check after each DAMON-based
482 * attributes of the monitoring context while it's deactivated due to the
485 * The monitoring thread calls @after_sampling and @after_aggregation for each
487 * Therefore, users can safely access the monitoring results without additional
491 * If any callback returns non-zero, monitoring stops.
508 * struct damon_attrs - Monitoring attributes for accuracy/overhead control.
512 * @ops_update_interval: The time between monitoring operations updates.
513 * @min_nr_regions: The minimum number of adaptive monitoring
515 * @max_nr_regions: The maximum number of adaptive monitoring
523 * ``mmap()`` calls from the application, in case of virtual memory monitoring)
537 * struct damon_ctx - Represents a context for each monitoring. This is the
539 * of the monitoring.
541 * @attrs: Monitoring attributes for accuracy/overhead control.
542 * @kdamond: Kernel thread who does the monitoring.
545 * For each monitoring context, one kernel thread for the monitoring is
548 * Once started, the monitoring thread runs until explicitly required to be
549 * terminated or every monitoring target is invalid. The validity of the
553 * know whether the monitoring is ongoing or terminated by reading @kdamond.
554 * Reads and writes to @kdamond from outside of the monitoring thread must
557 * Note that the monitoring thread protects only @kdamond via @kdamond_lock.
560 * @ops: Set of monitoring operations for given use cases.
561 * @callback: Set of callbacks for monitoring events notifications.
563 * @adaptive_targets: Head of monitoring targets (&damon_target) list.